10 #ifndef lgrDisSimInterface_H_
11 #define lgrDisSimInterface_H_
17 #include <vlutil/vlUtil.h>
18 #include <vlutil/vlInetAddr.h>
23 class DtDisDescriptor;
24 class DtLgrDisEntityTypeManager;
25 class DtLgrDisSimDriver;
26 class DtLgrDisCommandFactory;
30 class DT_DLL_LGRSIM DtLgrDisSimInterface :
public DtLgrSimInterface
33 typedef DtLgrDisCommandFactory Factory;
36 static DtLgrDisSimInterface* create(DtLogger&);
39 static DtLgrSimInterface* createBase(DtLogger&);
42 virtual ~DtLgrDisSimInterface();
46 static DtLgrDisSimInterface* createNonThreadsafe(DtLogger& logger,
47 const DtLgrDisSimDriver& driver);
52 virtual void setConnectionParameters(
int port,
int exerciseId,
int siteId,
int appNumber,
53 bool useAsynchIO,
int sendBufferSize,
int recvBufferSize,
int multicastTtl,
55 const std::vector<DtString>& mcastAddresses)
const;
58 virtual void getLoggerName(
DtString& name)
const;
61 virtual void setDisVersion(
int version)
const;
64 virtual void setHeartbeatRate(
double rate)
const;
67 virtual void setTimeoutRate(
double rate)
const;
70 virtual void setDisDescription(
const DtDisDescriptor& desc)
const;
73 virtual void setDrainInputSettings(
double maxTime,
74 int numPdusToRead)
const;
77 virtual const DtDisDescriptor* disDescription()
const;
80 virtual void setEntityTypeManager(
const DtLgrDisEntityTypeManager& mgr)
const;
83 virtual const DtLgrDisEntityTypeManager* entityTypeManager()
const;
86 virtual int port()
const;
88 virtual int exerciseId()
const;
89 virtual int siteId()
const;
90 virtual int appNumber()
const;
91 virtual bool useAsynchIO()
const;
92 virtual int sendBufferSize()
const;
93 virtual int recvBufferSize()
const;
94 virtual int multicastTtl()
const;
95 virtual DtInetAddr destAddr()
const;
96 virtual const DtString& netmask()
const;
97 virtual DtInetAddr deviceAddr()
const;
98 virtual const std::vector<DtString>& mcastAddresses()
const;
102 virtual int disVersion()
const;
105 virtual double heartbeatRate()
const;
108 virtual double timeoutRate()
const;
111 virtual double drainInputMaxTime()
const;
114 virtual int numPdusToReadPerTimeCheck()
const;
117 virtual bool connectionSettingsMatchInputFile(
DtString& filename);
123 void (DtLgrDisSimInterface::*
function)(
DtResponse));
125 void connectionParametersChanged(
DtResponse response);
127 void heartbeatRateChanged(
DtResponse response);
129 void disDescriptionChanged(
DtResponse response);
130 void entityTypeManagerChanged(
DtResponse response);
131 void drainInputSettingsChanged(
DtResponse response);
133 DtLgrDisSimInterface(DtLogger& logger,
const DtLgrDisSimDriver& driver);
135 DtDisDescriptor* myDisDescriptor;
136 DtLgrDisEntityTypeManager* myEntityTypeManager;
144 int mySendBufferSize;
145 int myRecvBufferSize;
147 DtInetAddr myDestAddr;
148 DtInetAddr myDeviceAddr;
150 std::vector<DtString> myMcastAddresses;
151 double myHeartBeatRate;
152 double myTimeoutRate;
153 double myDrainInputMaxTime;
154 int myNumPdusToReadPerTimeCheck;
Contains MAKLogger::DtLgrSimInterface subclass of MAKLogger::DtCommandInterface.
Defines IMPORT/EXPORT macros for lgrSim library.
#define DT_DLL_LGRSIM
Definition: lgrSim.h:21
unsigned char DtLgrProtocolId
Definition: lgrCommand.h:24
std::shared_ptr< const DtCommand > DtResponse
Definition: lgrCommand.h:175
short DtLgrCommandId
Definition: lgrCommand.h:25