MAK Data Logger API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 #pragma once
12 
13 #include <lgrSim/lgrSim.h>
14 #include <lgrCore/lgrSimDriver.h>
16 #include <lgrUtil/lgrExceptions.h>
18 
19 #include <map>
20 
21 namespace MAKLogger
22 {
23  class DtLgrOnlineFomDesc;
24  class DtCommand;
25  class DtLgrHlaCommandFactory;
26  class DtLgrHlaSimulationManager;
27  class DtLgrHlaSimInterface;
28  class DtLgrSimDriver;
29  class DtLgrSystemDriver;
30  class DtLgrHlaFilterByClass;
31  class DtLgrHlaEntityTypeFilter;
32  class DtLgrDisEntityTypeManager;
33 
36  class DT_DLL_LGRSIM DtLgrHlaSimDriver : public DtLgrSimDriver
37  {
38  public:
39 
40  typedef DtLgrHlaCommandFactory Factory;
41  typedef DtLgrHlaSimInterface Interface;
42 
43  DT_VIRTUAL_CTR(DtLgrHlaSimDriver,(DtLgrSystemDriver&))
44 
45  virtual ~DtLgrHlaSimDriver();
46 
50  virtual void tick();
51 
53 
54  virtual DtLgrSimManager* simManager();
55  virtual const DtLgrSimManager* simManager() const;
57 
59 
60  virtual DtLgrHlaSimulationManager* hlaSimManager();
61  virtual const DtLgrHlaSimulationManager* hlaSimManager() const;
63 
65  virtual const DtString& federateType() const;
66 
68  virtual const DtString& federationName() const;
69 
71  virtual const DtString& fedFile() const;
72 
73 #if DtHLA_1516_EVOLVED
74 
76  virtual const DtString& federateName() const;
77 
79  virtual const std::vector<DtString>& fomModules() const;
80 
82  virtual const DtString& mim() const;
83 
84 #endif // DtHLA_1516_EVOLVED
85 
87  virtual bool ignoreAdvisories() const;
88 
90  virtual bool trafficAnalyzerEnabled() const;
91 
93  virtual bool saveTrafficAnalyzerConfigurationEnabled() const;
94 
96  virtual bool isMomSubscriptionFiltered() const;
97 
99  virtual double fomVersion() const;
100 
102  virtual int fomRevision() const;
103 
105  virtual bool useMatrexFomMapper() const;
106 
108  virtual const DtString& matrexFomMapperData() const;
109 
111  virtual const DtString& fomMapper() const;
112 
114  virtual const DtString& fomMapperData() const;
115 
117  virtual bool useEmptyFomMapper() const;
118 
120  virtual bool isConnected() const;
121 
123  virtual const DtLgrOnlineFomDesc* connectedFomDescription() const;
124 
126  virtual std::vector<DtString> objectSubscriptionList() const;
127 
129  virtual std::vector<DtString> interactionSubscriptionList() const;
130 
132  virtual bool isTimeManagedEnabled() const;
133 
135  virtual bool isTimeConstrained() const;
136 
138  virtual bool isTimeRegulatingFlag() const;
139 
141  virtual double lookahead() const;
142 
144  virtual double drainInputMin() const;
145 
147  virtual double drainInputMax() const;
148 
150  virtual bool isIgnoreAdvisoriesEnabled() const;
151 
153  virtual bool isTrafficAnalyzerEnabled() const;
154 
156  virtual bool isRequestUpdatesEnabled() const;
157 
159  virtual bool isSendOnlyUpdatedValueEnabled() const;
160 
162  virtual bool isPassiveSubscriptionEnabled() const;
163 
166  virtual void updateTimeManagement();
167 
168  virtual const DtLgrDisEntityTypeManager* entityTypeManager() const;
169 
171  virtual DtLgrSystemDriver* systemDriver();
172  virtual const DtLgrSystemDriver* systemDriver() const;
173 
175  virtual void disconnect(const DtString& message=DtString::nullString());
176 
177  protected:
178 
180  virtual DtResponse setConnectionParametersHLA(const DtCommand& command);
181 
183  virtual DtResponse setConnectionParametersHLAe(const DtCommand& command);
184 
186  virtual DtResponse setTimeManagement(const DtCommand& command);
187 
189  virtual DtResponse setDrainInputSettings(const DtCommand& command);
190 
192  virtual void configureConnectionInitalizer(DtExerciseConnInitializer& connInitializer);
193 
195  virtual DtResponse connect(const DtCommand& command);
196 
198  virtual DtResponse connectShared(const DtCommand& command);
199 
201  virtual DtResponse disconnect(const DtCommand& command);
202 
203  // Update the remote control filter based on the record remote control setting
204  virtual void updateRecordRemoteControlFilter();
205 
207  virtual DtResponse setEntityTypeManager(const DtCommand& command);
208 
210  virtual DtResponse setCommonEntityTypes(const DtCommand& command);
211 
213  virtual DtResponse filterEntityTypes(const DtCommand& command);
214 
216  virtual DtResponse setCommonObjectNames(const DtCommand& command);
217 
219  virtual DtResponse filterObjectNames(const DtCommand& command);
220 
222  virtual DtResponse setPassiveSubscription(const DtCommand& command);
223 
225  virtual DtResponse setRequestUpdates(const DtCommand& command);
226 
228  virtual DtResponse setIgnoreAdvisories(const DtCommand& command);
229 
231  virtual DtResponse enableTrafficAnalyzer(const DtCommand& command);
232 
234  virtual DtResponse enableSaveTrafficAnalyzerConfiguration(const DtCommand& command);
235 
237  virtual DtResponse setFilterMomSubscription(const DtCommand& command);
238 
240  virtual DtResponse loadSubscriptionListFile(const DtCommand& command);
241 
243  virtual DtResponse loadPublicationListFile(const DtCommand& command);
244 
246  virtual DtResponse saveSubscriptionListFile(const DtCommand& command);
247 
249  virtual DtResponse setSubscriptionLists(const DtCommand& command);
250 
252  virtual DtResponse addTrafficAnalyzerFilter(const DtCommand& command);
253 
255  virtual DtResponse removeTrafficAnalyzerFilter(const DtCommand& command);
256 
258  virtual DtResponse setDisableTimeManagmentTest(const DtCommand& command);
259 
261  virtual DtResponse setDynamicNamePrefix(const DtCommand& command);
262 
264  virtual DtResponse setDdmParameters(const DtCommand& command);
265 
267  virtual DtResponse setSendOnlyUpdatedValues(const DtCommand& command);
268 
269  protected:
270  DtString myFederateType;
271  DtString myFederationName;
272  DtString myFedFile;
273  DtString myFederateName;
274  std::vector<DtString> myFomModules;
275  DtString myMim;
276  DtString myFomMapper;
277  DtString myFomMapperData;
278  DtString myMatrexFomMapperData;
279  double myFomVersion;
280  int myFomRevision;
281  bool myConnectOnStart;
282  bool myUseMatrexFomMapper;
283  bool myUseEmptyFomMapper;
284  bool myIgnoreAdvisories;
285  bool myTrafficAnalyzerEnabled;
286  bool mySaveTrafficAnalyzerConfigurationEnabled;
287  bool myFilterMomSubscription;
288 
289  DtLgrHlaSimulationManager* mySimManager;
290  DtLgrSystemDriver* mySystemDriver;
291  DtLgrHlaFilterByClass* myClassFilter;
292  DtLgrHlaEntityTypeFilter* myEntityTypeFilter;
293  };
294 
295 }
296 
297 #endif

Document ID: Generated on Thu Apr 7 20:50:59 EDT 2016 from SVN revision 163818
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)