MAK Data Logger API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
exerciseConnectionFactory.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2012 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
11 
12 #pragma once
13 
15 
16 #include <vl/exerciseConnHLA.h>
17 
18 namespace MAKTrafficClientServerExConn
19 {
20  class DtServerExerciseConnection;
21  class DtClientExerciseConnection;
22 
23  typedef DtServerExerciseConnection* (*DtServerConnectionInitCreator)(
24  const DtExerciseConnInitializer& init, DtExerciseConn::InitializationStatus* status);
25 
26  typedef DtServerExerciseConnection* (*DtServerConnectionMapperCreator)(
27  const char* execName,
28  const char* federateType,
29  DtFomMapper* mapper,
30  const char* fedFileName,
31  DtExerciseConn::InitializationStatus* status);
32 
33  typedef DtServerExerciseConnection* (*DtServerConnectionDsoCreator)(
34  const char* execName,
35  const char* federateType,
36  const char* dsoName,
37  const char* fedFileName,
38  void* fomMapInitData,
39  DtExerciseConn::InitializationStatus* status);
40 
41 #if DtHLA_1516_EVOLVED
42  typedef DtServerExerciseConnection* (*DtServerConnectionMapperFomModCreator)(
43  const char* execName,
44  const char* federateName,
45  const char* federateType,
46  const DtString& fedFile,
47  DtFomMapper* mapper,
48  const DtString& mimModule,
49  const std::vector<DtString>& fomModules,
50  DtExerciseConn::InitializationStatus* status);
51 
52  typedef DtServerExerciseConnection* (*DtServerConnectionDsoFomModCreator)(
53  const char* execName,
54  const char* federateName,
55  const char* federateType,
56  const DtString& fedFile,
57  const char* dsoName,
58  void* fomMapInitData,
59  const DtString& mimModule,
60  const std::vector<DtString>& fomModules,
61  DtExerciseConn::InitializationStatus* status );
62 #endif
63 }
64 
65 namespace MAKTrafficClientServerExConn
66 {
67 
69  {
70  public:
71 
72  // Constructor
74 
76  virtual ~DtExerciseConnectionFactory();
77 
78  static DtString theErrorMessage;
79 
80  public:
81 
84 
85 
88  static DtServerExerciseConnection* createServerConnection(
89  const DtExerciseConnInitializer& init,
90  DtExerciseConn::InitializationStatus* status = 0);
91 
94  // should throw if server doesn't exist?
95  static DtClientExerciseConnection* createClientConnection(
96  const DtExerciseConnInitializer& init,
97  DtExerciseConn::InitializationStatus* status = 0);
98 
100 
111 
112 
115  static DtServerExerciseConnection* createServerConnection(
116  const char* execName,
117  const char* federateType,
118  DtFomMapper* mapper = DtRprFomMapper::create(0),
119  const char* fedFileName = 0,
120  DtExerciseConn::InitializationStatus* status = 0);
121 
124  // should throw if server doesn't exist?
125  static DtClientExerciseConnection* createClientConnection(
126 #if DtHLA_1516_EVOLVED
127  const char* federateName,
128 #endif
129  const char* federateType,
130  DtFomMapper* mapper = DtRprFomMapper::create(0),
131  DtExerciseConn::InitializationStatus* status = 0);
132 
134 
141 
142 
145  static DtServerExerciseConnection* createServerConnection(
146  const char* execName,
147  const char* federateType,
148  const char* dsoName,
149  const char* fedFileName = 0,
150  void* fomMapInitData = 0,
151  DtExerciseConn::InitializationStatus* status = 0);
152 
155  // should throw if server doesn't exist?
156  static DtClientExerciseConnection* createClientConnection(
157 #if DtHLA_1516_EVOLVED
158  const char* federateName,
159 #endif
160  const char* federateType,
161  const char* dsoName,
162  void* fomMapInitData = 0,
163  DtExerciseConn::InitializationStatus* status = 0);
164 
166 
167 
168 #if DtHLA_1516_EVOLVED
169 
174 
187  static DtServerExerciseConnection* createServerConnection(
188  const char* execName,
189  const char* federateName,
190  const char* federateType,
191  const DtString& fedFile,
192  DtFomMapper* mapper = DtRprFomMapper::create(0),
193  const DtString& mimModule = "",
194  const std::vector<DtString>& fomModules = std::vector<DtString>(),
195  DtExerciseConn::InitializationStatus* status = 0 );
196 
197 
206  static DtServerExerciseConnection* createServerConnection(
207  const char* execName,
208  const char* federateName,
209  const char* federateType,
210  const DtString& fedFile,
211  const char* dsoName,
212  void* fomMapInitData = 0,
213  const DtString& mimModule = "",
214  const std::vector<DtString>& fomModules = std::vector<DtString>(),
215  DtExerciseConn::InitializationStatus* status = 0 );
216 
217 #endif
218 
219 
221  static DtExerciseConn::DtRtiAmbCreator setClientRtiAmbassadorCreator(DtExerciseConn::DtRtiAmbCreator creator);
222 
224  static DtExerciseConn::DtRtiAmbCreator clientRtiAmbassadorCreator();
225 
228  static DtExerciseConn::DtRtiAmbCreator setServerRtiAmbassadorCreator(DtExerciseConn::DtRtiAmbCreator creator);
229 
231  static DtExerciseConn::DtRtiAmbCreator serverRtiAmbassadorCreator();
232 
235  static DtExerciseConn::DtFedAmbCreator setServerFederateAmbassadorCreator(DtExerciseConn::DtFedAmbCreator creator);
236 
238  static DtExerciseConn::DtFedAmbCreator serverFederateAmbassadorCreator();
239 
241 
242  static DtServerConnectionInitCreator setServerConnectionInitCreator(DtServerConnectionInitCreator creator);
243  static DtServerConnectionInitCreator serverConnectionInitCreator();
244 
245  static DtServerConnectionMapperCreator setServerConnectionMapperCreator(DtServerConnectionMapperCreator creator);
246  static DtServerConnectionMapperCreator serverConnectionMapperCreator();
247 
248  static DtServerConnectionDsoCreator setServerConnectionDsoCreator(DtServerConnectionDsoCreator creator);
249  static DtServerConnectionDsoCreator serverConnectionDsoCreator();
250 
251 #if DtHLA_1516_EVOLVED
252  static DtServerConnectionMapperFomModCreator setServerConnectionMapperFomModCreator(DtServerConnectionMapperFomModCreator creator);
253  static DtServerConnectionMapperFomModCreator serverConnectionMapperFomModCreator();
254 
255  static DtServerConnectionDsoFomModCreator setServerConnectionDsoFomModCreator(DtServerConnectionDsoFomModCreator creator);
256  static DtServerConnectionDsoFomModCreator serverConnectionDsoFomModCreator();
257 #endif
258  //@)
259 
260 
261  typedef void (*RegisterUserTagModifiers_function)(DtExerciseConn* exConn);
262  static void setRegisterUserTagModifiersFunction(RegisterUserTagModifiers_function fnPtr)
263  { theRegisterUserTagModifiers_function = fnPtr;}
264 
265 
266  protected:
267 
269  static DtExerciseConn::DtRtiAmbCreator theClientRtiAmbCreator;
270 
272  static DtExerciseConn::DtRtiAmbCreator theServerRtiAmbCreator;
273 
275  static DtExerciseConn::DtFedAmbCreator theFederateAmbCreator;
276 
278 
280 
282 
284 
285 #if DtHLA_1516_EVOLVED
286  static DtServerConnectionMapperFomModCreator theServerConnectionMapperFomModCreator;
287 
288  static DtServerConnectionDsoFomModCreator theServerConnectionDsoFomModCreator;
289 #endif
290 
291 
293  static RegisterUserTagModifiers_function theRegisterUserTagModifiers_function;
294 
295  };
296 }
297 
DtServerExerciseConnection *(* DtServerConnectionMapperCreator)(const char *execName, const char *federateType, DtFomMapper *mapper, const char *fedFileName, DtExerciseConn::InitializationStatus *status)
Definition: exerciseConnectionFactory.h:26
Definition: serverExerciseConnection.h:34
static void setRegisterUserTagModifiersFunction(RegisterUserTagModifiers_function fnPtr)
The creator for the client RTI Ambassador.
Definition: exerciseConnectionFactory.h:262
static DtExerciseConn::DtRtiAmbCreator theServerRtiAmbCreator
The creator for the server RTI Ambassador.
Definition: exerciseConnectionFactory.h:272
DtServerExerciseConnection *(* DtServerConnectionDsoCreator)(const char *execName, const char *federateType, const char *dsoName, const char *fedFileName, void *fomMapInitData, DtExerciseConn::InitializationStatus *status)
Definition: exerciseConnectionFactory.h:33
static DtServerConnectionMapperCreator theServerConnectionMapperCreator
The creator for the client RTI Ambassador.
Definition: exerciseConnectionFactory.h:281
static DtExerciseConn::DtFedAmbCreator theFederateAmbCreator
The creator for the server Federate Ambassador.
Definition: exerciseConnectionFactory.h:275
static DtString theErrorMessage
Definition: exerciseConnectionFactory.h:78
static DtExerciseConn::DtRtiAmbCreator theClientRtiAmbCreator
The creator for the client RTI Ambassador.
Definition: exerciseConnectionFactory.h:269
static DtServerConnectionDsoCreator theServerConnectionDsoCreator
The creator for the client RTI Ambassador.
Definition: exerciseConnectionFactory.h:283
static DtServerConnectionInitCreator theServerConnectionInitCreator
The creators for the server exercise connection.
Definition: exerciseConnectionFactory.h:279
#define DT_DLL_CSEC
Definition: clientServerExConnDllDefines.h:17
Definition: clientExerciseConnection.h:25
Definition: exerciseConnectionFactory.h:68
DtServerExerciseConnection *(* DtServerConnectionInitCreator)(const DtExerciseConnInitializer &init, DtExerciseConn::InitializationStatus *status)
Definition: exerciseConnectionFactory.h:23
static RegisterUserTagModifiers_function theRegisterUserTagModifiers_function
Allow for non-RPR user tags in sent object updates and interactions.
Definition: exerciseConnectionFactory.h:293

Document ID: Generated on Mon Mar 22 15:30:17 EDT 2021 from SVN revision 226440
Copyright © 2021 MAK Technologies. All Rights Reserved (www.mak.com)