VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtDiGuyDecoders.h
Go to the documentation of this file.
1 /***************************************************************************
2  * Copyright (c) 2020 MAK Technologies, Inc.
3  * All rights reserved.
4  ***************************************************************************/
8 
9 #pragma once
10 
11 #if DtDIS
12 
13 #include <vl/stateRepositoryExtension.h>
14 #include <vl/globalObjectDesignator.h>
15 
16 #include <vlpi/netStructs.h>
17 
18 #include <vl/packets/standardVariableRecordP.h>
19 
20 #include <vl/genericVariableRecord.h>
21 
22 #include <vl/stateRepositoryExtensionEncoder.h>
23 #include <vl/stateRepositoryExtensionDecoder.h>
25 
27 
28 namespace makVrv
29 {
30  namespace DT_PROTOCOL_NAMESPACE
31  {
33 
36  {
37  public:
38 
39  Dt_DEF_EXTENSION_NAME("diguyEquipment");
45  static DtStateRepositoryExtension* create();
46 
48  const DtString& equipmentString();
49  bool setEquipmentString(const DtString& val);
50 
52  void setForceNextUpdate();
53 
54  protected:
57 
58  private:
63 
64  };
65 
66 
69 
72  {
73  bool operator==(const DtNetDiguyEquipmentRecord& rhs) const
74  {
75  return strcmp((char*)myName, (char*)rhs.myName);
76  }
77  bool operator!=(const DtNetDiguyEquipmentRecord& rhs) const
78  {
79  return !operator==(rhs);
80  }
81 
82  // Name is a string value that will require padding to 8-byte boundary
83  // Name is variable size. Needs to be at the end of net struct.
84  DtNetU8 myName[1];
85 
86  private:
90  DtNetDiguyEquipmentRecord& operator=(const DtNetDiguyEquipmentRecord&) = delete;
91 
92  } ;
93 
98  {
99  public:
100 
103 
106 
108  DtDiGuyEquipmentRecord(void* netBuffer, unsigned int size);
109 
111  virtual DtDiGuyEquipmentRecord& operator=(const DtDiGuyEquipmentRecord& record);
112 
114  virtual DtStandardVariableRecord& operator=(const DtStandardVariableRecord& other);
115 
117  virtual bool operator==(const DtDiGuyEquipmentRecord& record);
118 
120  virtual bool operator==(const DtStandardVariableRecord& other);
121 
123 
124  virtual unsigned int recordType() const;
125  virtual void setRecordType(unsigned int recordType);
127 
129 
130  virtual unsigned int recordLength() const;
132  virtual void setRecordLength(unsigned int length);
134 
136 
137  virtual const char* equipmentString() const;
138  virtual void setEquipmentString(const DtString& nameValue);
140 
141 
144  virtual void writeRecord(void * addr) const;
145 
148  virtual void setFromNet(const void* netRecord, unsigned int length, DtStandardVariableRetCode* retCode = NULL);
149 
151  virtual void printDataToStream(std::ostream& stream) const;
152 
154  virtual unsigned int unpaddedNetsize() const;
155 
157  virtual DtStandardVariableRecord* clone() const;
158 
159  public:
160 
162  static DtStandardVariableRecord* create(void* addr, unsigned int length);
163 
165  static unsigned int recordTypeToUse();
166 
168  static void setRecordTypeToUse(unsigned int typeToUse);
169 
170  protected:
171 
172  std::vector<char> myRecordBuffer;
174  char* myNamePtr;
175 
176  protected:
177 
178  static const unsigned int theMinimumSize;
179 
180  };
181 
182 
187  {
188  public:
190  DtDiGuyEquipmentStateRepExtensionEncoder(DtExerciseConn* exConn);
193 
195  void encode(DtStateRepository* stateRep, const DtStateRepository& asSeenByRemote);
196 
198  DtStateRepositoryExtensionEncoder* clone() const;
199 
200  private:
205 
206  };
207 
212  {
213  public:
219  void decode(DtPdu * pdu, const DtStateRepository& stateRep);
220 
222  DtStateRepositoryExtensionDecoder* clone() const;
223 
226 
227  protected:
229 
230  private:
235 
236  };
237  }
238 }
239 
240 #endif // DtDIS
DIGuy equipment Attribute Record.
Definition: DtDiGuyDecoders.h:71
temp class for encoding equipment
Definition: DtDiGuyDecoders.h:186
temp class for decoding equipment, don&#39;t think it gets used but seemed required
Definition: DtDiGuyDecoders.h:211
voidpf void uLong size
Definition: ioapi.h:39
DtString myEquipmentString
Definition: DtDiGuyDecoders.h:55
class for dealing with extension string, will probably go away with vrlink upgrade.
Definition: DtDiGuyDecoders.h:35
#define DL_DLL_IGCONVRLINK
Definition: dllExport.h:26
bool operator==(const DtNetDiguyEquipmentRecord &rhs) const
Definition: DtDiGuyDecoders.h:73
DtVrlinkEntityStateListener * myEntity
Definition: DtDiGuyDecoders.h:228
DT_DLL_readerWriter char * encode(const DtFilename &val, char *buffer)
Serializes the provided value val into buffer.
DtNetU8 myName[1]
Definition: DtDiGuyDecoders.h:84
static const unsigned int theMinimumSize
Definition: DtDiGuyDecoders.h:178
voidpf stream
Definition: ioapi.h:39
#define DT_PROTOCOL_NAMESPACE
Make VR-Vantage VRLink code export with library #ifdef DL_DLL_IGCONVRLINK #undef DL_DLL_IGCONVRLINK #...
Definition: export.h:32
bool operator==(const DtTextureAtlasIndexParser::StringOrFloatAttrib &lhs, const DtTextureAtlasIndexParser::StringOrFloatAttrib &rhs)
needed for search comparison code
Definition: DtTextureAtlasIndexParser.h:153
DtNetDiguyEquipmentRecord * myRecordPtr
Definition: DtDiGuyDecoders.h:173
DT_DLL_readerWriter const char * decode(DtString &val, const char *buffer)
Decodes a value from buffer and places the result in val of the type specified by val...
static DtReflectedEntityList * theReflectedEntityList
needed to look up the entity
Definition: DtDiGuyDecoders.h:225
char * myNamePtr
Definition: DtDiGuyDecoders.h:174
bool operator!=(const DtNetDiguyEquipmentRecord &rhs) const
Definition: DtDiGuyDecoders.h:77
std::vector< char > myRecordBuffer
Definition: DtDiGuyDecoders.h:172
temp class for this record
Definition: DtDiGuyDecoders.h:97

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)