ALMA Computing Group
Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes

RampedPowerSupply Class Reference
[ACS Components Examples]

Simulates the behavior of a ramped power supply by inheriting from Power Supply's IDL interface and C++ implementation. More...

#include <acsexmplRampedPowerSupplyImpl.h>

Inheritance diagram for RampedPowerSupply:
Inheritance graph
[legend]
Collaboration diagram for RampedPowerSupply:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 RampedPowerSupply (const ACE_CString &name, maci::ContainerServices *containerServices)
 Constructor.
 ~RampedPowerSupply ()
 Destructor.
virtual baci::ActionRequest invokeAction (int function, baci::BACIComponent *component_p, const int &callbackID, const CBDescIn &descIn, baci::BACIValue *value_p, Completion &completion, CBDescOut &descOut)
 Action dispatcher function This function is called whenever an asynchronous request has to be handled.
virtual baci::ActionRequest startRampingAction (baci::BACIComponent *component_p, const int &callbackID, const CBDescIn &descIn, baci::BACIValue *value_p, Completion &completion, CBDescOut &descOut)
 Implementation of async.
virtual baci::ActionRequest stopRampingAction (baci::BACIComponent *component_p, const int &callbackID, const CBDescIn &descIn, baci::BACIValue *value_p, Completion &completion, CBDescOut &descOut)
 Implementation of async.
virtual void startRamping (CORBA::Long rampingSteps, ACS::CBvoid_ptr cb, const ACS::CBDescIn &desc)
 Starts ramping the power supply.
virtual void stopRamping (ACS::CBvoid_ptr cb, const ACS::CBDescIn &desc)
 Stops ramping the power supply.
virtual ACS::RWstring_ptr rampingStatus ()
 Returns a reference to the rampingStatus property (status).
virtual ACS::ROlong_ptr rampingStep ()
 Returns a reference to the rampingStep property.

Static Public Attributes

static const int START_RAMPING = 3
 One of these function IDs will be passed to invokeAction().
static const int STOP_RAMPING = 4

Private Member Functions

void operator= (const RampedPowerSupply &)
 ALMA C++ coding standards state copy operators should be disabled.

Private Attributes

baci::SmartPropertyPointer
< baci::ROlong > 
m_rampingStep_sp
 m_rampingStep_p is the RampedPowerSupply's present step in the ramping process.
DevIO< CORBA::Long > * m_rampingStep_devio_p
 m_rampingStep_devio_p is the DevIO subclass passed to the RampingStep property when it is created.
baci::SmartPropertyPointer
< baci::RWstring > 
m_rampingStatus_sp
 m_rampingStatus_p is the RampedPowerSupply's status in the ramping process.

Detailed Description

Simulates the behavior of a ramped power supply by inheriting from Power Supply's IDL interface and C++ implementation.

The class RampedPowerSupply simulates the behaviour of a ramped power supply and is derived from the PowerSupply IDL interface. This class shows how to utilize inheritance in both the C++ and IDL class/interface.

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.

Author:
Matej Sekoranja, Jozef Stefan Institute, Slovenia
Version:
"@(#) $Id: acsexmplRampedPowerSupplyImpl.h,v 1.101 2008/10/01 04:30:47 cparedes Exp $"

Definition at line 129 of file acsexmplRampedPowerSupplyImpl.h.


Constructor & Destructor Documentation

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

Constructor.

Parameters:
poa poa which will activate this and also all other components
name component name

Definition at line 44 of file acsexmplRampedPowerSupplyImpl.cpp.


The documentation for this class was generated from the following files: