![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: momServices.h,v $ $Revision: 1.6 $ $State: Exp $ 00007 *********************************************************************/ 00008 #ifndef momServices_H_ 00009 #define momServices_H_ 00010 #ifdef DtMOM 00011 #ifdef DtIFSPEC13 00012 00016 00017 #include "rtiMsConfig.h" 00018 #include "momInters.h" 00019 00023 class DT_DLL_LRC DtMomServices 00024 { 00025 public: 00027 typedef DtMomServices* (*DtMomServicesCreator)(DtMomMgr* momMgrPtr); 00028 00029 protected: 00030 00032 DtMomServices(DtMomMgr* momMgrPtr); 00033 00034 public: 00035 00037 virtual ~DtMomServices(); 00038 00039 private: 00040 00042 DtMomServices(DtMomServices const& ); 00043 00045 DtMomServices& operator= (DtMomServices const& ); 00046 00047 public: 00048 00050 DtMomMgr* momMgr() const; 00051 00053 RTI::RTIambassador* rtiAmb() const; 00054 00056 virtual RTI::FederateAmbassador* fedAmb() const; 00057 00060 00061 virtual void changeAttributeOrderTypeInteraction( 00062 const DtChangeAttributeOrderTypeInteraction& interaction); 00063 virtual void changeAttributeTransportationTypeInteraction( 00064 const DtChangeAttributeTransportationTypeInteraction& interaction); 00065 virtual void changeInteractionOrderTypeInteraction( 00066 const DtChangeInteractionOrderTypeInteraction& interaction); 00067 virtual void changeInteractionTransportationTypeInteraction( 00068 const DtChangeInteractionTransportationTypeInteraction& interaction); 00069 virtual void deleteObjectInstanceInteraction( 00070 const DtDeleteObjectInstanceInteraction& interaction); 00071 virtual void disableAsynchronousDeliveryInteraction( 00072 const DtDisableAsynchronousDeliveryInteraction& interaction); 00073 virtual void disableTimeConstrainedInteraction( 00074 const DtDisableTimeConstrainedInteraction& interaction); 00075 virtual void disableTimeRegulationInteraction( 00076 const DtDisableTimeRegulationInteraction& interaction); 00077 virtual void enableAsynchronousDeliveryInteraction( 00078 const DtEnableAsynchronousDeliveryInteraction& interaction); 00079 virtual void enableTimeConstrainedInteraction( 00080 const DtEnableTimeConstrainedInteraction& interaction); 00081 virtual void enableTimeRegulationInteraction( 00082 const DtEnableTimeRegulationInteraction& interaction); 00083 virtual void federateRestoreCompleteInteraction( 00084 const DtFederateRestoreCompleteInteraction& interaction); 00085 virtual void federateSaveBegunInteraction( 00086 const DtFederateSaveBegunInteraction& interaction); 00087 virtual void federateSaveCompleteInteraction( 00088 const DtFederateSaveCompleteInteraction& interaction); 00089 virtual void flushQueueRequestInteraction( 00090 const DtFlushQueueRequestInteraction& interaction); 00091 virtual void localDeleteObjectInstanceInteraction( 00092 const DtLocalDeleteObjectInstanceInteraction& interaction); 00093 virtual void modifyLookaheadInteraction( 00094 const DtModifyLookaheadInteraction& interaction); 00095 virtual void nextEventRequestInteraction( 00096 const DtNextEventRequestInteraction& interaction); 00097 virtual void nextEventRequestAvailableInteraction( 00098 const DtNextEventRequestAvailableInteraction& interaction); 00099 virtual void publishInteractionClassInteraction( 00100 const DtPublishInteractionClassInteraction& interaction); 00101 virtual void publishObjectClassInteraction( 00102 const DtPublishObjectClassInteraction& interaction); 00103 virtual void subscribeInteractionClassInteraction( 00104 const DtSubscribeInteractionClassInteraction& interaction); 00105 virtual void subscribeObjectClassAttributesInteraction( 00106 const DtSubscribeObjectClassAttributesInteraction& interaction); 00107 virtual void synchronizationPointAchievedInteraction( 00108 const DtSynchronizationPointAchievedInteraction& interaction); 00109 virtual void timeAdvanceRequestInteraction( 00110 const DtTimeAdvanceRequestInteraction& interaction); 00111 virtual void timeAdvanceRequestAvailableInteraction( 00112 const DtTimeAdvanceRequestAvailableInteraction& interaction); 00113 virtual void unconditionalAttributeOwnershipDivestitureInteraction( 00114 const DtUnconditionalAttributeOwnershipDivestitureInteraction& interaction); 00115 virtual void unpublishInteractionClassInteraction( 00116 const DtUnpublishInteractionClassInteraction& interaction); 00117 virtual void unpublishObjectClassInteraction( 00118 const DtUnpublishObjectClassInteraction& interaction); 00119 virtual void unsubscribeInteractionClassInteraction( 00120 const DtUnsubscribeInteractionClassInteraction& interaction); 00121 virtual void unsubscribeObjectClassInteraction( 00122 const DtUnsubscribeObjectClassInteraction& interaction); 00124 00125 public: 00126 00130 static DtMomServices* create(DtMomMgr* momMgrPtr); 00131 00134 static void setCreatorFunction(DtMomServicesCreator fn); 00135 00136 protected: 00137 00139 DtMomMgr* myMomMgr; 00140 00142 std::auto_ptr < RTI::FedTime > myTime; 00143 00145 std::auto_ptr < RTI::FedTime > myInterval; 00146 00147 protected: 00149 static DtMomServicesCreator theCreator; 00150 }; 00151 00152 #endif //! !DtIFSPEC1516 00153 #endif //! DtMOM 00154 #endif //! momServices_H_