Lamp

NAME
SYNOPSIS
Detailed Description
Constructor & Destructor Documentation
Author

NAME

Lamp −

SYNOPSIS

#include <acsexmplLampImpl.h>

Inherits baci::CharacteristicComponentImpl, and baci::ActionImplementator.

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

Detailed Description

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:

xxx() just registers the action and installs the callback

xxxAction() performs (asyncronously) the action and invokes the callback when finished. The Lamp::invokeAction method is called by the asynchronous dispatcher whenever there is an xxx pending action and it calls the xxxAction corresponding method.

Author:

Matej Sekoranja, Jozef Stefan Institute, Slovenia

Version:

Constructor & Destructor Documentation

Lamp::Lamp (const ACE_CString & name, maci::ContainerServices * containerServices) Constructor

Parameters:

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

Author

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