11 #ifndef lgrHlaSimDriver_H_
12 #define lgrHlaSimDriver_H_
24 class DtLgrOnlineFomDesc;
26 class DtLgrHlaCommandFactory;
27 class DtLgrHlaSimulationManager;
28 class DtLgrHlaSimInterface;
30 class DtMessagePipeline;
31 class DtLgrSystemDriver;
32 class DtLgrHlaFilterByClass;
33 class DtLgrHlaEntityTypeFilter;
34 class DtLgrDisEntityTypeManager;
42 typedef DtLgrHlaCommandFactory Factory;
43 typedef DtLgrHlaSimInterface Interface;
47 virtual ~DtLgrHlaSimDriver();
55 bool releasePipeline();
61 bool hasPipeline() const;
65 virtual DtLgrSimManager* simManager();
66 virtual const DtLgrSimManager* simManager() const;
71 virtual DtLgrHlaSimulationManager* hlaSimManager();
72 virtual const DtLgrHlaSimulationManager* hlaSimManager() const;
76 virtual const DtString& federateType() const;
79 virtual const DtString& federationName() const;
82 virtual const DtString& fedFile() const;
84 #if DtHLA_1516_EVOLVED
87 virtual const DtString& federateName()
const;
90 virtual const std::vector<DtString>& fomModules()
const;
93 virtual const DtString& mim()
const;
95 #endif // DtHLA_1516_EVOLVED
98 virtual bool ignoreAdvisories()
const;
101 virtual bool trafficAnalyzerEnabled()
const;
104 virtual double fomVersion()
const;
107 virtual int fomRevision()
const;
110 virtual bool useMatrexFomMapper()
const;
113 virtual const DtString& matrexFomMapperData()
const;
116 virtual const DtString& fomMapper()
const;
119 virtual const DtString& fomMapperData()
const;
122 virtual bool useEmptyFomMapper()
const;
125 virtual bool isConnected()
const;
128 virtual const DtLgrOnlineFomDesc* connectedFomDescription()
const;
131 virtual std::vector<DtString> objectSubscriptionList()
const;
134 virtual std::vector<DtString> interactionSubscriptionList()
const;
138 virtual void updateTimeManagement();
140 virtual const DtLgrDisEntityTypeManager* entityTypeManager()
const;
143 virtual DtLgrSystemDriver* systemDriver();
144 virtual const DtLgrSystemDriver* systemDriver()
const;
149 virtual DtResponse setConnectionParameters(
const DtCommand& command);
152 virtual DtResponse setTimeManagement(
const DtCommand& command);
155 virtual DtResponse setDrainInputSettings(
const DtCommand& command);
158 virtual DtResponse connect(
const DtCommand& command);
161 virtual DtResponse connectShared(
const DtCommand& command);
164 virtual DtResponse disconnect(
const DtCommand& command);
167 virtual void updateRecordRemoteControlFilter();
170 virtual DtResponse setEntityTypeManager(
const DtCommand& command);
173 virtual DtResponse setCommonEntityTypes(
const DtCommand& command);
176 virtual DtResponse filterEntityTypes(
const DtCommand& command);
179 virtual DtResponse setPassiveSubscription(
const DtCommand& command);
182 virtual DtResponse setIgnoreAdvisories(
const DtCommand& command);
185 virtual DtResponse enableTrafficAnalyzer(
const DtCommand& command);
188 virtual DtResponse loadSubscriptionListFile(
const DtCommand& command);
191 virtual DtResponse loadPublicationListFile(
const DtCommand& command);
194 virtual DtResponse saveSubscriptionListFile(
const DtCommand& command);
197 virtual DtResponse setSubscriptionLists(
const DtCommand& command);
200 virtual DtResponse addTrafficAnalyzerFilter(
const DtCommand& command);
203 virtual DtResponse removeTrafficAnalyzerFilter(
const DtCommand& command);
206 virtual DtResponse setDisableTimeManagmentTest(
const DtCommand& command);
209 virtual DtResponse setDynamicNamePrefix(
const DtCommand& command);
212 virtual DtResponse setDdmParameters(
const DtCommand& command);
214 DtString myFederateType;
215 DtString myFederationName;
217 #if DtHLA_1516_EVOLVED
218 DtString myFederateName;
219 std::vector<DtString> myFomModules;
221 #endif // DtHLA_1516_EVOLVED
222 DtString myFomMapper;
223 DtString myFomMapperData;
224 DtString myMatrexFomMapperData;
227 bool myConnectOnStart;
228 bool myUseMatrexFomMapper;
229 bool myUseEmptyFomMapper;
230 bool myIgnoreAdvisories;
231 bool myTrafficAnalyzerEnabled;
233 DtLgrHlaSimulationManager* mySimManager;
234 DtLgrSystemDriver* mySystemDriver;
235 DtLgrHlaFilterByClass* myClassFilter;
236 DtLgrHlaEntityTypeFilter* myEntityTypeFilter;