VR-Link API Documentation for DIS
intercmCtlPdu.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 
9 
10 #ifndef DtIntercomControlPdu_H_
11 #define DtIntercomControlPdu_H_
12 
13 #if DtDIS
14 
15 #include <vlutil/vlMachineTypes.h>
16 #include "hostStructs.h"
17 #include "dInteraction.h"
18 #include "exerciseConn.h"
19 
20 #include "packets/intercmCtlP.h"
21 
22 #include "intercmParRec.h"
23 #include "intercmEntDst.h"
24 #include "intercmGrpAsg.h"
25 #include "intercmGrpDst.h"
26 
27 
28 
30 
32 typedef void (*DtIntercomControlPduCb)(DtIntercomControlPdu* pdu, void* usr);
33 
34 
39 {
40 
41 public:
42 
48 
50  virtual ~DtIntercomControlPdu();
51 
54 
56  virtual void setControlType(DtIntercomCtlType controlType);
57  virtual DtIntercomCtlType controlType() const;
58 
60  virtual void setCommClass(DtIntercomCommClass commClass);
61  virtual DtIntercomCommClass commClass() const;
62 
64  virtual void setCommType(DtIntercomCommType commType);
65  virtual DtIntercomCommType commType() const;
66 
68  virtual void setSourceEntityID(const DtEntityIdentifier& entity);
69  virtual const DtEntityIdentifier& sourceEntityID() const;
70 
72  virtual void setSourceDeviceID(DtU16 deviceID);
73  virtual DtU16 sourceDeviceID() const;
74 
76  virtual void setSourceLineID(DtU8 lineID);
77  virtual DtU8 sourceLineID() const;
78 
80  virtual void setTransmitPriority(DtU8 transmitPriority);
81  virtual DtU8 transmitPriority() const;
82 
84  virtual void setTransmitLineState(DtIntercomTransLineState lineState);
85  virtual DtIntercomTransLineState transmitLineState() const;
86 
88  virtual void setCmdType(DtIntercomCmdType cmdType);
89  virtual DtIntercomCmdType cmdType() const;
90 
92  virtual void setMasterEntityID(const DtEntityIdentifier& entity);
93  virtual const DtEntityIdentifier& masterEntityID() const;
94 
96  virtual void setMasterDeviceID(DtU16 deviceID);
97  virtual DtU16 masterDeviceID() const;
98 
100  virtual void setMasterChannelID(DtU16 channelID);
101  virtual DtU16 masterChannelID() const;
102 
105  virtual DtU32 parmRecordsLength() const;
106 
110  virtual bool setNumParmRecords(int numRecords);
111  virtual int numParmRecords() const;
112 
115  virtual bool getRecordType(int parmIndex,
116  DtIntercomCtlRecType& recordType) const;
117 
124  virtual bool setParmRecord(int parmIndex,
125  const DtIntercomEntityDestRec& init);
126  virtual bool getParmRecord(int parmIndex,
127  DtIntercomEntityDestRec& record) const;
128  virtual bool setParmRecord(int parmIndex,
129  const DtIntercomGroupDestRec& init);
130  virtual bool getParmRecord(int parmIndex,
131  DtIntercomGroupDestRec& record) const;
132  virtual bool setParmRecord(int parmIndex,
133  const DtIntercomGroupAsgmtRec& init);
134  virtual bool getParmRecord(int parmIndex,
135  DtIntercomGroupAsgmtRec& record) const;
136 
138  virtual void printData() const;
139 
141  virtual void printDataToStream(std::ostream& stream) const;
142 
143 public:
144 
147  static DtPdu* create(const DtNetPacket* initial,
149 
152  static void addCallback(DtExerciseConn* conn,
153  DtIntercomControlPduCb cb, void* usr);
154  static void removeCallback(DtExerciseConn* conn,
155  DtIntercomControlPduCb cb, void* usr);
156 
157 protected:
158 
160  virtual DtPduKind internalGetPduKind() const;
161 
163  virtual DtNetIntercomControlPdu* netPduStruct() const;
164 
167  DtIntercomControlPdu* self() const;
168 
170  virtual char* var() const;
171 
173  virtual int recordOffset(int recordIndex) const;
174 
176  virtual void resizeRecord(DtNetIntercomParmRec* rec, int newSize);
177 
178 protected:
179 
181  static const int theStaticSize;
182 
183 protected:
184 
187 
190 
191 };
192 
193 #endif
194 #endif
195 

Document ID: Generated on Wed Aug 14 15:35:11 EDT 2013 from SVN revision 130445
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)