#include <acsexmplLampImpl.h>
Public Member Functions | |
Lamp (const ACE_CString &name, maci::ContainerServices *containerServices) | |
virtual | ~Lamp () |
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 | onAction (baci::BACIComponent *cob_p, const int &callbackID, const CBDescIn &descIn, baci::BACIValue *value_p, Completion &completion, CBDescOut &descOut) |
virtual baci::ActionRequest | offAction (baci::BACIComponent *cob_p, const int &callbackID, const CBDescIn &descIn, baci::BACIValue *value_p, Completion &completion, CBDescOut &descOut) |
virtual void | on (ACS::CBvoid_ptr cb, const ACS::CBDescIn &desc) |
virtual void | off (ACS::CBvoid_ptr cb, const ACS::CBDescIn &desc) |
virtual ACS::RWdouble_ptr | brightness () |
Private Member Functions | |
void | operator= (const Lamp &) |
Private Attributes | |
baci::SmartPropertyPointer < baci::RWdouble > | m_brightness_sp |
Simple component with asynchronous methods. This class Lamp simulates the behavior of a lamp. It provides two asynchronous methods: on and off. It also provides the property brightness. Lastly, it implements timeout negotiation between client and servant for the two methods. Asynchronous calls are implemented using the ...... pattern and the ..... support classes. For each xxx action defined in the IDL interface two methods are provided:
Lamp::Lamp | ( | const ACE_CString & | name, | |
maci::ContainerServices * | containerServices | |||
) |
Constructor
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. | |
containerServices | The pointer to the ContainerServices |