10 #ifndef lgrHlaSimInterface_H_
11 #define lgrHlaSimInterface_H_
21 #include <vlutil/vlString.h>
29 class DtLgrHlaSimDriver;
30 class DtLgrHlaCommandFactory;
31 class DtLgrDisEntityTypeManager;
32 class DtLgrHlaConfigData;
38 class DT_DLL_LGRSIM DtLgrHlaSimInterface :
public DtLgrSimInterface
42 typedef DtLgrHlaCommandFactory Factory;
45 static DtLgrHlaSimInterface* create(DtLogger&);
48 static DtLgrSimInterface* createBase(DtLogger&);
52 static DtLgrHlaSimInterface* createNonThreadsafe(DtLogger& logger,
53 const DtLgrHlaSimDriver& driver);
57 virtual ~DtLgrHlaSimInterface();
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;
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,
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;
81 virtual void setSiteApp(
int siteId,
int appNumber)
const;
84 virtual void setSubscriptionLists(
const std::vector<DtString>& objectClasses,
85 const std::vector<DtString>& interactionClasses)
const;
88 virtual void addTrafficAnalyzerFilter(
DtHlaTAFilter* filter)
const;
91 virtual void removeTrafficAnalyzerFilter(
DtHlaTAFilter* filter)
const;
97 virtual void getLoggerName(DtString& name)
const;
100 virtual const DtString& federateType()
const;
103 virtual const DtString& federationName()
const;
106 virtual const DtString& fedFile()
const;
109 virtual bool ignoreAdvisories()
const;
112 virtual bool saveTrafficAnalyzerConfigurationEnabled()
const;
115 virtual void enableSaveTrafficAnalyzerConfiguration(
bool enable)
const;
118 virtual bool trafficAnalyzerEnabled()
const;
121 virtual void enableTrafficAnalyzer(
bool enable)
const;
124 virtual bool requestUpdatesEnabled()
const;
127 virtual void enableRequestUpdates(
bool enable)
const;
130 virtual bool sendOnlyUpdatedValuesEnabled()
const;
133 virtual void enableSendOnlyUpdatedValues(
bool enable)
const;
136 virtual bool passiveSubscriptionEnabled()
const;
139 virtual void enablePassiveSubscription(
bool enable)
const;
142 virtual double fomVersion()
const;
145 virtual int fomRevision()
const;
148 virtual bool useMatrexFomMapper()
const;
151 virtual const DtString& matrexFomMapperData()
const;
154 virtual const DtString& fomMapper()
const;
157 virtual const DtString& fomMapperData()
const;
160 virtual bool useEmptyFomMapper()
const;
163 virtual const DtString& federateName()
const;
166 virtual const std::vector<DtString>& fomModules()
const;
169 virtual const DtString& mim()
const;
172 virtual const DtBaseFomDesc* fomDescription()
const;
175 virtual const std::vector<DtString>& objectSubscriptionList()
const;
178 virtual const std::vector<DtString>& interactionSubscriptionList()
const;
181 virtual const bool isTimeConstrained()
const;
184 virtual const bool isTimeRegulating()
const;
187 virtual const double lookAhead()
const;
190 virtual bool timeManagementEnabled()
const;
193 virtual double drainInputMaxTime()
const;
196 virtual double drainInputMinTime()
const;
199 virtual void setDrainInputSettings(
double maxTime,
double minTime)
const;
202 virtual void setTimeManagementSettings(
bool constrainedRecording,
203 bool constrainedPlayback,
bool regulatingRecording,
bool regulatingPlayback,
204 double lookahead)
const;
207 virtual bool timeConstrainedRecording()
const;
210 virtual bool timeConstrainedPlayback()
const;
213 virtual bool timeRegulatingRecording()
const;
216 virtual bool timeRegulatingPlayback()
const;
219 virtual void setEntityTypeManager(
const DtLgrDisEntityTypeManager& mgr)
const;
222 virtual const DtLgrDisEntityTypeManager* entityTypeManager()
const;
225 virtual bool connectionSettingsMatchInputFile( DtString& filename );
228 virtual void useRecommendedSettings();
231 virtual void stripPathFromFomModules();
233 virtual bool rtiCompilerCheck()
const;
238 DtLgrHlaSimInterface(DtLogger& logger,
const DtLgrHlaSimDriver& driver);
242 void (DtLgrHlaSimInterface::*
function)(
DtResponse));
247 void connectionParametersHLAChanged(
DtResponse);
248 void connectionParametersHLAeChanged(
DtResponse);
252 void timeManagementSettingsChanged(
DtResponse);
253 void timeManagementEnabledChanged(
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);
268 DtString myFomMapper;
269 DtString myMatrexFomMapperData;
270 DtString myFomMapperData;
271 DtString myFederateType;
272 DtString myFederationName;
274 DtString myFederateName;
275 std::vector<DtString> myFomModules;
277 DtBaseFomDesc* myFomDescription;
280 std::vector<DtString> myObjectSubscriptionList;
281 std::vector<DtString> myInteractionSubscriptionList;
282 bool myIsTimeConstrainedFlag;
283 bool myIsTimeRegulatingFlag;
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;
298 bool myTimeConstrainedRecording;
299 bool myTimeRegulatingRecording;
300 bool myTimeConstrainedPlayback;
301 bool myTimeRegulatingPlayback;
303 DtLgrDisEntityTypeManager* myEntityTypeManager;
305 DtLgrHlaConfigData myHlaConfigData;
Contains MAKLogger::DtLgrSimInterface subclass of MAKLogger::DtCommandInterface.
Defines IMPORT/EXPORT macros for lgrSim library.
#define DT_DLL_LGRSIM
Definition: lgrSim.h:21
DtBoost::shared_ptr< const DtCommand > DtResponse
Definition: lgrCommand.h:174
Contains DT_VIRTUAL_CTR DT_VIRTUAL_CTR_DEFAULTS DT_VIRTUAL_COPY_ASSIGN DT_VIRTUAL_BASE_CTR DT_PURE_VI...
Definition: hlaTAFilter.h:15
unsigned char DtLgrProtocolId
Definition: lgrCommand.h:24
Contains MAKLogger::DtLgrHlaConfigData class.
short DtLgrCommandId
Definition: lgrCommand.h:25