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 
19 #include <vector>
20 #include <vlutil/vlString.h>
21 
22 class DtHlaTAFilter;
23 
24 namespace MAKLogger
25 {
26  class DtBaseFomDesc;
27  class DtLogger;
28  class DtLgrHlaSimDriver;
29  class DtLgrHlaCommandFactory;
30  class DtLgrDisEntityTypeManager;
31 
32 
37  {
38  public:
39 
41 
43  static DtLgrHlaSimInterface* create(DtLogger&);
44 
46  static DtLgrSimInterface* createBase(DtLogger&);
47 
50  static DtLgrHlaSimInterface* createNonThreadsafe(DtLogger& logger,
51  const DtLgrHlaSimDriver& driver);
52 
53  public:
54 
55  virtual ~DtLgrHlaSimInterface();
56 
58  virtual void setConnectionParameters(
59 #if DtHLA_1516_EVOLVED
60  const DtString& federateName,
61 #endif
62  const DtString& federateType,
63  const DtString& federationName,
64  const DtString& fedFile,
65 #if DtHLA_1516_EVOLVED
66  const std::vector<DtString>& fomModules,
67  const DtString& mim,
68 #endif
69  bool ignoreAdvisories, double fomVersion, int fomRevision,
70  bool useMatrexFom, const DtString& matrexFomMapperData,
71  const DtString& fomMapper, const DtString& fomMapperData, bool useEmptyFomMapper) const;
72 
74  virtual void setSubscriptionLists(const std::vector<DtString>& objectClasses,
75  const std::vector<DtString>& interactionClasses) const;
76 
78  virtual void addTrafficAnalyzerFilter(DtHlaTAFilter* filter) const;
79 
81  virtual void removeTrafficAnalyzerFilter(DtHlaTAFilter* filter) const;
82 
85  virtual DtString protocol() const;
86 
88  virtual void getLoggerName(DtString& name) const;
89 
91  virtual const DtString& federateType() const;
92 
94  virtual const DtString& federationName() const;
95 
97  virtual const DtString& fedFile() const;
98 
100  virtual bool ignoreAdvisories() const;
101 
103  virtual bool trafficAnalyzerEnabled() const;
104 
106  virtual void enableTrafficAnalyzer(bool enable) const;
107 
109  virtual double fomVersion() const;
110 
112  virtual int fomRevision() const;
113 
115  virtual bool useMatrexFomMapper() const;
116 
118  virtual const DtString& matrexFomMapperData() const;
119 
121  virtual const DtString& fomMapper() const;
122 
124  virtual const DtString& fomMapperData() const;
125 
127  virtual bool useEmptyFomMapper() const;
128 
129 #if DtHLA_1516_EVOLVED
130 
132  virtual const DtString& federateName() const;
133 
135  virtual const std::vector<DtString>& fomModules() const;
136 
138  virtual const DtString& mim() const;
139 
140 #endif // DtHLA_1516_EVOLVED
141 
143  virtual const DtBaseFomDesc* fomDescription() const;
144 
146  virtual const std::vector<DtString>& objectSubscriptionList() const;
147 
149  virtual const std::vector<DtString>& interactionSubscriptionList() const;
150 
152  virtual const bool isTimeConstrained() const;
153 
155  virtual const bool isTimeRegulating() const;
156 
158  virtual const double lookAhead() const;
159 
161  virtual bool timeManagementEnabled() const;
162 
164  virtual double drainInputMaxTime() const;
165 
167  virtual double drainInputMinTime() const;
168 
170  virtual void setDrainInputSettings(double maxTime, double minTime) const;
171 
173  virtual void setTimeManagementSettings(bool constrainedRecording,
174  bool constrainedPlayback,bool regulatingRecording, bool regulatingPlayback,
175  double lookahead) const;
176 
178  virtual bool timeConstrainedRecording() const;
179 
181  virtual bool timeConstrainedPlayback() const;
182 
184  virtual bool timeRegulatingRecording() const;
185 
187  virtual bool timeRegulatingPlayback() const;
188 
190  virtual void setEntityTypeManager(const DtLgrDisEntityTypeManager& mgr) const;
191 
193  virtual const DtLgrDisEntityTypeManager* entityTypeManager() const;
194 
195  protected:
196 
198  DtLgrHlaSimInterface(DtLogger& logger, const DtLgrHlaSimDriver& driver);
199 
201  void connectResponseHandler(DtLgrCommandId id,
202  void (DtLgrHlaSimInterface::* function)(DtResponse));
203 
205 
206 
207  void connectionParametersChanged(DtResponse);
208  void fomChanged(DtResponse);
209  void subscriptionListsChanged(DtResponse);
210  void timeManagementSettingsChanged(DtResponse);
211  void timeManagementEnabledChanged(DtResponse);
212  void drainInputSettingsChanged(DtResponse);
213  void ignoreAdvisoriesChanged(DtResponse response);
214  void trafficAnalyzerChanged(DtResponse response);
215  void entityTypeManagerChanged(DtResponse response);
217 
218 
219  protected:
220  double myFomVersion;
228 #if DtHLA_1516_EVOLVED
229  DtString myFederateName;
230  std::vector<DtString> myFomModules;
231  DtString myMim;
232 #endif
234  std::vector<DtString> myObjectSubscriptionList;
235  std::vector<DtString> myInteractionSubscriptionList;
238  double myLookAhead;
246 
251 
253 
254  };
255 
256 }
257 
258 #endif
259 
260 #endif

Document ID: Generated on Sun Dec 15 18:04:30 EST 2013 from SVN revision 134418
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)