Go to the documentation of this file.00001 #ifndef acsexmplPowerSupplyImpl_h
00002 #define acsexmplPowerSupplyImpl_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
00037
00038
00039 #ifndef __cplusplus
00040 #error This is a C++ include file and cannot be used from plain C
00041 #endif
00042
00044 #include <baciCharacteristicComponentImpl.h>
00045 #include <acsexmplExport.h>
00046
00048 #include <acsexmplPowerSupplyS.h>
00049
00051 #include <baciROdouble.h>
00052 #include <baciRWdouble.h>
00053 #include <baciROpattern.h>
00054
00056 #include <baciSmartPropertyPointer.h>
00057
00058 #include "acsexmplPowerSupplyCurrentImpl.h"
00059
00066 #define ON_ACTION 0
00067 #define OFF_ACTION 1
00068 #define RESET_ACTION 2
00069
00071
00076
00138 class acsexmpl_EXPORT PowerSupply: public baci::CharacteristicComponentImpl,
00139 public virtual POA_PS::PowerSupply,
00140 public baci::ActionImplementator
00141 {
00142 public:
00149 PowerSupply(
00150 const ACE_CString &name,
00151 maci::ContainerServices * containerServices);
00152
00156 virtual ~PowerSupply();
00157
00158
00179 virtual baci::ActionRequest
00180 invokeAction (int function,
00181 baci::BACIComponent *component_p,
00182 const int &callbackID,
00183 const CBDescIn &descIn,
00184 baci::BACIValue *value_p,
00185 Completion &completion,
00186 CBDescOut &descOut);
00187
00210 virtual baci::ActionRequest
00211 onAction (baci::BACIComponent *component_p,
00212 const int &callbackID,
00213 const CBDescIn &descIn,
00214 baci::BACIValue *value_p,
00215 Completion &completion,
00216 CBDescOut &descOut);
00217
00240 virtual baci::ActionRequest
00241 offAction (baci::BACIComponent *component_p,
00242 const int &callbackID,
00243 const CBDescIn &descIn,
00244 baci::BACIValue *value_p,
00245 Completion &completion,
00246 CBDescOut &descOut);
00247
00270 virtual baci::ActionRequest
00271 resetAction (baci::BACIComponent *component_p,
00272 const int &callbackID,
00273 const CBDescIn &descIn,
00274 baci::BACIValue *value_p,
00275 Completion &completion,
00276 CBDescOut &descOut);
00277
00278
00292 virtual void
00293 on (ACS::CBvoid_ptr cb,
00294 const ACS::CBDescIn &desc);
00295
00309 virtual void
00310 off (ACS::CBvoid_ptr cb,
00311 const ACS::CBDescIn &desc);
00312
00326 virtual void
00327 reset (ACS::CBvoid_ptr cb,
00328 const ACS::CBDescIn &desc);
00329
00338 virtual ACS::RWdouble_ptr
00339 current ();
00340
00349 virtual ACS::ROdouble_ptr
00350 readback ();
00351
00360 virtual ACS::ROpattern_ptr
00361 status ();
00362
00363
00377 virtual void execute();
00378
00379 protected:
00383 baci::SmartPropertyPointer<baci::ROpattern> m_status_sp;
00384
00385
00386 private:
00390 baci::SmartPropertyPointer<baci::ROdouble> m_readback_sp;
00391
00395 baci::SmartPropertyPointer<PowerSupplyCurrent> m_current_sp;
00396
00400 void operator=(const PowerSupply&);
00401 };
00402
00403
00404
00405 #endif
00406
00407
00408