MAK Data Logger API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrDisSimDriver.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #if DtDIS
11 
12 #pragma once
13 
14 #include <lgrSim/lgrSim.h>
15 #include <lgrCore/lgrSimDriver.h>
18 #include <lgrUtil/lgrExceptions.h>
20 
21 #include <map>
22 
23 #include <vlutil/vlInetAddr.h>
24 
25 class DtExerciseConnInitializer;
26 
27 namespace MAKLogger
28 {
29 
30  class DtCommand;
31  class DtDisDescriptor;
32  class DtLgrDisEntityTypeManager;
33  class DtLgrDisCommandFactory;
34  class DtLgrDisSimulationManager;
35  class DtLgrDisSimInterface;
36  class DtLgrSimDriver;
37  class DtLgrSystemDriver;
38  class DtLgrPduTypeFilter;
39  class DtLgrDisEntityTypeFilter;
40 
44  {
45  public:
46 
49 
51 
52  virtual ~DtLgrDisSimDriver();
53  virtual void tick();
54 
56  DtResponse setConnectionParameters(const DtCommand& command);
57 
59  DtResponse setDisVersion(const DtCommand& command);
60 
62  DtResponse setHeartbeatRate(const DtCommand& command);
63 
65  DtResponse setTimeoutRate(const DtCommand& command);
66 
68  DtResponse setDrainInputSettings(const DtCommand& command);
69 
70  virtual DtLgrSimManager* simManager();
71  virtual const DtLgrSimManager* simManager() const;
72 
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;
85 
86  virtual int disVersion() const;
87  virtual double heartbeatRate() const;
88  virtual double timeoutRate() const;
89 
90  virtual double drainInputMaxTime() const;
91  virtual int numPdusToReadPerTimeCheck() const;
92 
93  virtual bool isConnected() const;
94  virtual const DtDisDescriptor* disDescription() const;
95  virtual const DtLgrDisEntityTypeManager* entityTypeManager() const;
96 
97  protected:
98 
100  virtual void configureConnectionInitalizer(DtExerciseConnInitializer& connInitializer);
101 
103  virtual DtResponse connect(const DtCommand& command);
104 
106  virtual DtResponse connectShared(const DtCommand& command);
107 
109  virtual DtResponse disconnect(const DtCommand& command);
110 
111  // Update the remote control filter based on the record remote control setting
112  virtual void updateRecordRemoteControlFilter();
113 
115  virtual DtResponse setDisDescription(const DtCommand& command);
116 
118  virtual DtResponse setEntityTypeManager(const DtCommand& command);
119 
121  virtual DtResponse setCommonEntityTypes(const DtCommand& command);
122 
124  virtual DtResponse filterEntityTypes(const DtCommand& command);
125 
127  virtual DtResponse setCommonEntityIds(const DtCommand& command);
128 
130  virtual DtResponse filterEntityIds(const DtCommand& command);
131 
133  virtual DtResponse addCustomPDU(const DtCommand& command);
134 
135  virtual DtResponse addFilteredEntityName(const DtCommand& command);
136 
137  protected:
138 
140  DtLgrPduTypeFilter* myPduFilter;
141  DtLgrDisEntityTypeFilter* myEntityTypeFilter;
142 
143  int myPort;
144  int myExerciseId;
145  int mySiteId;
146  int myAppNumber;
147  bool myUseAsynchIO;
148  DtInetAddr myDestAddr;
149  DtInetAddr myDeviceAddr;
150  // Never used independently of establishing the destination address or display
151  DtString myNetmask;
152  int mySendBufferSize;
153  int myRecvBufferSize;
154  int myMulticastTtl;
155  std::vector<DtString> myMcastAddresses;
156 
157  };
158 
159 }
160 
161 #endif

Document ID: Generated on Thu Apr 7 20:50:59 EDT 2016 from SVN revision 163818
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)