MAK RTIspy API Documentation for HLA Evolved
fedMgr.h
Go to the documentation of this file.
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 

Document ID: Generated on Thu Jun 14 14:15:04 EDT 2012 from SVN revision 116116
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)