34 #include "mtl/fedReader13.h"
35 #include "mtl/fedReader1516.h"
36 #include "mtl/fedReader1516e.h"
40 class DtSaveStatusMsg;
41 class DtRestoreStatusMsg;
74 DtBoost::shared_ptr<DtRtiAssistantLrcClient> assistantClient);
95 const char* executionName,
const char* timeImplName,
97 const std::vector<DtString>& fomModules,
98 const char* mimModule);
105 const char* executionName);
109 virtual void listFederationExecutions();
115 const char* yourName,
116 const char* executionName,
118 unsigned long flags);
119 #elif defined(DtIFSPEC1516E)
121 const char* federateName,
122 const char* yourName,
123 const char* executionName,
124 const std::vector<DtString>& fomModules,
125 unsigned long flags);
129 const char* yourName,
130 const char* executionName,
131 RTI::FederateAmbassador* federateAmbassadorReference,
132 unsigned long flags);
140 #elif defined(DtIFSPEC1516E)
158 #elif defined(DtIFSPEC1516E)
161 rti1516e::VariableLengthData
const & theTag);
165 char const * theTag);
174 #elif defined(DtIFSPEC1516E)
177 rti1516e::VariableLengthData
const & theTag,
201 virtual void queryFederationSaveStatus();
204 virtual void queryFederationRestoreStatus();
205 #elif defined(DtIFSPEC1516E)
208 rti1516e::LogicalTime
const * time=NULL);
211 virtual void queryFederationSaveStatus();
214 virtual void queryFederationRestoreStatus();
217 virtual void abortFederationSave();
220 virtual void abortFederationRestore();
225 RTI::FedTime
const * time=NULL);
263 virtual void initRidTester();
266 virtual void waitForCreateResponse(
const char* executionName );
269 virtual void waitForJoinResponse(
const char* executionName,
270 std::vector<MAKRti::DtString> &joinModules );
279 void handleFailedJoinResponse(
bool timedOutDueToCreation);
282 virtual void initializeTimeFactory();
285 virtual void initializeFOM(
const char* executionName );
291 const char* yourName,
292 const char* executionName,
293 const char* federateName
296 #elif defined(DtIFSPEC1516E)
299 , RTI::FederateAmbassador* federateAmbassadorReference);
307 virtual void handleFailedJoin(
unsigned long sourceID,
311 virtual void setDesignatedFederate(
bool isDesignated);
312 virtual bool isDesignatedFederate();
316 void appendFomModule(std::vector<MAKRti::DtString>& target,
317 MAKRti::DtString
const& source);
321 void appendFomModules(std::vector<MAKRti::DtString>& target,
322 std::vector<MAKRti::DtString>
const& source);
325 virtual bool findFedFileNameFromMapping(
const MAKRti::DtString execName,
326 const std::vector<MAKRti::DtString>& orig,
327 std::vector<MAKRti::DtString>& namesToUse)
const;
331 MAKRti::DtString executionName,
bool isMim =
false);
334 virtual void mergeFomModules(
const std::vector<MAKRti::DtString>* fomModules);
371 virtual void requestImmediateSave(
const char *label);
391 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
393 virtual void processSaveStatusMsg(
const DtSaveStatusMsg& msg);
396 virtual void processRestoreStatusMsg(
const DtRestoreStatusMsg& msg);
429 virtual void sendCreateMsg(MAKRti::DtString
const & fedExNameVal,
430 MAKRti::DtString
const & timeImplName,
const std::vector<unsigned int> & moduleCrcs,
431 MAKRti::DtFomType fedType, MAKRti::DtString
const &momModuleName,
432 const std::vector<MAKRti::DtString>& fomModules,
unsigned int momModuleCrc);
435 virtual void sendDestroyMsg(
const char* name);
438 virtual void sendJoinMsg(
439 unsigned long sourceID,
unsigned short requestID,
const char* fedType,
440 const char* fedExName,
const char* fedName,
441 const std::vector<MAKRti::DtString>& fomModules,
442 const unsigned long flags,
const std::vector<unsigned int>& joinModulesCrcs);
445 virtual void sendJoinConfirmMsg(
457 virtual void sendSaveRequestTsoMsg(
char const * label,
460 #elif defined(DtIFSPEC1516E)
464 rti1516e::VariableLengthData
const* tag = NULL,
469 virtual void sendSaveRequestTsoMsg(
char const * label,
470 rti1516e::LogicalTime
const * time);
476 char const * tag = NULL,
480 virtual void sendSaveRequestTsoMsg(
char const * label,
481 RTI::FedTime
const * time);
486 virtual void sendSaveRequestMsg(
unsigned long requestID,
const char *label);
489 virtual void sendSaveBegunMsg();
492 virtual void sendSaveCompleteMsg(
const char *label,
bool success);
495 virtual void sendRestoreRequestMsg(
const char *label);
498 virtual void sendRestoreBegunMsg(
const char *label,
DtResponseFlag response);
501 virtual void sendRestoreCompleteMsg(
const char *label,
bool success);
516 #elif defined(DtIFSPEC1516E)
531 virtual void prepareToRestoreLRC();
538 virtual void prepareToRestore();
554 static void processSyncPointMsg(
const DtSyncPointMsg& msg,
void* usr);
576 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
578 static void processSaveStatusMsg(
const DtSaveStatusMsg& msg,
void* usr);
581 static void processRestoreStatusMsg(
const DtRestoreStatusMsg& msg,
void* usr);
589 static void processResignResponseMsg(
const DtResignRespMsg& msg,
void* usr);
601 DtBoost::shared_ptr<DtRtiAssistantLrcClient> assistantClient);
661 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
662 std::wstring* myFailedSyncPointLabel;
688 void populateWithUnknownFoms(std::vector<DtString> & mods, std::vector<DtString> & requestedMods);
689 bool isFomAvailable(
const DtString & fomName);
690 void getCrcsOfFoms( std::vector<unsigned int> & moduleCrcs,
const std::vector<MAKRti::DtString> & creationFomModuleNames );