00001
#ifndef acsexmplSlowMountImpl_h
00002
#define acsexmplSlowMountImpl_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
#ifndef __cplusplus
00032
#error This is a C++ include file and cannot be used from plain C
00033
#endif
00034
00036
#include <baciCharacteristicComponentImpl.h>
00037
#include <acsexmplExport.h>
00038
00040
#include <acsexmplMountS.h>
00041
00043
#include <baciROdouble.h>
00044
00046
#include <baciSmartPropertyPointer.h>
00047
00107 class acsexmpl_EXPORT SlowMount:
public baci::CharacteristicComponentImpl,
00108
public virtual POA_MOUNT_ACS::
Mount,
00109
public baci::ActionImplementator
00110 {
00111
public:
00118 SlowMount(
00119 ACE_CString name,
00120
maci::ContainerServices * containerServices);
00121
00125
virtual ~SlowMount();
00126
00127
00151
virtual baci::ActionRequest
00152
invokeAction (
int function,
00153
baci::BACIComponent *component_p,
00154
const int &callbackID,
00155
const CBDescIn &descIn,
00156
baci::BACIValue *value_p,
00157
Completion &completion,
00158
CBDescOut &descOut);
00159
00182
virtual baci::ActionRequest
00183
obstarAction (
baci::BACIComponent *component_p,
00184
const int &callbackID,
00185
const CBDescIn &descIn,
00186
baci::BACIValue *value_p,
00187
Completion &completion,
00188
CBDescOut &descOut);
00189
00212
virtual baci::ActionRequest
00213
objfixAction (
baci::BACIComponent *component_p,
00214
const int &callbackID,
00215
const CBDescIn &descIn,
00216
baci::BACIValue *value_p,
00217
Completion &completion,
00218
CBDescOut &descOut);
00219
00220
00245
virtual void
00246
obstar (CORBA::Double ra,
00247 CORBA::Double dec,
00248 CORBA::Double pmRa,
00249 CORBA::Double pmDec,
00250 CORBA::Double radVel,
00251 CORBA::Double par,
00252 MOUNT_ACS::Mount::coordType type,
00253 ACS::CBvoid_ptr callBack,
00254
const ACS::CBDescIn &desc);
00255
00275
virtual void
00276
objfix (CORBA::Double az,
00277 CORBA::Double elev,
00278 ACS::CBvoid_ptr callBack,
00279
const ACS::CBDescIn &desc);
00280
00289
virtual ACS::ROdouble_ptr
00290
cmdAz ();
00291
00300
virtual ACS::ROdouble_ptr
00301
cmdEl ();
00302
00311
virtual ACS::ROdouble_ptr
00312
actAz ();
00313
00322
virtual ACS::ROdouble_ptr
00323
actEl ();
00324
00325
private:
00349 typedef baci::ActionRequest (SlowMount::*
ActionFunction)(
baci::BACIComponent *component_p,
00350
const int &callbackID,
00351
const CBDescIn &descIn,
00352
baci::BACIValue *value_p,
00353
Completion &completion,
00354
CBDescOut &descOut);
00355
00361 ActionFunction m_actions[2];
00362
00366 baci::SmartPropertyPointer<baci::ROdouble> m_cmdAz_sp;
00367
00371 baci::SmartPropertyPointer<baci::ROdouble> m_cmdEl_sp;
00372
00376 baci::SmartPropertyPointer<baci::ROdouble> m_actAz_sp;
00377
00381 baci::SmartPropertyPointer<baci::ROdouble> m_actEl_sp;
00382
00386
void operator=(
const SlowMount&);
00387 };
00388
00389
00390
00391
#endif