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
00050 using namespace baci;
00051
00102 class Lamp: public CharacteristicComponentImpl,
00103 public virtual POA_acsexmplLamp::Lamp,
00104 public ActionImplementator
00105 {
00106 public:
00114 Lamp(
00115 const ACE_CString& name,
00116 maci::ContainerServices * containerServices);
00117
00121 virtual ~Lamp();
00122
00123
00147 virtual ActionRequest
00148 invokeAction (int function,
00149 BACIComponent *cob_p,
00150 const int &callbackID,
00151 const CBDescIn &descIn,
00152 BACIValue *value_p,
00153 Completion &completion,
00154 CBDescOut &descOut);
00155
00178 virtual ActionRequest
00179 onAction (BACIComponent *cob_p,
00180 const int &callbackID,
00181 const CBDescIn &descIn,
00182 BACIValue *value_p,
00183 Completion &completion,
00184 CBDescOut &descOut);
00185
00208 virtual ActionRequest
00209 offAction (BACIComponent *cob_p,
00210 const int &callbackID,
00211 const CBDescIn &descIn,
00212 BACIValue *value_p,
00213 Completion &completion,
00214 CBDescOut &descOut);
00215
00216
00217
00232 virtual void
00233 on (ACS::CBvoid_ptr cb,
00234 const ACS::CBDescIn &desc)
00235 throw (CORBA::SystemException);
00236
00251 virtual void
00252 off (ACS::CBvoid_ptr cb,
00253 const ACS::CBDescIn &desc)
00254 throw (CORBA::SystemException);
00255
00263 virtual ACS::RWdouble_ptr
00264 brightness ()
00265 throw (CORBA::SystemException);
00266
00267 private:
00271 SmartPropertyPointer<RWdouble> m_brightness_sp;
00272
00276 void operator=(const Lamp&);
00277
00278 };
00279
00280 #endif
00281
00282
00283