LampWheel − |
#include <acsexmplLampWheelImpl.h> Inherits baci::CharacteristicComponentImpl, and baci::ActionImplementator. |
Public Member Functions |
LampWheel (const ACE_CString &name, maci::ContainerServices *containerServices) |
virtual ~LampWheel () |
virtual void initialize () |
virtual void execute () |
virtual void cleanUp () |
virtual void aboutToAbort () |
virtual baci::ActionRequest invokeAction (int function, baci::BACIComponent *cob_p, const int &callbackID, const CBDescIn &descIn, baci::BACIValue *value_p, Completion &completion, CBDescOut &descOut) |
virtual baci::ActionRequest moveAction (baci::BACIComponent *cob_p, const int &callbackID, const CBDescIn &descIn, baci::BACIValue *value_p, Completion &completion, CBDescOut &descOut) |
virtual void move (CORBA::Short, ACS::CBvoid_ptr, const ACS::CBDescIn &) |
virtual ACS::ROdouble_ptr position () |
virtual ACS::ROstring_ptr desc () |
virtual ACS::ROlong_ptr slots () |
Private Member Functions |
void operator= (const LampWheel &) |
int retrieveConfigurationFromCDB (std::list< SlotDescriptor > &config) |
Static Private Member Functions |
static void start_hndl (void *data, const XML_Char *el, const XML_Char **attr) |
static void end_hndl (void *data, const XML_Char *el) |
static void char_hndl (void *data, const XML_Char *s, int len) |
Private Attributes |
ACE_CString m_fullName |
baci::SmartPropertyPointer< baci::ROdouble > m_position_sp |
baci::SmartPropertyPointer< baci::ROstring > m_desc_sp |
baci::SmartPropertyPointer< baci::ROlong > m_slots_sp |
std::list< SlotDescriptor > m_lampWheelConfiguration |
The class LampWheel class simulates the behavior of a very simple lamp wheel using an asynchronous method to rotate it. The component reads the wheel data from the CDB. The lamp wheel is caracterized by a description, a number of available slots and a description of the used slots. All these data reside on the CDB. In particular, the number of defined slots is not defined a priori but is retrieved by parsing the CDB record for the component. At startup, the component read the description of the wheel from the CDB and stores the configuration into a list. The move method moves the wheel to the position defined for the passed slot number. The position is read from the list (i.e. from the CDB). A log message inform the user about the selected lamp. Author: |
Alessandro Caproni, |
Version: |
LampWheel::LampWheel (const 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. |