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 setCommonObjectNames(
const DtCommand& command);
182 virtual DtResponse filterObjectNames(
const DtCommand& command);
185 virtual DtResponse setPassiveSubscription(
const DtCommand& command);
188 virtual DtResponse setIgnoreAdvisories(
const DtCommand& command);
191 virtual DtResponse enableTrafficAnalyzer(
const DtCommand& command);
194 virtual DtResponse loadSubscriptionListFile(
const DtCommand& command);
197 virtual DtResponse loadPublicationListFile(
const DtCommand& command);
200 virtual DtResponse saveSubscriptionListFile(
const DtCommand& command);
203 virtual DtResponse setSubscriptionLists(
const DtCommand& command);
206 virtual DtResponse addTrafficAnalyzerFilter(
const DtCommand& command);
209 virtual DtResponse removeTrafficAnalyzerFilter(
const DtCommand& command);
212 virtual DtResponse setDisableTimeManagmentTest(
const DtCommand& command);
215 virtual DtResponse setDynamicNamePrefix(
const DtCommand& command);
218 virtual DtResponse setDdmParameters(
const DtCommand& command);
220 DtString myFederateType;
221 DtString myFederationName;
223 #if DtHLA_1516_EVOLVED
224 DtString myFederateName;
225 std::vector<DtString> myFomModules;
227 #endif // DtHLA_1516_EVOLVED
228 DtString myFomMapper;
229 DtString myFomMapperData;
230 DtString myMatrexFomMapperData;
233 bool myConnectOnStart;
234 bool myUseMatrexFomMapper;
235 bool myUseEmptyFomMapper;
236 bool myIgnoreAdvisories;
237 bool myTrafficAnalyzerEnabled;
239 DtLgrHlaSimulationManager* mySimManager;
240 DtLgrSystemDriver* mySystemDriver;
241 DtLgrHlaFilterByClass* myClassFilter;
242 DtLgrHlaEntityTypeFilter* myEntityTypeFilter;