Go to the documentation of this file.00001 #ifndef acsexmplLampImpl_h
00002 #define acsexmplLampImpl_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 #ifndef __cplusplus
00039 #error This is a C++ include file and cannot be used from plain C
00040 #endif
00041
00042 #include <baciCharacteristicComponentImpl.h>
00043 #include <acsexmplLampS.h>
00044
00045 #include <baciRWdouble.h>
00046
00048 #include <baciSmartPropertyPointer.h>
00049
00055
00060
00111 class Lamp: public baci::CharacteristicComponentImpl,
00112 public virtual POA_acsexmplLamp::Lamp,
00113 public baci::ActionImplementator
00114 {
00115 public:
00123 Lamp(
00124 const ACE_CString& name,
00125 maci::ContainerServices * containerServices);
00126
00130 virtual ~Lamp();
00131
00132
00156 virtual baci::ActionRequest
00157 invokeAction (int function,
00158 baci::BACIComponent *cob_p,
00159 const int &callbackID,
00160 const CBDescIn &descIn,
00161 baci::BACIValue *value_p,
00162 Completion &completion,
00163 CBDescOut &descOut);
00164
00187 virtual baci::ActionRequest
00188 onAction (baci::BACIComponent *cob_p,
00189 const int &callbackID,
00190 const CBDescIn &descIn,
00191 baci::BACIValue *value_p,
00192 Completion &completion,
00193 CBDescOut &descOut);
00194
00217 virtual baci::ActionRequest
00218 offAction (baci::BACIComponent *cob_p,
00219 const int &callbackID,
00220 const CBDescIn &descIn,
00221 baci::BACIValue *value_p,
00222 Completion &completion,
00223 CBDescOut &descOut);
00224
00225
00226
00241 virtual void
00242 on (ACS::CBvoid_ptr cb,
00243 const ACS::CBDescIn &desc);
00244
00259 virtual void
00260 off (ACS::CBvoid_ptr cb,
00261 const ACS::CBDescIn &desc);
00262
00270 virtual ACS::RWdouble_ptr
00271 brightness ();
00272
00273 private:
00277 baci::SmartPropertyPointer<baci::RWdouble> m_brightness_sp;
00278
00282 void operator=(const Lamp&);
00283
00284 };
00285
00286
00287
00288 #endif
00289
00290
00291