VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
intercomControlPdu.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2013 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 
9 
10 #pragma once
11 
12 #if DtDIS
13 
14 #include <vlutil/vlMachineTypes.h>
15 #include "hostStructs.h"
16 #include "interactionDIS.h"
17 #include "exerciseConn.h"
18 
19 #include "packets/intercmCtlP.h"
20 
21 #include "intercomParmRec.h"
22 #include "intercomEntityDestRec.h"
23 #include "intercomGroupAsgmtRec.h"
24 #include "intercomGroupDestRec.h"
25 
26 
27 
28 class DT_DLL_VL DtIntercomControlPdu;
29 
31 typedef void (*DtIntercomControlPduCb)(DtIntercomControlPdu* pdu, void* usr);
32 
33 
37 class DT_DLL_VL DtIntercomControlPdu : public DtInteraction
38 {
39 
40 public:
41 
43  DtIntercomControlPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
44  DtIntercomControlPdu(const DtNetIntercomControlPdu* initial,
45  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
46  DtIntercomControlPdu(const DtIntercomControlPdu& orig);
47 
49  virtual ~DtIntercomControlPdu();
50 
52  DtIntercomControlPdu& operator=(const DtIntercomControlPdu& orig);
53 
55  virtual void setControlType(DtIntercomCtlType controlType);
56  virtual DtIntercomCtlType controlType() const;
57 
59  virtual void setCommClass(DtIntercomCommClass commClass);
60  virtual DtIntercomCommClass commClass() const;
61 
63  virtual void setCommType(DtIntercomCommType commType);
64  virtual DtIntercomCommType commType() const;
65 
67  virtual void setSourceEntityID(const DtEntityIdentifier& entity);
68  virtual const DtEntityIdentifier& sourceEntityID() const;
69 
71  virtual void setSourceDeviceID(DtU16 deviceID);
72  virtual DtU16 sourceDeviceID() const;
73 
75  virtual void setSourceLineID(DtU8 lineID);
76  virtual DtU8 sourceLineID() const;
77 
79  virtual void setTransmitPriority(DtU8 transmitPriority);
80  virtual DtU8 transmitPriority() const;
81 
83  virtual void setTransmitLineState(DtIntercomTransLineState lineState);
84  virtual DtIntercomTransLineState transmitLineState() const;
85 
87  virtual void setCmdType(DtIntercomCmdType cmdType);
88  virtual DtIntercomCmdType cmdType() const;
89 
91  virtual void setMasterEntityID(const DtEntityIdentifier& entity);
92  virtual const DtEntityIdentifier& masterEntityID() const;
93 
95  virtual void setMasterDeviceID(DtU16 deviceID);
96  virtual DtU16 masterDeviceID() const;
97 
99  virtual void setMasterChannelID(DtU16 channelID);
100  virtual DtU16 masterChannelID() const;
101 
104  virtual DtU32 parmRecordsLength() const;
105 
109  virtual bool setNumParmRecords(int numRecords);
110  virtual int numParmRecords() const;
111 
114  virtual bool getRecordType(int parmIndex,
115  DtIntercomCtlRecType& recordType) const;
116 
123  virtual bool setParmRecord(int parmIndex,
124  const DtIntercomEntityDestRec& init);
125  virtual bool getParmRecord(int parmIndex,
126  DtIntercomEntityDestRec& record) const;
127  virtual bool setParmRecord(int parmIndex,
128  const DtIntercomGroupDestRec& init);
129  virtual bool getParmRecord(int parmIndex,
130  DtIntercomGroupDestRec& record) const;
131  virtual bool setParmRecord(int parmIndex,
132  const DtIntercomGroupAsgmtRec& init);
133  virtual bool getParmRecord(int parmIndex,
134  DtIntercomGroupAsgmtRec& record) const;
135 
137  virtual void printData() const;
138 
140  virtual void printDataToStream(std::ostream& stream) const;
141 
142 public:
143 
146  static DtPdu* create(const DtNetPacket* initial,
147  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
148 
151  static void addCallback(DtExerciseConn* conn,
152  DtIntercomControlPduCb cb, void* usr);
153  static void removeCallback(DtExerciseConn* conn,
154  DtIntercomControlPduCb cb, void* usr);
155 
156 protected:
157 
159  virtual DtPduKind internalGetPduKind() const;
160 
162  virtual DtNetIntercomControlPdu* netPduStruct() const;
163 
166  DtIntercomControlPdu* self() const;
167 
169  virtual char* var() const;
170 
172  virtual int recordOffset(int recordIndex) const;
173 
175  virtual void resizeRecord(DtNetIntercomParmRec* rec, int newSize);
176 
177 protected:
178 
180  static const int theStaticSize;
181 
182 protected:
183 
185  int myNumParmRecords;
186 
188  DtEntityIdentifier myEntityID;
189 
190 };
191 
192 #endif

Document ID: Generated on Fri Dec 2 02:42:08 EST 2016 from SVN revision 171416
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)