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  virtual DtLgrSimManager* simManager();
55  virtual const DtLgrSimManager* simManager() const;
57 
59  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 int siteId() const;
124 
126  virtual int appNumber() const;
127 
129  virtual const DtLgrOnlineFomDesc* connectedFomDescription() const;
130 
132  virtual std::vector<DtString> objectSubscriptionList() const;
133 
135  virtual std::vector<DtString> interactionSubscriptionList() const;
136 
138  virtual bool isTimeManagedEnabled() const;
139 
141  virtual bool isTimeConstrained() const;
142 
144  virtual bool isTimeRegulatingFlag() const;
145 
147  virtual double lookahead() const;
148 
150  virtual double drainInputMin() const;
151 
153  virtual double drainInputMax() const;
154 
156  virtual bool isIgnoreAdvisoriesEnabled() const;
157 
159  virtual bool isTrafficAnalyzerEnabled() const;
160 
162  virtual bool isRequestUpdatesEnabled() const;
163 
165  virtual bool isSendOnlyUpdatedValueEnabled() const;
166 
168  virtual bool isPassiveSubscriptionEnabled() const;
169 
172  virtual void updateTimeManagement();
173 
174  virtual const DtLgrDisEntityTypeManager* entityTypeManager() const;
175 
177  virtual DtLgrSystemDriver* systemDriver();
178  virtual const DtLgrSystemDriver* systemDriver() const;
179 
181  virtual void forceDisconnect(const DtString& message=DtString::nullString());
182 
183  protected:
184 
186  virtual DtResponse setConnectionParametersHLA(const DtCommand& command);
187 
189  virtual DtResponse setConnectionParametersHLAe(const DtCommand& command);
190 
192  virtual DtResponse setSiteApp(const DtCommand& command);
193 
195  virtual DtResponse setTimeManagement(const DtCommand& command);
196 
198  virtual DtResponse setDrainInputSettings(const DtCommand& command);
199 
201  virtual void configureConnectionInitalizer(DtExerciseConnInitializer& connInitializer);
202 
204  virtual DtResponse connect(const DtCommand& command);
205 
207  virtual DtResponse connectShared(const DtCommand& command);
208 
210  virtual DtResponse disconnect(const DtCommand& command);
211 
212  // Update the remote control filter based on the record remote control setting
213  virtual void updateRecordRemoteControlFilter();
214 
216  virtual DtResponse setEntityTypeManager(const DtCommand& command);
217 
219  virtual DtResponse setCommonEntityTypes(const DtCommand& command);
220 
222  virtual DtResponse filterEntityTypes(const DtCommand& command);
223 
225  virtual DtResponse setCommonObjectNames(const DtCommand& command);
226 
228  virtual DtResponse filterObjectNames(const DtCommand& command);
229 
231  virtual DtResponse setPassiveSubscription(const DtCommand& command);
232 
234  virtual DtResponse setRequestUpdates(const DtCommand& command);
235 
237  virtual DtResponse setIgnoreAdvisories(const DtCommand& command);
238 
240  virtual DtResponse enableTrafficAnalyzer(const DtCommand& command);
241 
243  virtual DtResponse enableSaveTrafficAnalyzerConfiguration(const DtCommand& command);
244 
246  virtual DtResponse setFilterMomSubscription(const DtCommand& command);
247 
249  virtual DtResponse loadSubscriptionListFile(const DtCommand& command);
250 
252  virtual DtResponse loadPublicationListFile(const DtCommand& command);
253 
255  virtual DtResponse saveSubscriptionListFile(const DtCommand& command);
256 
258  virtual DtResponse setSubscriptionLists(const DtCommand& command);
259 
261  virtual DtResponse addTrafficAnalyzerFilter(const DtCommand& command);
262 
264  virtual DtResponse removeTrafficAnalyzerFilter(const DtCommand& command);
265 
267  virtual DtResponse setDisableTimeManagmentTest(const DtCommand& command);
268 
270  virtual DtResponse setDynamicNamePrefix(const DtCommand& command);
271 
273  virtual DtResponse setDdmParameters(const DtCommand& command);
274 
276  virtual DtResponse setSendOnlyUpdatedValues(const DtCommand& command);
277 
278  protected:
279  DtString myFederateType;
280  DtString myFederationName;
281  DtString myFedFile;
282  DtString myFederateName;
283  std::vector<DtString> myFomModules;
284  DtString myMim;
285  DtString myFomMapper;
286  DtString myFomMapperData;
287  DtString myMatrexFomMapperData;
288  double myFomVersion;
289  int myFomRevision;
290  int mySiteId;
291  int myAppNumber;
292  bool myConnectOnStart;
293  bool myUseMatrexFomMapper;
294  bool myUseEmptyFomMapper;
295  bool myIgnoreAdvisories;
296  bool myTrafficAnalyzerEnabled;
297  bool mySaveTrafficAnalyzerConfigurationEnabled;
298  bool myFilterMomSubscription;
299  bool myNoRtiCompilerCheck;
300 
301  DtLgrHlaSimulationManager* mySimManager;
302  DtLgrSystemDriver* mySystemDriver;
303  DtLgrHlaFilterByClass* myClassFilter;
304  DtLgrHlaEntityTypeFilter* myEntityTypeFilter;
305  };
306 
307 }
308 
309 #endif
Defines IMPORT/EXPORT macros for lgrSim library.
#define DT_DLL_LGRSIM
Definition: lgrSim.h:21
#define DT_VIRTUAL_CTR(CLASS_NAME, ARG_TYPES_LIST)
Declare a Virtual Constructor Create using DT_VIRTUAL_CTR(CLASS_NAME,ARG_TYPES_LIST) Where CLASS_NAME...
Definition: virtualConstructor.h:34
Contains Logger exceptions.
DtBoost::shared_ptr< const DtCommand > DtResponse
Definition: lgrCommand.h:174
Contains DT_VIRTUAL_CTR DT_VIRTUAL_CTR_DEFAULTS DT_VIRTUAL_COPY_ASSIGN DT_VIRTUAL_BASE_CTR DT_PURE_VI...
Contains MAKLogger::DtLgrSimDriver subclass of MAKLogger::DtLgrCommandHandler.
Contains MAKLogger::DtCommandDispatcher class.

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)