Go to the documentation of this file.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
00064
00069
00129 class acsexmpl_EXPORT RampedPowerSupply: public PowerSupply,
00130 public virtual POA_RampedPS::RampedPowerSupply
00131 {
00132 public:
00138 RampedPowerSupply (
00139 const ACE_CString &name,
00140 maci::ContainerServices * containerServices);
00141
00145 ~RampedPowerSupply();
00146
00150 const static int START_RAMPING=3;
00151 const static int STOP_RAMPING=4;
00152
00153
00174 virtual baci::ActionRequest
00175 invokeAction (int function,
00176 baci::BACIComponent *component_p,
00177 const int &callbackID,
00178 const CBDescIn &descIn,
00179 baci::BACIValue *value_p,
00180 Completion &completion,
00181 CBDescOut &descOut);
00182
00205 virtual baci::ActionRequest
00206 startRampingAction (baci::BACIComponent *component_p,
00207 const int &callbackID,
00208 const CBDescIn &descIn,
00209 baci::BACIValue *value_p,
00210 Completion &completion,
00211 CBDescOut &descOut);
00234 virtual baci::ActionRequest
00235 stopRampingAction (baci::BACIComponent *component_p,
00236 const int &callbackID,
00237 const CBDescIn &descIn,
00238 baci::BACIValue *value_p,
00239 Completion &completion,
00240 CBDescOut &descOut);
00241
00242
00256 virtual void
00257 startRamping (CORBA::Long rampingSteps,
00258 ACS::CBvoid_ptr cb,
00259 const ACS::CBDescIn &desc);
00260
00274 virtual void
00275 stopRamping (ACS::CBvoid_ptr cb,
00276 const ACS::CBDescIn &desc);
00277
00286 virtual ACS::RWstring_ptr
00287 rampingStatus ();
00288
00297 virtual ACS::ROlong_ptr
00298 rampingStep ();
00299
00300 private:
00304 baci::SmartPropertyPointer<baci::ROlong> m_rampingStep_sp;
00305
00312 DevIO<CORBA::Long> *m_rampingStep_devio_p;
00313
00317 baci::SmartPropertyPointer<baci::RWstring> m_rampingStatus_sp;
00318
00322 void operator=(const RampedPowerSupply&);
00323 };
00324
00325
00326
00327 #endif
00328
00329
00330