#include <acsexmplSlowMountImpl.h>
Public Member Functions | |
SlowMount (ACE_CString name, maci::ContainerServices *containerServices) | |
virtual | ~SlowMount () |
virtual baci::ActionRequest | invokeAction (int function, baci::BACIComponent *component_p, const int &callbackID, const CBDescIn &descIn, baci::BACIValue *value_p, Completion &completion, CBDescOut &descOut) |
virtual baci::ActionRequest | obstarAction (baci::BACIComponent *component_p, const int &callbackID, const CBDescIn &descIn, baci::BACIValue *value_p, Completion &completion, CBDescOut &descOut) |
virtual baci::ActionRequest | objfixAction (baci::BACIComponent *component_p, const int &callbackID, const CBDescIn &descIn, baci::BACIValue *value_p, Completion &completion, CBDescOut &descOut) |
virtual void | obstar (CORBA::Double ra, CORBA::Double dec, CORBA::Double pmRa, CORBA::Double pmDec, CORBA::Double radVel, CORBA::Double par, MOUNT_ACS::Mount::coordType type, ACS::CBvoid_ptr callBack, const ACS::CBDescIn &desc) |
virtual void | objfix (CORBA::Double az, CORBA::Double elev, ACS::CBvoid_ptr callBack, const ACS::CBDescIn &desc) |
virtual ACS::ROdouble_ptr | cmdAz () |
virtual ACS::ROdouble_ptr | cmdEl () |
virtual ACS::ROdouble_ptr | actAz () |
virtual ACS::ROdouble_ptr | actEl () |
Private Types | |
typedef baci::ActionRequest(SlowMount::* | ActionFunction )(baci::BACIComponent *component_p, const int &callbackID, const CBDescIn &descIn, baci::BACIValue *value_p, Completion &completion, CBDescOut &descOut) |
Private Member Functions | |
void | operator= (const SlowMount &) |
Private Attributes | |
ActionFunction | m_actions [2] |
baci::SmartPropertyPointer < baci::ROdouble > | m_cmdAz_sp |
baci::SmartPropertyPointer < baci::ROdouble > | m_cmdEl_sp |
baci::SmartPropertyPointer < baci::ROdouble > | m_actAz_sp |
baci::SmartPropertyPointer < baci::ROdouble > | m_actEl_sp |
Similar to Mount, but simulate the movements of the antenna in a 30 secs time interval. The class Mount is a good example of a component and simulates the behaviour of an antenna interface. It provides two asynchronous methods: objstar and objfix. The methods only write the data into virtual properties instead of hardware. Asynchronous calls are implemented using the ...... pattern and the ..... support classes. For each xxx action defined in the IDL interface two methods are provided:
SlowMount::SlowMount | ( | ACE_CString | name, | |
maci::ContainerServices * | containerServices | |||
) |
Constructor
poa | Poa which will activate this and also all other components. | |
name | component's name. This is also the name that will be used to find the configuration data for the component in the Configuration Database. |