14 #include <vl/exerciseConnHLA.h>
21 namespace MAKTrafficClientServerExConn
23 class DtClientExerciseConnection;
24 class DtServerFederateAmbassador;
25 class DtServerRtiAmbassador;
54 const char* federateType,
55 DtFomMapper* mapper = DtRprFomMapper::create(0),
56 const char* fedFileName = 0,
57 InitializationStatus* status = 0);
66 const char* federateType,
68 const char* fedFileName = 0,
69 void* fomMapInitData = 0,
70 InitializationStatus* status = 0);
72 #if DtHLA_1516_EVOLVED
90 const char* federateName,
91 const char* federateType,
92 const DtString& fedFile,
93 DtFomMapper* mapper = DtRprFomMapper::create(0),
94 const DtString& mimModule =
"",
95 const std::vector<DtString>& fomModules = std::vector<DtString>(),
96 InitializationStatus* status = 0 );
111 const char* federateName,
112 const char* federateType,
113 const DtString& fedFile,
115 void* fomMapInitData = 0,
116 const DtString& mimModule =
"",
117 const std::vector<DtString>& fomModules = std::vector<DtString>(),
118 InitializationStatus* status = 0 );
136 virtual const DtString& clientExecName()
const;
139 virtual DtServerRtiAmbassador* serverRtiAmb();
142 virtual const DtString& fedFileName()
const;
145 virtual const std::wstring& mimModule()
const;
148 virtual const DtString& mimModuleAscii()
const;
151 virtual const std::vector<std::wstring>& fomModules()
const;
154 virtual const std::vector<DtString>& fomModulesAscii()
const;
158 virtual void getFomModules(std::vector<std::wstring>& allFomModules)
const;
162 virtual void getFomModules(std::vector<DtString>& allFomModules)
const;
165 virtual DtServerFederateAmbassador* serverFederateAmbassador();
169 virtual void setReceiveSelfReflect(
unsigned long clientID,
bool enableReceiveSelfReflect);
172 virtual bool receiveSelfReflectEnabled(
unsigned long clientID);
175 virtual void prepareToResign();
184 virtual void forceResign();
187 virtual bool doResign()
const;
190 virtual bool resignReady()
const;
193 virtual bool resignComplete()
const;
196 virtual bool resignOK()
const;
199 virtual bool isJoined()
const;
203 virtual bool resign();
207 virtual bool rejoin(DtString
const& execName);
210 virtual bool clientsRejoined()
const;
223 virtual unsigned int nextConnectionID();
226 virtual void addConnectionAddedCallback(
DtAddConnectionCb cbFunction,
void* usr);
229 virtual void removeConnectionAddedCallback(
DtAddConnectionCb cbFunction,
void* usr);
245 double maximum=-1,
double minimum=0);
263 virtual bool lockServiceCall();
266 virtual void unlockServiceCall();
269 virtual bool serviceCallLocked();
272 virtual bool enterServiceCall();
275 virtual void exitServiceCall();
278 virtual bool inServiceCall();
288 const char* federateType,
289 DtFomMapper* mapper = DtRprFomMapper::create(0),
290 const char* fedFileName = 0,
291 InitializationStatus* status = 0);
293 const char* federateType,
295 const char* fedFileName = 0,
296 void* fomMapInitData = 0,
297 InitializationStatus* status = 0);
298 #if DtHLA_1516_EVOLVED
300 const char* federateName,
301 const char* federateType,
302 const DtString& fedFile,
303 DtFomMapper* mapper = DtRprFomMapper::create(0),
304 const DtString& mimModule =
"",
305 const std::vector<DtString>& fomModules = std::vector<DtString>(),
306 InitializationStatus* status = 0 );
308 const char* federateName,
309 const char* federateType,
310 const DtString& fedFile,
312 void* fomMapInitData = 0,
313 const DtString& mimModule =
"",
314 const std::vector<DtString>& fomModules = std::vector<DtString>(),
315 InitializationStatus* status = 0 );
340 void init(InitializationStatus* status = 0);
345 virtual bool reSubscribeAndPublish();
348 virtual void removeAllObjects();
400 #ifndef DtHLA_1516_EVOLVED
DtServerRtiAmbassador * myServerRtiAmbassador
Access to the RTI Ambassador as a DtServerRtiAmbassador.
Definition: serverExerciseConnection.h:386
DtAddConnectionCbMap myAddConnCb
Callbacks for when a client connection is added.
Definition: serverExerciseConnection.h:359
DtString myMimFomModuleAscii
Keep a local copy of MIM module to support creation of client exercise connections.
Definition: serverExerciseConnection.h:398
Definition: serverExerciseConnection.h:34
DtClientConnectionMap myClientConnections
The client connections.
Definition: serverExerciseConnection.h:353
static DtServerExerciseConnection * theServerConnection
Definition: serverExerciseConnection.h:409
std::wstring myMimFomModule
Definition: serverExerciseConnection.h:403
bool myResignOK
Indicates whether the resign completed successfully or not (e.g., exception thrown) ...
Definition: serverExerciseConnection.h:389
unsigned int myInService
Client or server is processing a service call.
Definition: serverExerciseConnection.h:380
std::set< unsigned int > myPendingRejoined
Clients that need to indicate rejoin completed.
Definition: serverExerciseConnection.h:368
DtServerFederateAmbassador * myServerFederateAmbassador
Access to the Federate Ambassador as a DtServerFederateAmbassador.
Definition: serverExerciseConnection.h:383
std::set< unsigned int > myPendingReadyToResign
Clients that need to indicate readiness to resign.
Definition: serverExerciseConnection.h:365
unsigned int myNextConnectionID
Next Connection ID.
Definition: serverExerciseConnection.h:356
std::vector< DtString > myFomModulesAscii
Keep a local copy of fom modules to support creation of client exercise connections.
Definition: serverExerciseConnection.h:395
bool myDoResign
Indicates resign start/finish.
Definition: serverExerciseConnection.h:371
std::vector< std::wstring > myFomModules
Definition: serverExerciseConnection.h:402
unsigned int myLockService
Server is processing callbacks.
Definition: serverExerciseConnection.h:377
DtAddConnectionCb DtRemoveConnectionCb
Definition: serverExerciseConnection.h:30
std::map< void *, DtRemoveConnectionCb > DtRemoveConnectionCbMap
Definition: serverExerciseConnection.h:32
std::map< unsigned int, DtClientExerciseConnection * > DtClientConnectionMap
Definition: serverExerciseConnection.h:25
bool myIsJoined
Indicates that server is joined to federation.
Definition: serverExerciseConnection.h:392
#define DT_DLL_CSEC
Definition: clientServerExConnDllDefines.h:17
static bool theCreateServerConnectionFailed
Indicates failure to create the server connection.
Definition: serverExerciseConnection.h:335
std::map< void *, DtAddConnectionCb > DtAddConnectionCbMap
Definition: serverExerciseConnection.h:31
DtRemoveConnectionCbMap myRemoveConnCb
Callbacks for when a client connection is added.
Definition: serverExerciseConnection.h:362
Definition: clientExerciseConnection.h:25
void(* DtAddConnectionCb)(DtClientExerciseConnection *conn, void *usr)
Definition: serverExerciseConnection.h:29
DtMutex * myCallbackMutex
Mutex to synchronize access to RTI and Federate Ambassadors.
Definition: serverExerciseConnection.h:374