SlowMount − |
#include <acsexmplSlowMountImpl.h> Inherits baci::CharacteristicComponentImpl, and baci::ActionImplementator. |
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: |
• |
xxx() just registers the action and installs the callback |
||
• |
xxxAction() performs (asyncronously) the action and invokes the callback when finished. The Mount::invokeAction method is called by the asynchronous dispatcher whenever there is an xxx pending action and it calls the xxxAction corresponding method. Also, invokeAction calls these methods by simply using a function pointer (ActionFunction) instead of specifying each method. |
Version: |
SlowMount::SlowMount (ACE_CString name, maci::ContainerServices * containerServices) Constructor |
Parameters: |
poa Poa which will activate this and also all
other components. |
Generated automatically by Doxygen for ACS-2015.2 C++ API from the source code. |