Go to the documentation of this file.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