12 #ifndef lgrDisSimDriver_H_
13 #define lgrDisSimDriver_H_
24 #include <vlutil/vlInetAddr.h>
26 class DtExerciseConnInitializer;
32 class DtDisDescriptor;
33 class DtLgrDisEntityTypeManager;
34 class DtLgrDisCommandFactory;
35 class DtLgrDisSimulationManager;
36 class DtLgrDisSimInterface;
38 class DtMessagePipeline;
39 class DtLgrSystemDriver;
40 class DtLgrPduTypeFilter;
41 class DtLgrDisEntityTypeFilter;
49 typedef DtLgrDisCommandFactory Factory;
50 typedef DtLgrDisSimInterface Interface;
54 virtual ~DtLgrDisSimDriver();
58 DtResponse setConnectionParameters(const DtCommand& command);
61 DtResponse setHeartbeatRate(const DtCommand& command);
64 DtResponse setTimeoutRate(const DtCommand& command);
67 DtResponse setDrainInputSettings(const DtCommand& command);
69 virtual DtLgrSimManager* simManager();
70 virtual const DtLgrSimManager* simManager() const;
72 virtual
int port() const;
73 virtual
int exerciseId() const;
74 virtual
int siteId() const;
75 virtual
int appNumber() const;
76 virtual
bool useAsynchIO() const;
77 virtual DtInetAddr destAddr() const;
78 virtual DtInetAddr deviceAddr() const;
79 virtual const
DtString& netmask() const;
80 virtual
int sendBufferSize() const;
81 virtual
int recvBufferSize() const;
82 virtual
int multicastTtl() const;
83 virtual const std::vector<
DtString>& mcastAddresses() const;
85 virtual
double heartbeatRate() const;
86 virtual
double timeoutRate() const;
88 virtual
double drainInputMaxTime() const;
89 virtual
int numPdusToReadPerTimeCheck() const;
91 virtual
bool isConnected() const;
92 virtual const DtDisDescriptor* disDescription() const;
93 virtual const DtLgrDisEntityTypeManager* entityTypeManager() const;
98 virtual
DtResponse connect(const DtCommand& command);
101 virtual
DtResponse connectShared(const DtCommand& command);
104 virtual
DtResponse disconnect(const DtCommand& command);
107 virtual
void updateRecordRemoteControlFilter();
110 virtual
DtResponse setDisDescription(const DtCommand& command);
113 virtual
DtResponse setEntityTypeManager(const DtCommand& command);
116 virtual
DtResponse setCommonEntityTypes(const DtCommand& command);
119 virtual
DtResponse filterEntityTypes(const DtCommand& command);
122 virtual
DtResponse addCustomPDU(const DtCommand& command);
124 virtual
DtResponse addFilteredEntityName(const DtCommand& command);
134 virtual
bool releasePipeline();
135 virtual
bool getPipeline();
136 virtual
bool hasPipeline() const;
144 class DtFixedExerciseConnInitializer;
146 DtLgrDisSimulationManager* mySimManager;
147 DtLgrPduTypeFilter* myPduFilter;
148 DtLgrDisEntityTypeFilter* myEntityTypeFilter;
155 DtInetAddr myDestAddr;
156 DtInetAddr myDeviceAddr;
159 int mySendBufferSize;
160 int myRecvBufferSize;
162 std::vector<
DtString> myMcastAddresses;