33 #include "mtl/fedReader13.h"
34 #include "mtl/fedReader1516.h"
35 #include "mtl/fedReader1516e.h"
39 class DtSaveStatusMsg;
40 class DtRestoreStatusMsg;
73 DtBoost::shared_ptr<DtRtiAssistantLrcClient> assistantClient);
94 const char* executionName,
const char* timeImplName,
96 const std::vector<DtString>& fomModules,
97 const char* mimModule);
104 const char* executionName);
108 virtual void listFederationExecutions();
114 const char* yourName,
115 const char* executionName,
116 rti1516::FederateAmbassador* federateAmbassadorReference,
117 unsigned long flags);
118 #elif defined(DtIFSPEC1516E)
120 const char* federateName,
121 const char* yourName,
122 const char* executionName,
123 const std::vector<DtString>& fomModules,
124 unsigned long flags);
128 const char* yourName,
129 const char* executionName,
130 RTI::FederateAmbassador* federateAmbassadorReference,
131 unsigned long flags);
139 #elif defined(DtIFSPEC1516E)
156 rti1516::VariableLengthData
const & theTag);
157 #elif defined(DtIFSPEC1516E)
164 char const * theTag);
171 rti1516::VariableLengthData
const & theTag,
173 #elif defined(DtIFSPEC1516E)
197 rti1516::LogicalTime
const * time=NULL);
200 virtual void queryFederationSaveStatus();
203 virtual void queryFederationRestoreStatus();
204 #elif defined(DtIFSPEC1516E)
210 virtual void queryFederationSaveStatus();
213 virtual void queryFederationRestoreStatus();
216 virtual void abortFederationSave();
219 virtual void abortFederationRestore();
224 RTI::FedTime
const * time=NULL);
247 std::map<DtString, DtSynchronousFileDistributor*>& distributors();
257 virtual void initRidTester();
260 virtual void initializeDistributor(
const char* executionName );
263 virtual void waitForCreateResponse(
const char* executionName );
266 virtual void waitForJoinResponse(
const char* executionName,
267 std::vector<MAKRti::DtString> &joinModules );
277 bool checkJoinResponse();
280 virtual void initializeTimeFactory();
283 virtual void initializeFOM(
const char* executionName );
289 const char* yourName,
290 const char* executionName,
291 const char* federateName
293 , rti1516::FederateAmbassador* federateAmbassadorReference);
294 #elif defined(DtIFSPEC1516E)
297 , RTI::FederateAmbassador* federateAmbassadorReference);
305 virtual void handleFailedJoin(
unsigned long sourceID,
309 virtual void setDesignatedFederate(
bool isDesignated);
310 virtual bool isDesignatedFederate();
314 void appendFomModule(std::vector<MAKRti::DtString>& target,
315 MAKRti::DtString
const& source);
319 void appendFomModules(std::vector<MAKRti::DtString>& target,
320 std::vector<MAKRti::DtString>
const& source);
323 virtual bool findFedFileNameFromMapping(
const MAKRti::DtString execName,
324 const std::vector<MAKRti::DtString>& orig,
325 std::vector<MAKRti::DtString>& namesToUse)
const;
329 MAKRti::DtString executionName,
bool isMim =
false);
332 virtual void mergeFomModules(
const std::vector<MAKRti::DtString>* fomModules);
369 virtual void requestImmediateSave(
const char *label);
389 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
391 virtual void processSaveStatusMsg(
const DtSaveStatusMsg& msg);
394 virtual void processRestoreStatusMsg(
const DtRestoreStatusMsg& msg);
427 virtual void sendCreateMsg(MAKRti::DtString
const & fedExNameVal,
428 MAKRti::DtString
const & timeImplName,
const std::vector<unsigned int> & moduleCrcs,
429 MAKRti::DtFomType fedType, MAKRti::DtString
const &momModuleName,
430 const std::vector<MAKRti::DtString>& fomModules,
unsigned int momModuleCrc);
433 virtual void sendDestroyMsg(
const char* name);
436 virtual void sendJoinMsg(
437 unsigned long sourceID,
unsigned short requestID,
const char* fedType,
438 const char* fedExName,
const char* fedName,
439 const std::vector<MAKRti::DtString>& fomModules,
440 const unsigned long flags,
const std::vector<unsigned int>& joinModulesCrcs);
443 virtual void sendJoinConfirmMsg(
450 rti1516::VariableLengthData
const* tag = NULL,
455 virtual void sendSaveRequestTsoMsg(
char const * label,
456 rti1516::LogicalTime
const * time);
458 #elif defined(DtIFSPEC1516E)
467 virtual void sendSaveRequestTsoMsg(
char const * label,
474 char const * tag = NULL,
478 virtual void sendSaveRequestTsoMsg(
char const * label,
479 RTI::FedTime
const * time);
484 virtual void sendSaveRequestMsg(
unsigned long requestID,
const char *label);
487 virtual void sendSaveBegunMsg();
490 virtual void sendSaveCompleteMsg(
const char *label,
bool success);
493 virtual void sendRestoreRequestMsg(
const char *label);
496 virtual void sendRestoreBegunMsg(
const char *label,
DtResponseFlag response);
499 virtual void sendRestoreCompleteMsg(
const char *label,
bool success);
514 #elif defined(DtIFSPEC1516E)
529 virtual void prepareToRestoreLRC();
536 virtual void prepareToRestore();
552 static void processSyncPointMsg(
const DtSyncPointMsg& msg,
void* usr);
574 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
576 static void processSaveStatusMsg(
const DtSaveStatusMsg& msg,
void* usr);
579 static void processRestoreStatusMsg(
const DtRestoreStatusMsg& msg,
void* usr);
587 static void processResignResponseMsg(
const DtResignRespMsg& msg,
void* usr);
599 DtBoost::shared_ptr<DtRtiAssistantLrcClient> assistantClient);
659 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
660 std::wstring* myFailedSyncPointLabel;
686 void populateWithUnknownFoms(std::vector<DtString> & mods, std::vector<DtString> & requestedMods);
687 bool isFomAvailable(
const DtString & fomName);
688 void getCrcsOfFoms( std::vector<unsigned int> & moduleCrcs,
const std::vector<MAKRti::DtString> & creationFomModuleNames );