23 #include <vlutil/vlInetAddr.h>
25 class DtExerciseConnInitializer;
31 class DtDisDescriptor;
32 class DtLgrDisEntityTypeManager;
33 class DtLgrDisCommandFactory;
34 class DtLgrDisSimulationManager;
35 class DtLgrDisSimInterface;
37 class DtLgrSystemDriver;
38 class DtLgrPduTypeFilter;
39 class DtLgrDisEntityTypeFilter;
47 typedef DtLgrDisCommandFactory Factory;
48 typedef DtLgrDisSimInterface Interface;
52 virtual ~DtLgrDisSimDriver();
56 DtResponse setConnectionParameters(const DtCommand& command);
59 DtResponse setDisVersion(const DtCommand& command);
62 DtResponse setHeartbeatRate(const DtCommand& command);
65 DtResponse setTimeoutRate(const DtCommand& command);
68 DtResponse setDrainInputSettings(const DtCommand& command);
70 virtual DtLgrSimManager* simManager();
71 virtual const DtLgrSimManager* simManager() const;
73 virtual
int port() const;
74 virtual
int exerciseId() const;
75 virtual
int siteId() const;
76 virtual
int appNumber() const;
77 virtual
bool useAsynchIO() const;
78 virtual DtInetAddr destAddr() const;
79 virtual DtInetAddr deviceAddr() const;
80 virtual const
DtString& netmask() const;
81 virtual
int sendBufferSize() const;
82 virtual
int recvBufferSize() const;
83 virtual
int multicastTtl() const;
84 virtual const std::vector<
DtString>& mcastAddresses() const;
86 virtual
int disVersion() const;
87 virtual
double heartbeatRate() const;
88 virtual
double timeoutRate() const;
90 virtual
double drainInputMaxTime() const;
91 virtual
int numPdusToReadPerTimeCheck() const;
93 virtual
bool isConnected() const;
94 virtual const DtDisDescriptor* disDescription() const;
95 virtual const DtLgrDisEntityTypeManager* entityTypeManager() const;
100 virtual
void configureConnectionInitalizer(DtExerciseConnInitializer& connInitializer);
103 virtual
DtResponse connect(const DtCommand& command);
106 virtual
DtResponse connectShared(const DtCommand& command);
109 virtual
DtResponse disconnect(const DtCommand& command);
112 virtual
void updateRecordRemoteControlFilter();
115 virtual
DtResponse setDisDescription(const DtCommand& command);
118 virtual
DtResponse setEntityTypeManager(const DtCommand& command);
121 virtual
DtResponse setCommonEntityTypes(const DtCommand& command);
124 virtual
DtResponse filterEntityTypes(const DtCommand& command);
127 virtual
DtResponse setCommonEntityIds(const DtCommand& command);
130 virtual
DtResponse filterEntityIds(const DtCommand& command);
133 virtual
DtResponse addCustomPDU(const DtCommand& command);
135 virtual
DtResponse addFilteredEntityName(const DtCommand& command);
139 DtLgrDisSimulationManager* mySimManager;
140 DtLgrPduTypeFilter* myPduFilter;
141 DtLgrDisEntityTypeFilter* myEntityTypeFilter;
148 DtInetAddr myDestAddr;
149 DtInetAddr myDeviceAddr;
152 int mySendBufferSize;
153 int myRecvBufferSize;
155 std::vector<
DtString> myMcastAddresses;