MAK Data Logger API Documentation for DIS
lgrHlaSimDriver.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #if DtHLA
10 
11 #ifndef lgrHlaSimDriver_H_
12 #define lgrHlaSimDriver_H_
13 
14 #include "lgrSim.h"
15 #include "lgrSimDriver.h"
16 #include "lgrCommandDispatcher.h"
17 #include "lgrExceptions.h"
18 #include "virtualConstructor.h"
19 
20 #include <map>
21 
22 namespace MAKLogger
23 {
24  class DtLgrOnlineFomDesc;
25  class DtCommand;
26  class DtLgrHlaCommandFactory;
27  class DtLgrHlaSimulationManager;
28  class DtLgrHlaSimInterface;
29  class DtLgrSimDriver;
30  class DtMessagePipeline;
31  class DtLgrSystemDriver;
32  class DtLgrHlaFilterByClass;
33  class DtLgrHlaEntityTypeFilter;
34  class DtLgrDisEntityTypeManager;
35 
38  class DT_DLL_LGRSIM DtLgrHlaSimDriver : public DtLgrSimDriver
39  {
40  public:
41 
42  typedef DtLgrHlaCommandFactory Factory;
43  typedef DtLgrHlaSimInterface Interface;
44 
45  DT_VIRTUAL_CTR(DtLgrHlaSimDriver,(DtLgrSystemDriver&))
46 
47  virtual ~DtLgrHlaSimDriver();
48 
52  virtual void tick();
53 
55  bool releasePipeline();
56 
58  bool getPipeline();
59 
61  bool hasPipeline() const;
62 
64 
65  virtual DtLgrSimManager* simManager();
66  virtual const DtLgrSimManager* simManager() const;
68 
70 
71  virtual DtLgrHlaSimulationManager* hlaSimManager();
72  virtual const DtLgrHlaSimulationManager* hlaSimManager() const;
74 
76  virtual const DtString& federateType() const;
77 
79  virtual const DtString& federationName() const;
80 
82  virtual const DtString& fedFile() const;
83 
84 #if DtHLA_1516_EVOLVED
85 
87  virtual const DtString& federateName() const;
88 
90  virtual const std::vector<DtString>& fomModules() const;
91 
93  virtual const DtString& mim() const;
94 
95 #endif // DtHLA_1516_EVOLVED
96 
98  virtual bool ignoreAdvisories() const;
99 
101  virtual bool trafficAnalyzerEnabled() const;
102 
104  virtual double fomVersion() const;
105 
107  virtual int fomRevision() const;
108 
110  virtual bool useMatrexFomMapper() const;
111 
113  virtual const DtString& matrexFomMapperData() const;
114 
116  virtual const DtString& fomMapper() const;
117 
119  virtual const DtString& fomMapperData() const;
120 
122  virtual bool useEmptyFomMapper() const;
123 
125  virtual bool isConnected() const;
126 
128  virtual const DtLgrOnlineFomDesc* connectedFomDescription() const;
129 
131  virtual std::vector<DtString> objectSubscriptionList() const;
132 
134  virtual std::vector<DtString> interactionSubscriptionList() const;
135 
138  virtual void updateTimeManagement();
139 
140  virtual const DtLgrDisEntityTypeManager* entityTypeManager() const;
141 
143  virtual DtLgrSystemDriver* systemDriver();
144  virtual const DtLgrSystemDriver* systemDriver() const;
145 
146  protected:
147 
149  virtual DtResponse setConnectionParameters(const DtCommand& command);
150 
152  virtual DtResponse setTimeManagement(const DtCommand& command);
153 
155  virtual DtResponse setDrainInputSettings(const DtCommand& command);
156 
158  virtual DtResponse connect(const DtCommand& command);
159 
161  virtual DtResponse connectShared(const DtCommand& command);
162 
164  virtual DtResponse disconnect(const DtCommand& command);
165 
166  // Update the remote control filter based on the record remote control setting
167  virtual void updateRecordRemoteControlFilter();
168 
170  virtual DtResponse setEntityTypeManager(const DtCommand& command);
171 
173  virtual DtResponse setCommonEntityTypes(const DtCommand& command);
174 
176  virtual DtResponse filterEntityTypes(const DtCommand& command);
177 
179  virtual DtResponse setPassiveSubscription(const DtCommand& command);
180 
182  virtual DtResponse setIgnoreAdvisories(const DtCommand& command);
183 
185  virtual DtResponse enableTrafficAnalyzer(const DtCommand& command);
186 
188  virtual DtResponse loadSubscriptionListFile(const DtCommand& command);
189 
191  virtual DtResponse loadPublicationListFile(const DtCommand& command);
192 
194  virtual DtResponse saveSubscriptionListFile(const DtCommand& command);
195 
197  virtual DtResponse setSubscriptionLists(const DtCommand& command);
198 
200  virtual DtResponse addTrafficAnalyzerFilter(const DtCommand& command);
201 
203  virtual DtResponse removeTrafficAnalyzerFilter(const DtCommand& command);
204 
206  virtual DtResponse setDisableTimeManagmentTest(const DtCommand& command);
207 
209  virtual DtResponse setDynamicNamePrefix(const DtCommand& command);
210 
212  virtual DtResponse setDdmParameters(const DtCommand& command);
213  protected:
214  DtString myFederateType;
215  DtString myFederationName;
216  DtString myFedFile;
217 #if DtHLA_1516_EVOLVED
218  DtString myFederateName;
219  std::vector<DtString> myFomModules;
220  DtString myMim;
221 #endif // DtHLA_1516_EVOLVED
222  DtString myFomMapper;
223  DtString myFomMapperData;
224  DtString myMatrexFomMapperData;
225  double myFomVersion;
226  int myFomRevision;
227  bool myConnectOnStart;
228  bool myUseMatrexFomMapper;
229  bool myUseEmptyFomMapper;
230  bool myIgnoreAdvisories;
231  bool myTrafficAnalyzerEnabled;
232 
233  DtLgrHlaSimulationManager* mySimManager;
234  DtLgrSystemDriver* mySystemDriver;
235  DtLgrHlaFilterByClass* myClassFilter;
236  DtLgrHlaEntityTypeFilter* myEntityTypeFilter;
237  };
238 
239 }
240 
241 #endif
242 #endif

Document ID: Generated on Thu Apr 11 12:13:00 EDT 2013 from SVN revision 126011
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)