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