MAK Data Logger API Documentation for HLA
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.h"
16 #include "lgrSimInterface.h"
17 #include "virtualConstructor.h"
18 #include "lgrHlaConfigData.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 trafficAnalyzerEnabled() const;
110 
112  virtual void enableTrafficAnalyzer(bool enable) const;
113 
115  virtual double fomVersion() const;
116 
118  virtual int fomRevision() const;
119 
121  virtual bool useMatrexFomMapper() const;
122 
124  virtual const DtString& matrexFomMapperData() const;
125 
127  virtual const DtString& fomMapper() const;
128 
130  virtual const DtString& fomMapperData() const;
131 
133  virtual bool useEmptyFomMapper() const;
134 
136  virtual const DtString& federateName() const;
137 
139  virtual const std::vector<DtString>& fomModules() const;
140 
142  virtual const DtString& mim() const;
143 
145  virtual const DtBaseFomDesc* fomDescription() const;
146 
148  virtual const std::vector<DtString>& objectSubscriptionList() const;
149 
151  virtual const std::vector<DtString>& interactionSubscriptionList() const;
152 
154  virtual const bool isTimeConstrained() const;
155 
157  virtual const bool isTimeRegulating() const;
158 
160  virtual const double lookAhead() const;
161 
163  virtual bool timeManagementEnabled() const;
164 
166  virtual double drainInputMaxTime() const;
167 
169  virtual double drainInputMinTime() const;
170 
172  virtual void setDrainInputSettings(double maxTime, double minTime) const;
173 
175  virtual void setTimeManagementSettings(bool constrainedRecording,
176  bool constrainedPlayback,bool regulatingRecording, bool regulatingPlayback,
177  double lookahead) const;
178 
180  virtual bool timeConstrainedRecording() const;
181 
183  virtual bool timeConstrainedPlayback() const;
184 
186  virtual bool timeRegulatingRecording() const;
187 
189  virtual bool timeRegulatingPlayback() const;
190 
192  virtual void setEntityTypeManager(const DtLgrDisEntityTypeManager& mgr) const;
193 
195  virtual const DtLgrDisEntityTypeManager* entityTypeManager() const;
196 
198  virtual bool connectionSettingsMatchInputFile( DtString& filename );
199 
201  virtual void useRecommendedSettings();
202 
204  virtual void stripPathFromFomModules();
205 
206  protected:
207 
209  DtLgrHlaSimInterface(DtLogger& logger, const DtLgrHlaSimDriver& driver);
210 
212  void connectResponseHandler(DtLgrCommandId id,
213  void (DtLgrHlaSimInterface::* function)(DtResponse));
214 
216 
217 
218  void connectionParametersHLAChanged(DtResponse);
219  void connectionParametersHLAeChanged(DtResponse);
220  void fomChanged(DtResponse);
221  void subscriptionListsChanged(DtResponse);
222  void timeManagementSettingsChanged(DtResponse);
223  void timeManagementEnabledChanged(DtResponse);
224  void drainInputSettingsChanged(DtResponse);
225  void ignoreAdvisoriesChanged(DtResponse response);
226  void trafficAnalyzerChanged(DtResponse response);
227  void entityTypeManagerChanged(DtResponse response);
229 
230 
231  protected:
232  double myFomVersion;
241  std::vector<DtString> myFomModules;
244  std::vector<DtString> myObjectSubscriptionList;
245  std::vector<DtString> myInteractionSubscriptionList;
248  double myLookAhead;
256 
261 
263 
265 
266  };
267 
268 }
269 
270 #endif
271 
272 #endif

Document ID: Generated on Mon Jan 19 08:20:14 EST 2015 from SVN revision 149581
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)