![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 /******************************************************************************* 00002 ** Copyright (c) 1998 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: fedMgr.h,v $ $Revision: 1.96 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00009 #ifndef fedMgr_H_ 00010 #define fedMgr_H_ 00011 00014 00015 #include <mtl/fedReader.h> 00016 #include <vlutil/vlPrint.h> 00017 #include <vlutil/vlTime.h> 00018 #include <vlutil/vlString.h> 00019 #include <vlutil/vlList.h> 00020 #include <vlutil/vlSmartPointers.h> 00021 #include <list> 00022 #include "resignMsg.h" 00023 #include "resignDirectiveMsg.h" 00024 #include "RIDparams.h" 00025 00026 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E) 00027 #include "RTI/RTIambassador.h" 00028 #include "RTI/LogicalTimeFactory.h" 00029 #include "RTI/Enums.h" 00030 #else 00031 #ifdef DtIFSPEC13DLC 00032 #include "RTI13.h" 00033 #define RTI rti13 00034 #else 00035 #include "RTI.hh" 00036 #endif 00037 #endif 00038 00039 class DtRtiSaveFile; 00040 class DtFomClassMgr; 00041 class DtRIDParameters; 00042 class DtObjectMgr; 00043 class DtInteractionMgr; 00044 class DtTimeMgr; 00045 class DtDataDistMgr; 00046 class DtMomMgr; 00047 class DtFederateHandleSet; 00048 class DtLogicalTimeFactory; 00049 class DtResignMsg; 00050 class DtSaveInitiateMsg; 00051 class DtSaveResponseMsg; 00052 class DtSaveFinishedMsg; 00053 class DtRestoreReplyMsg; 00054 class DtRestoreInitiateMsg; 00055 class DtRestoreEndMsg; 00056 class DtRestoreMsg; 00057 class DtFederateMgr; 00058 class DtFedAmbWrapper; 00059 class DtRtiAssistantLrcClient; 00060 class DtAssistantExitMsg; 00061 class DtAssistantLogEnableMsg; 00062 class DtRtiAmbassadorBaseImplementor; 00063 class DtTestManager; 00064 class DtTestMgrFedAmbWrapper; 00065 class DtEnableDisableNetworkTestingMsg; 00066 class DtLatencyReportMsg; 00067 class DtTestMgrStatusMsg; 00068 class DtAssistantFederateSignalTickIntervalMsg; 00069 00081 00082 class DT_DLL_LRC DtFederateMgr 00083 { 00084 public: 00086 typedef DtFederateMgr* (*DtFederateMgrCreator)( 00087 DtRIDParameters* ridParams, 00088 DtRtiAmbassadorBaseImplementor* ambImplPtr, 00089 DtConnectionMgr* connMgr, 00090 DtBoost::shared_ptr<DtRtiAssistantLrcClient> assistantClient); 00091 00092 protected: 00093 00095 DtFederateMgr( 00096 DtRIDParameters* params, 00097 DtRtiAmbassadorBaseImplementor* ambImplPtr, 00098 DtConnectionMgr* connMgr, 00099 DtBoost::shared_ptr<DtRtiAssistantLrcClient> assistantClient); 00100 00101 public: 00102 00104 virtual ~DtFederateMgr(); 00105 00106 private: 00107 00109 DtFederateMgr(DtFederateMgr const& ); 00110 00112 DtFederateMgr& operator= (DtFederateMgr const& ); 00113 00114 public: 00115 00117 virtual void createFederationExecution( 00118 const char* executionName, const char* timeImplName, 00119 #ifdef DtIFSPEC1516E 00120 const std::vector<DtString>& fomModules, 00121 const char* mimModule) = 0; 00122 #else 00123 const char* fed) = 0; 00124 #endif 00125 00127 virtual void destroyFederationExecution ( 00128 const char* executionName) = 0; 00129 00130 #ifdef DtIFSPEC1516E 00131 00132 virtual void listFederationExecutions() = 0; 00133 #endif 00134 00136 #ifdef DtIFSPEC1516 00137 virtual rti1516::FederateHandle joinFederationExecution( 00138 const char* federateType, 00139 const char* federationExecutionName, 00140 rti1516::FederateAmbassador* federateAmbassador, 00141 unsigned long flags) = 0; 00142 #elif defined(DtIFSPEC1516E) 00143 virtual rti1516e::FederateHandle joinFederationExecution( 00144 const char* federateName, 00145 const char* federateType, 00146 const char* federationExecutionName, 00147 const std::vector<DtString>& fomModules, 00148 unsigned long flags) = 0; 00149 #else 00150 virtual RTI::FederateHandle joinFederationExecution ( 00151 const char* yourName, 00152 const char* executionName, 00153 RTI::FederateAmbassador* federateAmbassadorReference, 00154 unsigned long flags) = 0; 00155 #endif 00156 00158 #ifdef DtIFSPEC1516 00159 virtual void resignFederationExecution( 00160 rti1516::ResignAction theAction); 00161 #elif defined(DtIFSPEC1516E) 00162 virtual void resignFederationExecution( 00163 rti1516e::ResignAction theAction); 00164 #else 00165 virtual void resignFederationExecution( 00166 RTI::ResignAction theAction); 00167 #endif 00168 00170 #ifdef DtIFSPEC1516 00171 virtual void registerFederationSynchronizationPoint( 00172 const char* label, 00173 rti1516::VariableLengthData const & theTag) = 0; 00174 #elif defined(DtIFSPEC1516E) 00175 virtual void registerFederationSynchronizationPoint( 00176 const char* label, 00177 rti1516e::VariableLengthData const & theTag) = 0; 00178 #else 00179 virtual void registerFederationSynchronizationPoint( 00180 const char* label, 00181 const char* theTag) = 0; 00182 #endif 00183 00185 #ifdef DtIFSPEC1516 00186 virtual void registerFederationSynchronizationPoint( 00187 const char* label, 00188 rti1516::VariableLengthData const & theTag, 00189 DtFederateHandleSet const& syncSet) = 0; 00190 #elif defined(DtIFSPEC1516E) 00191 virtual void registerFederationSynchronizationPoint( 00192 const char* label, 00193 rti1516e::VariableLengthData const & theTag, 00194 DtFederateHandleSet const& syncSet) = 0; 00195 #else 00196 virtual void registerFederationSynchronizationPoint( 00197 const char* label, 00198 const char* theTag, 00199 DtFederateHandleSet const& syncSet) = 0; 00200 #endif 00201 00203 virtual void synchronizationPointAchieved(const char* label, bool successfully=true) = 0; 00204 00208 virtual MAKRti::DtString fedFileName(MAKRti::DtString execName); 00209 00213 virtual MAKRti::DtString timeImplName(MAKRti::DtString execName); 00214 00216 virtual void init(); 00217 00219 00220 #ifdef DtIFSPEC1516 00221 virtual void setTopLevelAmbassador(rti1516::RTIambassador* ambPtr); 00222 #elif defined(DtIFSPEC1516E) 00223 virtual void setTopLevelAmbassador(rti1516e::RTIambassador* ambPtr, 00224 rti1516e::FederateAmbassador* federateAmbassador); 00225 #else 00226 virtual void setTopLevelAmbassador(RTI::RTIambassador* ambPtr); 00227 #endif 00228 00229 00231 virtual bool tick(); 00232 virtual void pretick(); 00233 virtual void posttick(); 00234 00235 #ifdef DtIFSPEC1516 00236 00237 virtual void requestFederationSave ( const char *label, 00238 const rti1516::LogicalTime* time=NULL) =0; 00239 00241 virtual void queryFederationSaveStatus()=0; 00242 00244 virtual void queryFederationRestoreStatus()=0; 00245 #elif defined(DtIFSPEC1516E) 00246 00247 virtual void requestFederationSave ( const char *label, 00248 const rti1516e::LogicalTime* time=NULL) =0; 00249 00251 virtual void queryFederationSaveStatus()=0; 00252 00254 virtual void queryFederationRestoreStatus()=0; 00255 00257 virtual void abortFederationSave () =0; 00258 00260 virtual void abortFederationRestore () =0; 00261 #else 00262 00263 virtual void requestFederationSave ( const char *label, 00264 const RTI::FedTime* time=NULL) =0; 00265 #endif 00266 00268 virtual void federateSaveBegun () =0; 00269 00271 virtual void federateSaveComplete () =0; 00272 00274 virtual void federateSaveNotComplete () =0; 00275 00277 virtual void requestFederationRestore ( const char *label) =0; 00278 00280 virtual void federateRestoreComplete () =0; 00281 00283 virtual void federateRestoreNotComplete () =0; 00284 00286 virtual char* getTransportationName(MAKRti::DtTransportType transport); 00287 00289 virtual char* getOrderName(MAKRti::DtOrderType order); 00290 00292 virtual MAKRti::DtTransportType getTransportationHandle(MAKRti::DtString transport); 00293 00295 virtual MAKRti::DtOrderType getOrderHandle(MAKRti::DtString order); 00296 00298 virtual DtFederateHandle federateHandle() const; 00299 00301 virtual MAKRti::DtString const & fedType() const; 00302 00304 virtual MAKRti::DtString const & fedName() const; 00305 00307 virtual MAKRti::DtString const & fedExName() const; 00308 00310 virtual unsigned long fedExHandle() const; 00311 00313 virtual bool isJoined() const; 00314 00316 00317 #ifdef DtIFSPEC1516 00318 rti1516::RTIambassador* rtiAmb(); 00319 rti1516::RTIambassador* rtiAmb() const; 00320 #elif defined(DtIFSPEC1516E) 00321 rti1516e::RTIambassador* rtiAmb(); 00322 rti1516e::RTIambassador* rtiAmb() const; 00323 #else 00324 RTI::RTIambassador* rtiAmb(); 00325 RTI::RTIambassador* rtiAmb() const; 00326 #endif 00327 00328 00330 00331 #ifdef DtIFSPEC1516 00332 virtual rti1516::FederateAmbassador * federateAmbassador() const; 00333 #elif defined(DtIFSPEC1516E) 00334 virtual rti1516e::FederateAmbassador * federateAmbassador() const; 00335 #else 00336 virtual RTI::FederateAmbassador * federateAmbassador() const; 00337 #endif 00338 00339 00341 virtual DtConnectionMgr* connectMgr(); 00342 virtual DtConnectionMgr* connectMgr() const; 00343 00345 virtual DtRIDParameters* params(); 00346 virtual DtRIDParameters* params() const; 00347 00349 virtual DtFomClassMgr* fom(); 00350 virtual DtFomClassMgr* fom() const; 00351 00353 virtual DtInteractionMgr* interMgr(); 00354 virtual DtInteractionMgr* interMgr() const; 00355 00357 virtual DtTestManager* testMgr(); 00358 virtual DtTestManager* testMgr() const; 00359 00361 virtual DtObjectMgr* objMgr(); 00362 virtual DtObjectMgr* objMgr() const; 00363 00364 #ifdef DtTIME 00365 00366 virtual DtTimeMgr* timeMgr(); 00367 virtual DtTimeMgr* timeMgr() const; 00368 #endif 00369 00371 virtual DtLogicalTimeFactory* timeFactory(); 00372 virtual DtLogicalTimeFactory* timeFactory() const; 00373 00374 #ifdef DtMOM 00375 00376 virtual DtMomMgr* momMgr(); 00377 virtual DtMomMgr* momMgr() const; 00378 #endif 00379 00380 #ifdef DDM 00381 00382 virtual DtDataDistMgr* ddmMgr(); 00383 virtual DtDataDistMgr* ddmMgr() const; 00384 #endif 00385 00387 virtual DtRtiAssistantLrcClient* assistantClient(); 00388 virtual DtRtiAssistantLrcClient* assistantClient() const; 00389 00391 virtual bool isJoinedFederate(DtFederateHandle federateHandleValue) const; 00392 00394 virtual bool saveInitiated() const; 00395 00397 virtual bool saveBegun() const; 00398 00400 virtual bool restoreRequested() const; 00401 00403 virtual bool restoreInitiated() const; 00404 00406 virtual bool restoreBegun() const; 00407 00409 virtual const MAKRti::DtString& restoreLabel() const; 00410 00412 virtual const MAKRti::DtString& lastRestoreLabel() const; 00413 00415 const MAKRti::DtString& currentFedFileName() const; 00416 void setCurrentFedFileName( const MAKRti::DtString& ); 00417 00419 const MAKRti::DtString& mimName() const; 00420 void setMimName( const MAKRti::DtString& ); 00421 00422 #ifdef DtIFSPEC1516E 00423 00424 void addFomModule( const MAKRti::DtString& name, char* buffer ); 00425 00427 const std::vector<std::wstring>& fomModuleNames() const; 00428 00430 void addJoinFomModuleNames(const std::vector<MAKRti::DtString>& moduleNames); 00431 const std::vector<std::wstring>& joinFomModuleNames() const; 00432 00435 const char* fomModuleData(MAKRti::DtU32 moduleIndicator) const; 00436 00439 const char* joinFomModuleData(MAKRti::DtU32 moduleIndicator) const; 00440 00442 const char* mimData() const; 00443 #endif 00444 00446 const MAKRti::DtString& currentTimeImplName() const; 00447 void setCurrentTimeImplName( const MAKRti::DtString& ); 00448 00450 virtual const MAKRti::DtString& saveLabel() const; 00451 virtual void setSaveLabel(const MAKRti::DtString& value); 00452 00454 virtual const MAKRti::DtString& lastSaveLabel() const; 00455 virtual void setLastSaveLabel(const MAKRti::DtString& value); 00456 00457 00459 virtual void testSaveProgress() = 0; 00460 00463 virtual void initiateSave(); 00464 00467 #ifdef DtIFSPEC1516 00468 virtual void initiateTimedSave(rti1516::LogicalTime const& saveTime); 00469 #elif defined(DtIFSPEC1516E) 00470 virtual void initiateTimedSave(rti1516e::LogicalTime const& saveTime); 00471 #else 00472 virtual void initiateTimedSave(RTI::FedTime const& saveTime); 00473 #endif 00474 00476 virtual bool save( DtRtiSaveFile& file ){ return true;}; 00477 00479 virtual bool restore( DtRtiSaveFile& file ){ return true;}; 00480 00486 virtual MAKRti::DtString& getSaveFileName(const char* label, 00487 DtFederateHandle fedHandle, MAKRti::DtString& fileName, 00488 bool extendName=true); 00489 00495 virtual MAKRti::DtString& getRestoreFileName(const char* label, 00496 DtFederateHandle fedHandle, MAKRti::DtString& fileName); 00497 00499 virtual unsigned long tickCount() const; 00500 00502 virtual bool isTicking() const; 00503 00505 virtual void reportLatencyTestResults( const DtLatencyReportMsg& msg ); 00506 00508 virtual void reportLatencyTestStatus( const DtTestMgrStatusMsg& msg ); 00509 00512 virtual void setWebServerConnected( bool connected ); 00513 00514 unsigned long flags() const; 00515 00516 DtResignAction automaticResignDirective() const; 00517 00518 #ifdef DtIFSPEC1516E 00519 virtual rti1516e::ResignAction getAutomaticResignDirective() const; 00520 00523 virtual void setAutomaticResignDirective( const rti1516e::ResignAction action ); 00524 00526 virtual const MAKRti::DtString& getFederateNameFromHandle( DtFederateHandle handle ); 00527 virtual DtFederateHandle getFederateHandleFromName( const MAKRti::DtString& name ); 00528 #endif 00529 00530 public: 00531 00538 static DtFederateMgr* create( 00539 DtRIDParameters* params, 00540 DtRtiAmbassadorBaseImplementor* ambImplPtr, 00541 DtConnectionMgr* connMgr, 00542 DtBoost::shared_ptr<DtRtiAssistantLrcClient> assistantClient); 00543 00546 static void setCreatorFunction(DtFederateMgrCreator fn); 00547 00552 static void setInternalCreatorFunction(DtFederateMgrCreator fn); 00553 00554 protected: 00555 00559 00560 00562 virtual void processResign(const DtResignMsg& msg); 00563 00565 virtual void processEnableDisableNetworkTesting( const DtEnableDisableNetworkTestingMsg& msg ); 00566 00568 virtual void processSaveInitiate(const DtSaveInitiateMsg& msg); 00569 00571 virtual void processSaveResponse(const DtSaveResponseMsg& msg); 00572 00574 virtual void processSaveFinished(const DtSaveFinishedMsg& msg); 00575 00577 virtual void processRestoreReply(const DtRestoreReplyMsg& msg); 00578 00580 virtual void processRestoreInitiate(const DtRestoreInitiateMsg& msg); 00581 00583 virtual void processRestoreEnd(const DtRestoreEndMsg& msg); 00584 00586 virtual void processRestore(const DtRestoreMsg& msg); 00588 00592 00593 00594 virtual void processAssistantResign(const DtAssistantExitMsg& msg); 00595 00597 virtual void processAssistantEnableLogging(const DtAssistantLogEnableMsg& msg); 00598 00599 virtual void processSignalTickInterval( const DtAssistantFederateSignalTickIntervalMsg& msg ); 00601 00602 #ifdef DtIFSPEC1516E 00603 00604 virtual void processResignDirective( const DtResignDirectiveMsg& msg ); 00605 #endif 00606 00608 virtual void sendAlive(); 00609 00611 virtual void sendResignMsg(const char* fedExName, 00612 DtFederateHandle fedHandle, DtResignAction action); 00613 00615 void sendTickedMsg(); 00616 00618 virtual void applyRidParameters(); 00619 00624 virtual MAKRti::DtFilename fedFileNameToUse(MAKRti::DtString fileName, MAKRti::DtString executionName ); 00625 00627 virtual void testReadFedFile(MAKRti::DtString fileName, MAKRti::DtString executionName); 00628 00631 virtual void readFedFile(MAKRti::DtString fileName, MAKRti::DtString executionName); 00632 00635 virtual void readFedFilePtr( const FILE* fp, 00636 const MAKRti::DtString& fileName, 00637 const MAKRti::DtString& executionName ); 00638 00641 virtual void addFedExNameMapping(const MAKRti::DtString& execName, 00642 const MAKRti::DtString& timeImplName, const MAKRti::DtString& fed); 00643 00644 virtual void addFomModuleNameMapping( const MAKRti::DtString executionName, 00645 const std::vector<MAKRti::DtString>& modules); 00646 00647 virtual void addFomModuleNameMapping( const MAKRti::DtString executionName, 00648 const MAKRti::DtString& modules ); 00649 00651 #ifdef DtIFSPEC1516 00652 virtual DtResignAction testResign(rti1516::ResignAction theAction); 00653 #elif defined(DtIFSPEC1516E) 00654 virtual DtResignAction testResign(rti1516e::ResignAction theAction); 00655 #else 00656 virtual DtResignAction testResign(RTI::ResignAction theAction); 00657 #endif 00658 00661 virtual void postJoinInit( 00662 const char* federateType, 00663 const char* executionName, 00664 const char* federateName 00665 #ifdef DtIFSPEC1516 00666 , rti1516::FederateAmbassador* federateAmbassadorReference); 00667 #elif defined(DtIFSPEC1516E) 00668 ); 00669 #else 00670 , RTI::FederateAmbassador* federateAmbassadorReference); 00671 #endif 00672 00673 protected: 00674 00678 00679 00681 static void processResign(const DtResignMsg& msg, void* usr); 00682 00684 static void processEnableDisableNetworkTesting(const DtEnableDisableNetworkTestingMsg& msg, void* usr ); 00685 00687 static void processSaveInitiate(const DtSaveInitiateMsg& msg, void* usr); 00688 00690 static void processSaveResponse(const DtSaveResponseMsg& msg, void* usr); 00691 00693 static void processSaveFinished(const DtSaveFinishedMsg& msg, void* usr); 00694 00696 static void processRestoreReply(const DtRestoreReplyMsg& msg, void* usr); 00697 00699 static void processRestore(const DtRestoreMsg& msg, void* usr); 00700 00702 static void processRestoreInitiate(const DtRestoreInitiateMsg& msg, 00703 void* usr); 00704 00706 static void processRestoreEnd(const DtRestoreEndMsg& msg, void* usr); 00708 00709 00713 00714 00715 static void processAssistantResign(const DtAssistantExitMsg& msg, void* usr); 00716 00718 static void processAssistantEnableLogging(const DtAssistantLogEnableMsg& msg, void* usr); 00719 00721 static void processSignalTickInterval( const DtAssistantFederateSignalTickIntervalMsg& msg, void* usr ); 00723 00724 #ifdef DtIFSPEC1516E 00725 00726 static void processResignDirective( const DtResignDirectiveMsg& msg, void* usr ); 00727 #endif 00728 00731 00732 00734 virtual void createObjectMgr(); 00735 00737 virtual void createInteractionMgr(); 00738 00740 virtual void createDdmMgr(); 00741 00743 virtual void createTimeMgr(); 00744 00746 virtual void createMomMgr(); 00747 00749 virtual void createTestMgr(); 00750 00752 00753 #ifdef DtIFSPEC1516 00754 virtual MAKRti::DtResignAction convertResignAction(rti1516::ResignAction) const; 00755 virtual rti1516::ResignAction convertResignAction(MAKRti::DtResignAction) const; 00756 #elif defined(DtIFSPEC1516E) 00757 virtual MAKRti::DtResignAction convertResignAction(rti1516e::ResignAction) const; 00758 virtual rti1516e::ResignAction convertResignAction(MAKRti::DtResignAction) const; 00759 #else 00760 virtual MAKRti::DtResignAction convertResignAction(RTI::ResignAction) const; 00761 virtual RTI::ResignAction convertResignAction(MAKRti::DtResignAction) const; 00762 #endif 00763 00764 protected: 00765 00766 DtFedReader * getReader( DtFomType theFomType, DtFomClassMgr* target); 00767 DtFedReader * getReader( DtFomType theFomType ); 00768 void addToParsedFomMap( DtFedReader * myFedReader, const MAKRti::DtString & fileNameToUse, DtFomClassMgr* fedTarget, unsigned long theCrc = 0); 00770 #ifdef DtIFSPEC1516 00771 rti1516::RTIambassador* myRtiAmb; 00772 #elif defined(DtIFSPEC1516E) 00773 rti1516e::RTIambassador* myRtiAmb; 00774 #else 00775 RTI::RTIambassador* myRtiAmb; 00776 #endif 00777 00779 DtRtiAmbassadorBaseImplementor* myAmbImpl; 00780 00783 00784 00786 DtConnectionMgr* myConnectMgr; 00787 00789 DtFomClassMgr* myFom; 00790 00792 DtInteractionMgr* myInterMgr; 00793 00795 DtObjectMgr* myObjMgr; 00796 00798 DtMomMgr* myMomMgr; 00799 00800 #ifdef DDM 00801 00802 DtDataDistMgr* myDdmMgr; 00803 #endif 00804 #ifdef DtTIME 00805 00806 DtTimeMgr* myTimeMgr; 00807 #endif 00808 00809 00811 MAKRti::DtTime myResponseInterval; 00812 00814 MAKRti::DtString myFedExName; 00815 00817 unsigned long myFedExHandle; 00818 00820 MAKRti::DtString myFedType; 00821 00824 MAKRti::DtString myFedName; 00825 00827 DtFederateHandle myFedHandle; 00828 00830 MAKRti::DtString myCurrentFedFileName; 00831 00833 MAKRti::DtString myMimName; 00834 00836 MAKRti::DtString myCurrentTimeImplName; 00837 00838 #ifdef DtIFSPEC1516E 00839 00840 std::vector<std::wstring> myFomModulesNames; 00841 std::vector<std::wstring> myJoinFomModulesNames; 00842 std::vector<char*> myFomModuleData; 00843 int myMimIndex; 00844 #endif 00845 00847 MAKRti::DtTime myLastHeartbeat; 00848 00851 DtLogicalTimeFactory* myLogicalTimeFactory; 00852 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E) 00853 #else 00854 RTI::FedTimeFactory myHlaTimeFactory; 00855 #endif 00856 00858 DtFedAmbWrapper* myPrinter; 00859 00861 DtFedAmbWrapper* myFedAmbCatch; 00862 00863 00865 DtRIDParameters* myParams; 00866 00868 DtFedReader * myFedReader; 00869 DtFedReader * myFedReader13; 00870 DtFedReader * myFedReader1516; 00871 DtFedReader * myFedReader1516e; 00872 00876 MAKRti::DtList myMappingList; 00877 00878 std::map<MAKRti::DtString, std::set<MAKRti::DtString> > myFedFileNames; 00879 00881 std::map<MAKRti::DtString, DtFomClassMgr*> myParsedFoms; 00882 00884 DtBoost::shared_ptr<DtRtiAssistantLrcClient> myAssistantClient; 00885 00888 00889 00891 bool mySaveInitiated; 00893 bool mySaveBegun; 00895 bool myRestoreRequested; 00897 bool myRestoreInitiated; 00899 bool myRestoreBegun; 00901 MAKRti::DtString mySaveLabel; 00903 MAKRti::DtString myLastSaveLabel; 00905 MAKRti::DtString myRestoreLabel; 00907 MAKRti::DtString myLastRestoreLabel; 00909 00911 bool myIgnoreForcedResign; 00912 00914 MAKRti::DtClock myClock; 00915 00917 unsigned long myTickCount; 00918 00920 bool myIsTicking; 00921 00923 bool myEnableFederateHeartbeat; 00924 00926 bool myConnectedToWebServer; 00927 00928 unsigned long myFlags; 00929 00930 DtTestManager* myTestMgr; 00931 bool myNetworkTestEnabled; 00932 00934 float mySignalTickInterval; 00935 00937 DtTime myLastTickTime; 00938 00939 #ifdef DtIFSPEC1516E 00940 // our list of Federate Names to Handles and vise-versa 00941 std::map< MAKRti::DtString, DtFederateHandle > myFederateNameToHandle; 00942 std::map< DtFederateHandle, MAKRti::DtString > myFederateHandleToName; 00943 #endif 00944 00946 MAKRti::DtResignAction myResignAction; 00947 00948 protected: 00950 static DtFederateMgrCreator theCreator; 00951 00953 static DtFederateMgrCreator theInternalCreator; 00954 }; 00955 00956 #endif //! fedMgr_H_ 00957 00958 00959