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