00001 #ifndef acsexmplRampedPowerSupplyImpl_h
00002 #define acsexmplRampedPowerSupplyImpl_h
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #ifndef __cplusplus
00037 #error This is a C++ include file and cannot be used from plain C
00038 #endif
00039
00040 #include <acsexmplExport.h>
00041
00043 #include "acsexmplPowerSupplyImpl.h"
00044
00046 #include <acsexmplRampedPowerSupplyS.h>
00047
00049 #include <baciROlong.h>
00050 #include <baciRWstring.h>
00051
00053 #include "acsexmplLongDevIO.h"
00054
00056 #include <baciSmartPropertyPointer.h>
00057
00058 using namespace baci;
00059
00066 #define START_RAMPING 3
00067 #define STOP_RAMPING 4
00068
00069
00126 class acsexmpl_EXPORT RampedPowerSupply: public PowerSupply,
00127 public virtual POA_RampedPS::RampedPowerSupply
00128 {
00129 public:
00135 RampedPowerSupply (
00136 const ACE_CString &name,
00137 maci::ContainerServices * containerServices);
00138
00142 ~RampedPowerSupply();
00143
00144
00165 virtual ActionRequest
00166 invokeAction (int function,
00167 BACIComponent *component_p,
00168 const int &callbackID,
00169 const CBDescIn &descIn,
00170 BACIValue *value_p,
00171 Completion &completion,
00172 CBDescOut &descOut);
00173
00196 virtual ActionRequest
00197 startRampingAction (BACIComponent *component_p,
00198 const int &callbackID,
00199 const CBDescIn &descIn,
00200 BACIValue *value_p,
00201 Completion &completion,
00202 CBDescOut &descOut);
00225 virtual ActionRequest
00226 stopRampingAction (BACIComponent *component_p,
00227 const int &callbackID,
00228 const CBDescIn &descIn,
00229 BACIValue *value_p,
00230 Completion &completion,
00231 CBDescOut &descOut);
00232
00233
00247 virtual void
00248 startRamping (CORBA::Long rampingSteps,
00249 ACS::CBvoid_ptr cb,
00250 const ACS::CBDescIn &desc)
00251 throw (CORBA::SystemException);
00252
00266 virtual void
00267 stopRamping (ACS::CBvoid_ptr cb,
00268 const ACS::CBDescIn &desc)
00269 throw (CORBA::SystemException);
00270
00279 virtual ACS::RWstring_ptr
00280 rampingStatus ()
00281 throw (CORBA::SystemException);
00282
00291 virtual ACS::ROlong_ptr
00292 rampingStep ()
00293 throw (CORBA::SystemException);
00294
00295 private:
00299 SmartPropertyPointer<ROlong> m_rampingStep_sp;
00300
00307 DevIO<CORBA::Long> *m_rampingStep_devio_p;
00308
00312 SmartPropertyPointer<RWstring> m_rampingStatus_sp;
00313
00317 void operator=(const RampedPowerSupply&);
00318 };
00319
00320 #endif
00321
00322
00323