00001
#ifndef acsexmplMountImpl_h
00002
#define acsexmplMountImpl_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
00040
00041
#ifndef __cplusplus
00042
#error This is a C++ include file and cannot be used from plain C
00043
#endif
00044
00046
#include <baciCharacteristicComponentImpl.h>
00047
#include <acsexmplExport.h>
00048
00050
#include <acsexmplMountS.h>
00051
00053
#include <baciROdouble.h>
00054
00056
#include <baciSmartPropertyPointer.h>
00057
00063
00068
00121 class acsexmpl_EXPORT Mount:
public baci::CharacteristicComponentImpl,
00122
public virtual POA_MOUNT_ACS::Mount,
00123
public baci::ActionImplementator
00124 {
00125
public:
00133
Mount(
00134 ACE_CString name,
00135
maci::ContainerServices * containerServices);
00136
00140
virtual ~Mount();
00141
00142
00166
virtual baci::ActionRequest
00167
invokeAction (
int function,
00168
baci::BACIComponent *component_p,
00169
const int &callbackID,
00170
const CBDescIn &descIn,
00171
baci::BACIValue *value_p,
00172
Completion &completion,
00173
CBDescOut &descOut);
00174
00197
virtual baci::ActionRequest
00198
obstarAction (
baci::BACIComponent *component_p,
00199
const int &callbackID,
00200
const CBDescIn &descIn,
00201
baci::BACIValue *value_p,
00202
Completion &completion,
00203
CBDescOut &descOut);
00204
00227
virtual baci::ActionRequest
00228
objfixAction (
baci::BACIComponent *component_p,
00229
const int &callbackID,
00230
const CBDescIn &descIn,
00231
baci::BACIValue *value_p,
00232
Completion &completion,
00233
CBDescOut &descOut);
00234
00235
00260
virtual void
00261
obstar (CORBA::Double ra,
00262 CORBA::Double dec,
00263 CORBA::Double pmRa,
00264 CORBA::Double pmDec,
00265 CORBA::Double radVel,
00266 CORBA::Double par,
00267 MOUNT_ACS::Mount::coordType type,
00268 ACS::CBvoid_ptr callBack,
00269
const ACS::CBDescIn &desc);
00270
00290
virtual void
00291
objfix (CORBA::Double az,
00292 CORBA::Double elev,
00293 ACS::CBvoid_ptr callBack,
00294
const ACS::CBDescIn &desc);
00295
00304
virtual ACS::ROdouble_ptr
00305
cmdAz ();
00306
00315
virtual ACS::ROdouble_ptr
00316
cmdEl ();
00317
00326
virtual ACS::ROdouble_ptr
00327
actAz ();
00328
00337
virtual ACS::ROdouble_ptr
00338
actEl ();
00339
00340
private:
00364 typedef baci::ActionRequest (Mount::*
ActionFunction)(
baci::BACIComponent *component_p,
00365
const int &callbackID,
00366
const CBDescIn &descIn,
00367
baci::BACIValue *value_p,
00368
Completion &completion,
00369
CBDescOut &descOut);
00370
00376 ActionFunction m_actions[2];
00377
00381 baci::SmartPropertyPointer<baci::ROdouble> m_cmdAz_sp;
00382
00386 baci::SmartPropertyPointer<baci::ROdouble> m_cmdEl_sp;
00387
00391 baci::SmartPropertyPointer<baci::ROdouble> m_actAz_sp;
00392
00396 baci::SmartPropertyPointer<baci::ROdouble> m_actEl_sp;
00397
00401
void operator=(
const Mount&);
00402 };
00403
00404
00405
00406
#endif