33 #include "mtl/fedReader13.h"
34 #include "mtl/fedReader1516.h"
35 #include "mtl/fedReader1516e.h"
39 class DtSaveStatusMsg;
40 class DtRestoreStatusMsg;
71 DtBoost::shared_ptr<DtRtiAssistantLrcClient> assistantClient);
92 const char* executionName,
const char* timeImplName,
94 const std::vector<DtString>& fomModules,
95 const char* mimModule);
102 const char* executionName);
106 virtual void listFederationExecutions();
112 const char* yourName,
113 const char* executionName,
115 unsigned long flags);
116 #elif defined(DtIFSPEC1516E)
118 const char* federateName,
119 const char* yourName,
120 const char* executionName,
121 const std::vector<DtString>& fomModules,
122 unsigned long flags);
126 const char* yourName,
127 const char* executionName,
129 unsigned long flags);
137 #elif defined(DtIFSPEC1516E)
155 #elif defined(DtIFSPEC1516E)
162 char const * theTag);
171 #elif defined(DtIFSPEC1516E)
201 virtual void queryFederationRestoreStatus();
202 #elif defined(DtIFSPEC1516E)
211 virtual void queryFederationRestoreStatus();
214 virtual void abortFederationSave();
217 virtual void abortFederationRestore();
245 std::map<DtString, DtSynchronousFileDistributor*> distributors();
246 std::map<DtString, DtSynchronousFileDistributor*> distributors()
const;
256 virtual void initRidTester();
259 virtual void initializeDistributor(
const char* executionName );
262 virtual void waitForCreateResponse(
const char* executionName );
265 virtual void waitForJoinResponse(
const char* executionName,
266 std::vector<MAKRti::DtString> &joinModules );
272 void checkJoinResponse();
275 virtual void initializeTimeFactory();
278 virtual void initializeFOM(
const char* executionName );
284 const char* yourName,
285 const char* executionName,
286 const char* federateName
289 #elif defined(DtIFSPEC1516E)
296 virtual void handleFailedJoin(
unsigned long sourceID,
300 virtual void setDesignatedFederate(
bool isDesignated);
301 virtual bool isDesignatedFederate();
305 void appendFomModule(std::vector<MAKRti::DtString>& target,
306 MAKRti::DtString
const& source);
310 void appendFomModules(std::vector<MAKRti::DtString>& target,
311 std::vector<MAKRti::DtString>
const& source);
314 virtual bool findFedFileNameFromMapping(
const MAKRti::DtString execName,
315 const std::vector<MAKRti::DtString>& orig,
316 std::vector<MAKRti::DtString>& namesToUse)
const;
320 MAKRti::DtString executionName,
bool isMim =
false);
323 virtual void mergeFomModules(
const std::vector<MAKRti::DtString>* fomModules);
360 virtual void requestImmediateSave(
const char *label);
380 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
382 virtual void processSaveStatusMsg(
const DtSaveStatusMsg& msg);
385 virtual void processRestoreStatusMsg(
const DtRestoreStatusMsg& msg);
415 virtual void sendCreateMsg(MAKRti::DtString
const & fedExNameVal,
416 MAKRti::DtString
const & timeImplName,
const std::vector<unsigned int> & moduleCrcs,
417 MAKRti::DtFomType fedType, MAKRti::DtString
const &momModuleName,
418 const std::vector<MAKRti::DtString>& fomModules,
unsigned int momModuleCrc);
421 virtual void sendDestroyMsg(
const char* name);
424 virtual void sendJoinMsg(
425 unsigned long sourceID,
unsigned short requestID,
const char* fedType,
426 const char* fedExName,
const char* fedName,
427 const std::vector<MAKRti::DtString>& fomModules,
428 const unsigned long flags,
const std::vector<unsigned int>& joinModulesCrcs);
431 virtual void sendJoinConfirmMsg(
443 virtual void sendSaveRequestTsoMsg(
char const * label,
446 #elif defined(DtIFSPEC1516E)
455 virtual void sendSaveRequestTsoMsg(
char const * label,
462 char const * tag =
NULL,
466 virtual void sendSaveRequestTsoMsg(
char const * label,
472 virtual void sendSaveRequestMsg(
unsigned long requestID,
const char *label);
475 virtual void sendSaveBegunMsg();
478 virtual void sendSaveCompleteMsg(
const char *label,
bool success);
481 virtual void sendRestoreRequestMsg(
const char *label);
484 virtual void sendRestoreBegunMsg(
const char *label,
DtResponseFlag response);
487 virtual void sendRestoreCompleteMsg(
const char *label,
bool success);
502 #elif defined(DtIFSPEC1516E)
517 virtual void prepareToRestoreLRC();
524 virtual void prepareToRestore();
540 static void processSyncPointMsg(
const DtSyncPointMsg& msg,
void* usr);
562 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
564 static void processSaveStatusMsg(
const DtSaveStatusMsg& msg,
void* usr);
567 static void processRestoreStatusMsg(
const DtRestoreStatusMsg& msg,
void* usr);
575 static void processResignResponseMsg(
const DtResignRespMsg& msg,
void* usr);
584 DtBoost::shared_ptr<DtRtiAssistantLrcClient> assistantClient);
640 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
641 std::wstring* myFailedSyncPointLabel;
670 DtFedReader *
getReader( DtFomType theFomType );
674 void populateWithUnknownFoms(std::vector<DtString> & mods, std::vector<DtString> & requestedMods);
675 bool isFomAvailable(
const DtString & fomName);
676 void getCrcsOfFoms( std::vector<unsigned int> & moduleCrcs,
const std::vector<MAKRti::DtString> & creationFomModuleNames );
678 MAKRti::DtFilename & getStandardMimPath();