Door − |
#include <acsexmplDoorImpl.h> Inherits baci::CharacteristicComponentImpl, and baci::ActionImplementator. |
Public Member Functions |
Door (const ACE_CString &name, maci::ContainerServices *containerServices) |
virtual ~Door () |
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 openAction (baci::BACIComponent *component_p, const int &callbackID, const CBDescIn &descIn, baci::BACIValue *value_p, Completion &completion, CBDescOut &descOut) |
virtual baci::ActionRequest closeAction (baci::BACIComponent *component_p, const int &callbackID, const CBDescIn &descIn, baci::BACIValue *value_p, Completion &completion, CBDescOut &descOut) |
virtual void open (ACS::CBvoid_ptr cb, const ACS::CBDescIn &desc) |
virtual void close (ACS::CBvoid_ptr cb, const ACS::CBDescIn &desc) |
virtual void move (CORBA::Double pos) |
virtual ACS::ROdouble_ptr position () |
virtual ACS::RWdouble_ptr ref_position () |
virtual ACS::ROlong_ptr substate () |
virtual ACS::ROstring_ptr version () |
virtual void execute () |
Private Member Functions |
virtual void checkSubstate (CompletionImpl *&error_p) |
void operator= (const Door &) |
Private Attributes |
baci::SmartPropertyPointer< baci::RWdouble > m_ref_position_sp |
baci::SmartPropertyPointer< baci::ROdouble > m_position_sp |
baci::SmartPropertyPointer< baci::ROlong > m_substate_sp |
baci::SmartPropertyPointer< baci::ROstring > m_version_sp |
DoorThread * m_doorThread_p |
Friends |
void DoorThread::runLoop () |
Door is a simple component that utilizes just about every ACS API. This class implements an example device ’Door’. It provides both synchronous (move(...)) and asynchronous methods (open() and close()). A control loop thread simulates the door’s movements. Error and exception handling have been included. Asynchronous calls are implemented using the callback pattern via a support class. 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 Door::invokeAction method is called by the asynchronous dispatcher whenever there is a xxx pending action and it calls the corresponding xxxAction method. |
Version: |
void DoorThread::runLoop () [friend] |
Generated automatically by Doxygen for ACS-2015.2 C++ API from the source code. |