10 #ifndef lgrHlaSimInterface_H_
11 #define lgrHlaSimInterface_H_
20 #include <vlutil/vlString.h>
28 class DtLgrHlaSimDriver;
29 class DtLgrHlaCommandFactory;
30 class DtLgrDisEntityTypeManager;
36 class DT_DLL_LGRSIM DtLgrHlaSimInterface :
public DtLgrSimInterface
40 typedef DtLgrHlaCommandFactory Factory;
43 static DtLgrHlaSimInterface* create(DtLogger&);
46 static DtLgrSimInterface* createBase(DtLogger&);
50 static DtLgrHlaSimInterface* createNonThreadsafe(DtLogger& logger,
51 const DtLgrHlaSimDriver& driver);
55 virtual ~DtLgrHlaSimInterface();
58 virtual void setConnectionParameters(
59 #
if DtHLA_1516_EVOLVED
60 const DtString& federateName,
62 const DtString& federateType,
63 const DtString& federationName,
64 const DtString& fedFile,
65 #
if DtHLA_1516_EVOLVED
66 const std::vector<DtString>& fomModules,
69 bool ignoreAdvisories,
double fomVersion,
int fomRevision,
70 bool useMatrexFom,
const DtString& matrexFomMapperData,
71 const DtString& fomMapper,
const DtString& fomMapperData,
bool useEmptyFomMapper)
const;
74 virtual void setSubscriptionLists(
const std::vector<DtString>& objectClasses,
75 const std::vector<DtString>& interactionClasses)
const;
78 virtual void addTrafficAnalyzerFilter(
DtHlaTAFilter* filter)
const;
81 virtual void removeTrafficAnalyzerFilter(
DtHlaTAFilter* filter)
const;
85 virtual DtString protocol()
const;
88 virtual void getLoggerName(DtString& name)
const;
91 virtual const DtString& federateType()
const;
94 virtual const DtString& federationName()
const;
97 virtual const DtString& fedFile()
const;
100 virtual bool ignoreAdvisories()
const;
103 virtual bool trafficAnalyzerEnabled()
const;
106 virtual void enableTrafficAnalyzer(
bool enable)
const;
109 virtual double fomVersion()
const;
112 virtual int fomRevision()
const;
115 virtual bool useMatrexFomMapper()
const;
118 virtual const DtString& matrexFomMapperData()
const;
121 virtual const DtString& fomMapper()
const;
124 virtual const DtString& fomMapperData()
const;
127 virtual bool useEmptyFomMapper()
const;
129 #if DtHLA_1516_EVOLVED
132 virtual const DtString& federateName()
const;
135 virtual const std::vector<DtString>& fomModules()
const;
138 virtual const DtString& mim()
const;
140 #endif // DtHLA_1516_EVOLVED
143 virtual const DtBaseFomDesc* fomDescription()
const;
146 virtual const std::vector<DtString>& objectSubscriptionList()
const;
149 virtual const std::vector<DtString>& interactionSubscriptionList()
const;
152 virtual const bool isTimeConstrained()
const;
155 virtual const bool isTimeRegulating()
const;
158 virtual const double lookAhead()
const;
161 virtual bool timeManagementEnabled()
const;
164 virtual double drainInputMaxTime()
const;
167 virtual double drainInputMinTime()
const;
170 virtual void setDrainInputSettings(
double maxTime,
double minTime)
const;
173 virtual void setTimeManagementSettings(
bool constrainedRecording,
174 bool constrainedPlayback,
bool regulatingRecording,
bool regulatingPlayback,
175 double lookahead)
const;
178 virtual bool timeConstrainedRecording()
const;
181 virtual bool timeConstrainedPlayback()
const;
184 virtual bool timeRegulatingRecording()
const;
187 virtual bool timeRegulatingPlayback()
const;
190 virtual void setEntityTypeManager(
const DtLgrDisEntityTypeManager& mgr)
const;
193 virtual const DtLgrDisEntityTypeManager* entityTypeManager()
const;
198 DtLgrHlaSimInterface(DtLogger& logger,
const DtLgrHlaSimDriver& driver);
202 void (DtLgrHlaSimInterface::*
function)(
DtResponse));
210 void timeManagementSettingsChanged(
DtResponse);
211 void timeManagementEnabledChanged(
DtResponse);
213 void ignoreAdvisoriesChanged(
DtResponse response);
214 void trafficAnalyzerChanged(
DtResponse response);
215 void entityTypeManagerChanged(
DtResponse response);
222 DtString myFomMapper;
223 DtString myMatrexFomMapperData;
224 DtString myFomMapperData;
225 DtString myFederateType;
226 DtString myFederationName;
228 #if DtHLA_1516_EVOLVED
229 DtString myFederateName;
230 std::vector<DtString> myFomModules;
233 DtBaseFomDesc* myFomDescription;
234 std::vector<DtString> myObjectSubscriptionList;
235 std::vector<DtString> myInteractionSubscriptionList;
236 bool myIsTimeConstrainedFlag;
237 bool myIsTimeRegulatingFlag;
239 bool myTimeManagedEnabledFlag;
240 double myDrainInputMaxTime;
241 double myDrainInputMinTime;
242 bool myIgnoreAdvisories;
243 bool myTrafficAnalyzerEnabled;
244 bool myUseEmptyFomMapper;
245 bool myUseMatrexFomMapper;
247 bool myTimeConstrainedRecording;
248 bool myTimeRegulatingRecording;
249 bool myTimeConstrainedPlayback;
250 bool myTimeRegulatingPlayback;
252 DtLgrDisEntityTypeManager* myEntityTypeManager;