22 #include <vlutil/vlTime.h>
23 #include <vlutil/vlList.h>
24 #include <vlutil/vlUtil.h>
25 #include <vlutil/vlPrint.h>
26 #include <vlutil/vlInetAddr.h>
62 DtBoost::shared_ptr<DtFilePrinter> logPrinter,
76 typedef void (*
DtWebServerCbFn)(
const DtInetAddr& webSpyIpAddr,
int webSpyPort,
void* usr);
167 DtBoost::shared_ptr<DtFilePrinter> logPrinter,
176 virtual void shutdownForwarderIfCreated();
179 virtual void checkVersion(
const DtString& version)
const;
182 virtual void processCreate(
const DtCreateMsg& msg);
191 virtual void processJoin(
const DtJoinMsg& msg);
208 DtConnectionMgr* connMgr,
const std::vector<unsigned int> & crcs,
const char* fedExName,
209 std::string
const & timeImplName, MAKRti::DtFomType fedType,
210 const std::vector<DtString>&
fedFileName,
const DtString& momModuleName,
218 virtual bool exists(
const DtString& fedExName);
225 virtual void destroyFederationByName(
const DtString& fullFedexName,
226 bool sendDestroyResponse =
true,
227 bool forceDestroy =
false );
237 virtual void listFederates();
240 virtual void parseDeleteCommand(
const DtString& command,
241 unsigned int& handle,
244 virtual int deleteFederate(
unsigned int handle,
245 const DtString& federationName );
248 virtual void processUpdateNotifyLevel( DtNotifyLevelType level );
254 virtual void enableLogging();
257 virtual void enableWebSpy(
const DtInetAddr& webSpyIpAddr,
int webSpyPort );
262 DtFedExec* fedExec(
const DtString& fedExName);
263 const DtFedExec* fedExec(
const DtString& fedExName)
const;
266 const std::map<DtString, DtFedExec*>& fedExecs()
const;
278 virtual bool tick(
bool noCallbacks =
false );
281 virtual void wait(DtTime intervalInSeconds);
285 virtual void addFedExCreatedCallback(
DtFedExCbFn fn,
void* usr);
286 virtual void removeFedExCreatedCallback(
DtFedExCbFn fn,
void* usr);
290 virtual void addFedExDestroyedCallback(
DtFedExCbFn fn,
void* usr);
291 virtual void removeFedExDestroyedCallback(
DtFedExCbFn fn,
void* usr);
300 virtual void addWebServerUpdatedCallback(
DtWebServerCbFn fn,
void* usr);
301 virtual void removeWebServerUpdatedCallback(
DtWebServerCbFn fn,
void* usr);
306 virtual void removeTickCallback(
DtTickCbFn fn,
void* usr );
315 virtual void sendCreateResponseMsg(
const unsigned long destinationID,
317 virtual void sendDestroyResponseMsg(
319 virtual void sendReportFederationsMsg(
unsigned long destId,
320 const std::vector<DtString>& federationNames,
321 const std::vector<DtString>& timeImplNames);
322 virtual void sendJoinResponseMsg(
323 unsigned long destinationIDValue,
unsigned short requestID,
unsigned int crc,
324 DtFederateHandle handle,
const char* fedName,
int fedExHandle,
const char* fedExName,
325 const DtString& momModule,
const std::vector<DtString>& fedFileName,
326 unsigned long flags,
bool allowNetworkTesting,
327 MAKRti::DtString
const & errorString,
340 DtBoost::shared_ptr<DtFilePrinter> logPrinter,
341 bool autoExit =
false,
366 static void processJoin(
const DtJoinMsg& msg,
383 static bool shutdownSignalCaught();
384 static void caughtShutdownSignal();
390 void cleanupConstructorException();
394 virtual void rtiExecToForwarderHandshake();
403 virtual void performMulticastDiscovery(
bool reliableTransportDisabled );
406 virtual void removeDroppedFederateConnections();
412 ForwarderStartupFailed
416 virtual DtStartRtiForwarderResult startRtiForwarder(
const DtRIDParameters* params);