MAK Data Logger API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrHlaSimInterface.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef lgrHlaSimInterface_H_
11 #define lgrHlaSimInterface_H_
12 
13 #if DtHLA
14 
15 #include <lgrSim/lgrSim.h>
19 
20 #include <vector>
21 #include <vlutil/vlString.h>
22 
23 class DtHlaTAFilter;
24 
25 namespace MAKLogger
26 {
27  class DtBaseFomDesc;
28  class DtLogger;
29  class DtLgrHlaSimDriver;
30  class DtLgrHlaCommandFactory;
31  class DtLgrDisEntityTypeManager;
32  class DtLgrHlaConfigData;
33 
34 
38  class DT_DLL_LGRSIM DtLgrHlaSimInterface : public DtLgrSimInterface
39  {
40  public:
41 
42  typedef DtLgrHlaCommandFactory Factory;
43 
45  static DtLgrHlaSimInterface* create(DtLogger&);
46 
48  static DtLgrSimInterface* createBase(DtLogger&);
49 
52  static DtLgrHlaSimInterface* createNonThreadsafe(DtLogger& logger,
53  const DtLgrHlaSimDriver& driver);
54 
55  public:
56 
57  virtual ~DtLgrHlaSimInterface();
58 
60  virtual void setConnectionParametersHLA(
61  const DtString& federateType,
62  const DtString& federationName,
63  const DtString& fedFile,
64  bool ignoreAdvisories, double fomVersion, int fomRevision,
65  bool useMatrexFom, const DtString& matrexFomMapperData,
66  const DtString& fomMapper, const DtString& fomMapperData, bool useEmptyFomMapper, bool noRtiCompilerCheck) const;
67 
69  virtual void setConnectionParametersHLAe(
70  const DtString& federateName,
71  const DtString& federateType,
72  const DtString& federationName,
73  const DtString& fedFile,
74  const std::vector<DtString>& fomModules,
75  const DtString& mim,
76  bool ignoreAdvisories, double fomVersion, int fomRevision,
77  bool useMatrexFom, const DtString& matrexFomMapperData,
78  const DtString& fomMapper, const DtString& fomMapperData, bool useEmptyFomMapper, bool noRtiCompilerCheck) const;
79 
81  virtual void setSiteApp(int siteId, int appNumber) const;
82 
84  virtual void setSubscriptionLists(const std::vector<DtString>& objectClasses,
85  const std::vector<DtString>& interactionClasses) const;
86 
88  virtual void addTrafficAnalyzerFilter(DtHlaTAFilter* filter) const;
89 
91  virtual void removeTrafficAnalyzerFilter(DtHlaTAFilter* filter) const;
92 
94  virtual DtLgrProtocolId protocolId() const;
95 
97  virtual void getLoggerName(DtString& name) const;
98 
100  virtual const DtString& federateType() const;
101 
103  virtual const DtString& federationName() const;
104 
106  virtual const DtString& fedFile() const;
107 
109  virtual bool ignoreAdvisories() const;
110 
112  virtual bool saveTrafficAnalyzerConfigurationEnabled() const;
113 
115  virtual void enableSaveTrafficAnalyzerConfiguration(bool enable) const;
116 
118  virtual bool trafficAnalyzerEnabled() const;
119 
121  virtual void enableTrafficAnalyzer(bool enable) const;
122 
124  virtual bool requestUpdatesEnabled() const;
125 
127  virtual void enableRequestUpdates(bool enable) const;
128 
130  virtual bool sendOnlyUpdatedValuesEnabled() const;
131 
133  virtual void enableSendOnlyUpdatedValues(bool enable) const;
134 
136  virtual bool passiveSubscriptionEnabled() const;
137 
139  virtual void enablePassiveSubscription(bool enable) const;
140 
142  virtual double fomVersion() const;
143 
145  virtual int fomRevision() const;
146 
148  virtual bool useMatrexFomMapper() const;
149 
151  virtual const DtString& matrexFomMapperData() const;
152 
154  virtual const DtString& fomMapper() const;
155 
157  virtual const DtString& fomMapperData() const;
158 
160  virtual bool useEmptyFomMapper() const;
161 
163  virtual const DtString& federateName() const;
164 
166  virtual const std::vector<DtString>& fomModules() const;
167 
169  virtual const DtString& mim() const;
170 
172  virtual const DtBaseFomDesc* fomDescription() const;
173 
175  virtual const std::vector<DtString>& objectSubscriptionList() const;
176 
178  virtual const std::vector<DtString>& interactionSubscriptionList() const;
179 
181  virtual const bool isTimeConstrained() const;
182 
184  virtual const bool isTimeRegulating() const;
185 
187  virtual const double lookAhead() const;
188 
190  virtual bool timeManagementEnabled() const;
191 
193  virtual double drainInputMaxTime() const;
194 
196  virtual double drainInputMinTime() const;
197 
199  virtual void setDrainInputSettings(double maxTime, double minTime) const;
200 
202  virtual void setTimeManagementSettings(bool constrainedRecording,
203  bool constrainedPlayback,bool regulatingRecording, bool regulatingPlayback,
204  double lookahead) const;
205 
207  virtual bool timeConstrainedRecording() const;
208 
210  virtual bool timeConstrainedPlayback() const;
211 
213  virtual bool timeRegulatingRecording() const;
214 
216  virtual bool timeRegulatingPlayback() const;
217 
219  virtual void setEntityTypeManager(const DtLgrDisEntityTypeManager& mgr) const;
220 
222  virtual const DtLgrDisEntityTypeManager* entityTypeManager() const;
223 
225  virtual bool connectionSettingsMatchInputFile( DtString& filename );
226 
228  virtual void useRecommendedSettings();
229 
231  virtual void stripPathFromFomModules();
232 
233  virtual bool rtiCompilerCheck() const;
234 
235  protected:
236 
238  DtLgrHlaSimInterface(DtLogger& logger, const DtLgrHlaSimDriver& driver);
239 
241  void connectResponseHandler(DtLgrCommandId id,
242  void (DtLgrHlaSimInterface::* function)(DtResponse));
243 
245 
246 
247  void connectionParametersHLAChanged(DtResponse);
248  void connectionParametersHLAeChanged(DtResponse);
249  void siteAppNumberChanged(DtResponse);
250  void fomChanged(DtResponse);
251  void subscriptionListsChanged(DtResponse);
252  void timeManagementSettingsChanged(DtResponse);
253  void timeManagementEnabledChanged(DtResponse);
254  void drainInputSettingsChanged(DtResponse);
255  void ignoreAdvisoriesChanged(DtResponse response);
256  void trafficAnalyzerChanged(DtResponse response);
257  void saveTrafficAnalyzerConfigurationChanged(DtResponse response);
258  void entityTypeManagerChanged(DtResponse response);
259  void requestUpdatesChanged(DtResponse response);
260  void sendOnlyUpdatedValuesChanged(DtResponse response);
261  void passiveSubscriptionChanged(DtResponse response);
263 
264 
265  protected:
266  double myFomVersion;
267  int myFomRevision;
268  DtString myFomMapper;
269  DtString myMatrexFomMapperData;
270  DtString myFomMapperData;
271  DtString myFederateType;
272  DtString myFederationName;
273  DtString myFedFile;
274  DtString myFederateName;
275  std::vector<DtString> myFomModules;
276  DtString myMim;
277  DtBaseFomDesc* myFomDescription;
278  int mySiteId;
279  int myAppNumber;
280  std::vector<DtString> myObjectSubscriptionList;
281  std::vector<DtString> myInteractionSubscriptionList;
282  bool myIsTimeConstrainedFlag;
283  bool myIsTimeRegulatingFlag;
284  double myLookAhead;
285  bool myTimeManagedEnabledFlag;
286  double myDrainInputMaxTime;
287  double myDrainInputMinTime;
288  bool myIgnoreAdvisories;
289  bool myTrafficAnalyzerEnabled;
290  bool mySaveTrafficAnalyzerConfigurationEnabled;
291  bool myUseEmptyFomMapper;
292  bool myUseMatrexFomMapper;
293  bool myRequestUpdates;
294  bool mySendOnlyUpdatedValues;
295  bool myPassiveSubscription;
296  bool myNoRtiCompilerCheck;
297 
298  bool myTimeConstrainedRecording;
299  bool myTimeRegulatingRecording;
300  bool myTimeConstrainedPlayback;
301  bool myTimeRegulatingPlayback;
302 
303  DtLgrDisEntityTypeManager* myEntityTypeManager;
304 
305  DtLgrHlaConfigData myHlaConfigData;
306 
307  };
308 
309 }
310 
311 #endif
312 
313 #endif

Document ID: Generated on Thu Jul 23 15:05:27 EDT 2020 from SVN revision 215371
Copyright © 2020 MAK Technologies. All Rights Reserved (www.mak.com)