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