![]() |
MAK RTIspy API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 1998 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: simpFedMgr.h,v $ $Revision: 1.26 $ $State: Exp $ 00007 *********************************************************************/ 00008 00009 #ifndef simpFedMgr_H_ 00010 #define simpFedMgr_H_ 00011 00014 00015 #include "rtiMsConfig.h" 00016 #include "fedMgr.h" 00017 #include <vlutil/vlString.h> 00018 00029 class DT_DLL_LRC DtSimpleFederateMgr : public DtFederateMgr 00030 { 00031 public: 00032 00034 DtSimpleFederateMgr(DtRIDParameters* params, 00035 DtRtiAmbassadorBaseImplementor* ambImplPtr, 00036 DtConnectionMgr* connMgr, 00037 DtBoost::shared_ptr<DtRtiAssistantLrcClient> assistantClient); 00038 00040 virtual ~DtSimpleFederateMgr(); 00041 00042 private: 00043 00045 DtSimpleFederateMgr(DtFederateMgr const& ); 00046 00048 DtSimpleFederateMgr& operator= (DtSimpleFederateMgr const& ); 00049 00050 public: 00051 00054 00055 00057 virtual void createFederationExecution( 00058 const char* executionName, const char* timeImplName, 00059 #ifdef DtIFSPEC1516E 00060 const std::vector<DtString>& fomModules, 00061 const char* mimModule); 00062 #else 00063 const char* fed); 00064 #endif 00065 00067 virtual void destroyFederationExecution ( 00068 const char* executionName); 00069 00070 #ifdef DtIFSPEC1516E 00071 00072 virtual void listFederationExecutions(); 00073 #endif 00074 00076 #ifdef DtIFSPEC1516 00077 virtual rti1516::FederateHandle joinFederationExecution ( 00078 const char* federateType, 00079 const char* executionName, 00080 rti1516::FederateAmbassador* federateAmbassadorReference, 00081 unsigned long flags); 00082 #elif defined(DtIFSPEC1516E) 00083 virtual rti1516e::FederateHandle joinFederationExecution ( 00084 const char* federateName, 00085 const char* federateType, 00086 const char* executionName, 00087 const std::vector<DtString>& fomModules, 00088 unsigned long flags); 00089 #else 00090 virtual RTI::FederateHandle joinFederationExecution ( 00091 const char* federateType, 00092 const char* executionName, 00093 RTI::FederateAmbassador* federateAmbassadorReference, 00094 unsigned long flags); 00095 #endif 00096 00098 #ifdef DtIFSPEC1516 00099 virtual void resignFederationExecution( 00100 rti1516::ResignAction theAction); 00101 #elif defined(DtIFSPEC1516E) 00102 virtual void resignFederationExecution( 00103 rti1516e::ResignAction theAction); 00104 #else 00105 virtual void resignFederationExecution( 00106 RTI::ResignAction theAction); 00107 #endif 00108 00109 00112 00113 00115 #ifdef DtIFSPEC1516 00116 virtual void registerFederationSynchronizationPoint( 00117 char const * label, 00118 rti1516::VariableLengthData const & theTag); 00119 #elif defined(DtIFSPEC1516E) 00120 virtual void registerFederationSynchronizationPoint( 00121 char const * label, 00122 rti1516e::VariableLengthData const & theTag); 00123 #else 00124 virtual void registerFederationSynchronizationPoint( 00125 char const * label, 00126 char const * theTag); 00127 #endif 00128 00130 #ifdef DtIFSPEC1516 00131 virtual void registerFederationSynchronizationPoint( 00132 char const * label, 00133 rti1516::VariableLengthData const & theTag, 00134 DtFederateHandleSet const & syncSet); 00135 #elif defined(DtIFSPEC1516E) 00136 virtual void registerFederationSynchronizationPoint( 00137 char const * label, 00138 rti1516e::VariableLengthData const & theTag, 00139 DtFederateHandleSet const & syncSet); 00140 #else 00141 virtual void registerFederationSynchronizationPoint( 00142 char const * label, 00143 char const * theTag, 00144 DtFederateHandleSet const & syncSet); 00145 #endif 00146 00148 virtual void synchronizationPointAchieved( 00149 const char* label, bool successfully=true); 00151 00153 virtual void testSaveProgress(); 00154 00157 00158 00159 #ifdef DtIFSPEC1516 00160 00161 virtual void requestFederationSave (char const * label, 00162 rti1516::LogicalTime const * time=NULL); 00164 virtual void queryFederationSaveStatus(); 00166 virtual void queryFederationRestoreStatus(); 00167 #elif defined(DtIFSPEC1516E) 00168 00169 virtual void requestFederationSave (char const * label, 00170 rti1516e::LogicalTime const * time=NULL); 00172 virtual void queryFederationSaveStatus(); 00174 virtual void queryFederationRestoreStatus(); 00176 virtual void abortFederationSave(); 00178 virtual void abortFederationRestore(); 00179 #else 00180 00181 virtual void requestFederationSave (char const * label, 00182 RTI::FedTime const * time=NULL); 00183 #endif 00184 00185 virtual void federateSaveBegun (); 00187 virtual void federateSaveComplete (); 00189 virtual void federateSaveNotComplete (); 00191 virtual void requestFederationRestore ( const char *label); 00193 virtual void federateRestoreComplete (); 00195 virtual void federateRestoreNotComplete (); 00197 00198 public: 00199 00201 static DtFederateMgr* create(DtRIDParameters* params, 00202 DtRtiAmbassadorBaseImplementor* ambImplPtr, 00203 DtConnectionMgr* connMgr, 00204 DtBoost::shared_ptr<DtRtiAssistantLrcClient> assistantClient); 00205 }; 00206 00207 #endif 00208 00209 00210 00211 00212 00213 00214