#include <acsexmplRampedPowerSupplyImpl.h>
Inheritance diagram for RampedPowerSupply:
Public Member Functions | |
RampedPowerSupply (const ACE_CString &name, maci::ContainerServices *containerServices) | |
~RampedPowerSupply () | |
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 | startRampingAction (baci::BACIComponent *component_p, const int &callbackID, const CBDescIn &descIn, baci::BACIValue *value_p, Completion &completion, CBDescOut &descOut) |
virtual baci::ActionRequest | stopRampingAction (baci::BACIComponent *component_p, const int &callbackID, const CBDescIn &descIn, baci::BACIValue *value_p, Completion &completion, CBDescOut &descOut) |
virtual void | startRamping (CORBA::Long rampingSteps, ACS::CBvoid_ptr cb, const ACS::CBDescIn &desc) |
virtual void | stopRamping (ACS::CBvoid_ptr cb, const ACS::CBDescIn &desc) |
virtual ACS::RWstring_ptr | rampingStatus () |
virtual ACS::ROlong_ptr | rampingStep () |
Static Public Attributes | |
const int | START_RAMPING = 3 |
const int | STOP_RAMPING = 4 |
Private Member Functions | |
void | operator= (const RampedPowerSupply &) |
Private Attributes | |
baci::SmartPropertyPointer< baci::ROlong > | m_rampingStep_sp |
DevIO< CORBA::Long > * | m_rampingStep_devio_p |
baci::SmartPropertyPointer< baci::RWstring > | m_rampingStatus_sp |
Asynchronous calls are implemented using the ...... pattern and the ..... support classes. For each xxx action defined in the IDL interface two methods are provided:
Class RampedPowerSupply also provides the properties rampingStatus and rampingSteps in addition to anything inherited from PowerSupply.
|
Constructor
|
|
Destructor |
|
Action dispatcher function This function is called whenever an asynchronous request has to be handled. It receives (as parameters) the description of the function and selects the proper implementation to call.
Reimplemented from PowerSupply.
|
|
ALMA C++ coding standards state copy operators should be disabled. |
|
Returns a reference to the rampingStatus property (status). Implementation of IDL interface for the property.
|
|
Returns a reference to the rampingStep property. Implementation of IDL interface for the property.
|
|
Starts ramping the power supply. Implementation of IDL startRamping() interface. This method just registers the request in the asyncronous queue, together with the associated callback and returns control immediatly. The actual action will be invoked asyncronously by the asynchonous call manager by calling RampedPowerSupply::startRampingAction The given callback is used to inform the caller when the action is performed.
|
|
Implementation of async. startRamping() method This is the function that actually starts ramping and, when completed, invokes the callback installed by the client when it requested the action.
|
|
Stops ramping the power supply. Implementation of IDL stopRamping() interface. This method just registers the request in the asyncronous queue, together with the associated callback and returns control immediatly. The actual action will be invoked asyncronously by the asynchonous call manager by calling RampedPowerSupply::stopAction The given callback is used to inform the caller when the action is performed.
|
|
Implementation of async. stopRamping() method This is the function that actually stops ramping and, when completed, invokes the callback installed by the client when it requested the action.
|
|
m_rampingStatus_p is the RampedPowerSupply's status in the ramping process. |
|
m_rampingStep_devio_p is the DevIO subclass passed to the RampingStep property when it is created. Essentially the DevIO is used to interact with hardware directly without tying ACS to any specific hardware drivers resulting in added flexibility. Please see acsexmplLongDevIO.h to understand exactly how this is accomplished. |
|
m_rampingStep_p is the RampedPowerSupply's present step in the ramping process. |
|
One of these function IDs will be passed to invokeAction(). |
|
|