MAK Data Logger API Documentation for HLA
 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 
39  {
40  public:
41 
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) 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) const;
79 
81  virtual void setSubscriptionLists(const std::vector<DtString>& objectClasses,
82  const std::vector<DtString>& interactionClasses) const;
83 
85  virtual void addTrafficAnalyzerFilter(DtHlaTAFilter* filter) const;
86 
88  virtual void removeTrafficAnalyzerFilter(DtHlaTAFilter* filter) const;
89 
91  virtual DtLgrProtocolId protocolId() const;
92 
94  virtual void getLoggerName(DtString& name) const;
95 
97  virtual const DtString& federateType() const;
98 
100  virtual const DtString& federationName() const;
101 
103  virtual const DtString& fedFile() const;
104 
106  virtual bool ignoreAdvisories() const;
107 
109  virtual bool saveTrafficAnalyzerConfigurationEnabled() const;
110 
112  virtual void enableSaveTrafficAnalyzerConfiguration(bool enable) const;
113 
115  virtual bool trafficAnalyzerEnabled() const;
116 
118  virtual void enableTrafficAnalyzer(bool enable) const;
119 
121  virtual bool requestUpdatesEnabled() const;
122 
124  virtual void enableRequestUpdates(bool enable) const;
125 
127  virtual bool sendOnlyUpdatedValuesEnabled() const;
128 
130  virtual void enableSendOnlyUpdatedValues(bool enable) const;
131 
133  virtual bool passiveSubscriptionEnabled() const;
134 
136  virtual void enablePassiveSubscription(bool enable) const;
137 
139  virtual double fomVersion() const;
140 
142  virtual int fomRevision() const;
143 
145  virtual bool useMatrexFomMapper() const;
146 
148  virtual const DtString& matrexFomMapperData() const;
149 
151  virtual const DtString& fomMapper() const;
152 
154  virtual const DtString& fomMapperData() const;
155 
157  virtual bool useEmptyFomMapper() const;
158 
160  virtual const DtString& federateName() const;
161 
163  virtual const std::vector<DtString>& fomModules() const;
164 
166  virtual const DtString& mim() const;
167 
169  virtual const DtBaseFomDesc* fomDescription() const;
170 
172  virtual const std::vector<DtString>& objectSubscriptionList() const;
173 
175  virtual const std::vector<DtString>& interactionSubscriptionList() const;
176 
178  virtual const bool isTimeConstrained() const;
179 
181  virtual const bool isTimeRegulating() const;
182 
184  virtual const double lookAhead() const;
185 
187  virtual bool timeManagementEnabled() const;
188 
190  virtual double drainInputMaxTime() const;
191 
193  virtual double drainInputMinTime() const;
194 
196  virtual void setDrainInputSettings(double maxTime, double minTime) const;
197 
199  virtual void setTimeManagementSettings(bool constrainedRecording,
200  bool constrainedPlayback,bool regulatingRecording, bool regulatingPlayback,
201  double lookahead) const;
202 
204  virtual bool timeConstrainedRecording() const;
205 
207  virtual bool timeConstrainedPlayback() const;
208 
210  virtual bool timeRegulatingRecording() const;
211 
213  virtual bool timeRegulatingPlayback() const;
214 
216  virtual void setEntityTypeManager(const DtLgrDisEntityTypeManager& mgr) const;
217 
219  virtual const DtLgrDisEntityTypeManager* entityTypeManager() const;
220 
222  virtual bool connectionSettingsMatchInputFile( DtString& filename );
223 
225  virtual void useRecommendedSettings();
226 
228  virtual void stripPathFromFomModules();
229 
230  protected:
231 
233  DtLgrHlaSimInterface(DtLogger& logger, const DtLgrHlaSimDriver& driver);
234 
236  void connectResponseHandler(DtLgrCommandId id,
237  void (DtLgrHlaSimInterface::* function)(DtResponse));
238 
240 
241 
242  void connectionParametersHLAChanged(DtResponse);
243  void connectionParametersHLAeChanged(DtResponse);
244  void fomChanged(DtResponse);
245  void subscriptionListsChanged(DtResponse);
246  void timeManagementSettingsChanged(DtResponse);
247  void timeManagementEnabledChanged(DtResponse);
248  void drainInputSettingsChanged(DtResponse);
249  void ignoreAdvisoriesChanged(DtResponse response);
250  void trafficAnalyzerChanged(DtResponse response);
251  void saveTrafficAnalyzerConfigurationChanged(DtResponse response);
252  void entityTypeManagerChanged(DtResponse response);
253  void requestUpdatesChanged(DtResponse response);
254  void sendOnlyUpdatedValuesChanged(DtResponse response);
255  void passiveSubscriptionChanged(DtResponse response);
257 
258 
259  protected:
260  double myFomVersion;
269  std::vector<DtString> myFomModules;
272  std::vector<DtString> myObjectSubscriptionList;
273  std::vector<DtString> myInteractionSubscriptionList;
276  double myLookAhead;
288 
293 
295 
297 
298  };
299 
300 }
301 
302 #endif
303 
304 #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)