SlowMount

NAME
SYNOPSIS
Detailed Description
Constructor & Destructor Documentation
Author

NAME

SlowMount −

SYNOPSIS

#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

Detailed Description

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:

Constructor & Destructor Documentation

SlowMount::SlowMount (ACE_CString name, maci::ContainerServices * containerServices) Constructor

Parameters:

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.

Author

Generated automatically by Doxygen for ACS-2015.2 C++ API from the source code.