VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
managedInterface/messages/eventReport.h
Go to the documentation of this file.
1 /*********************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************************/
5 
10 #pragma once
11 
13 
14 #include <string>
15 #include <vector>
16 
17 
19 {
20 public:
21  enum EventType {EventType_OTHER=0, EventType_UNUSED=1, EventType_RAN_OUT_OF_AMMUNITION=2, EventType_KILLED_IN_ACTION=3, EventType_DAMAGE=4, EventType_MOBILITY_DISABLED=5, EventType_FIRE_DISABLED=6, EventType_RAN_OUT_OF_FUEL=7, EventType_ENTITY_INITIALIZATION=8, EventType_REQUEST_FOR_INDIRECT_FIRE_OR_CAS_MISSION=9, EventType_INDIRECT_FIRE_OR_CAS_MISSION=10, EventType_MINEFILE_ENTRY=11, EventType_MINEFIELD_DETONATION=12, EventType_VEHICLE_MASTER_POWER_ON=13, EventType_VEHICLE_MASTER_POWER_OFF=14, EventType_AGGREGATE_STATE_CHANGE_REQUESTED=15, EventType_PREVENT_COLLISION_DETONATION=16, EventType_OWNERSHIP_REPORT=17};
22 
23 
24  struct VariableData
25  {
26  int myDatumId;
27  std::vector<unsigned char> myData;
28 
29 
30  int size()
31  {
32  int size=0;
33  size+=sizeof(int);
34  size+=4; //for the count of the items in the list
35  for(unsigned int i=0; i<myData.size(); i++)
36  {
37  size+=sizeof(unsigned char);
38  }
39 
40 
41  return size;
42  }
43 
44  void serialize(DtStreamWriter& writer)
45  {
46  writer.writeInt32(myDatumId);
47  writer.writeInt32(myData.size()); //for the count of the items in the list
48  for(unsigned int i=0; i<myData.size(); i++)
49  {
50  writer.writeUInt8(myData[i]);
51  }
52 
53 
54  }
55 
57  {
58  myDatumId=reader.readInt32();
59  unsigned int myData_count=reader.readInt32(); //for the count of the items in the list
60  for(unsigned int i=0; i<myData_count; i++)
61  {
62  unsigned char abyte;
63  abyte=reader.readUInt8();
64  myData.push_back(abyte);
65  }
66 
67  }
68  };
69 
70 
71  struct FixedData
72  {
73  int myDatumId;
74  int myData;
75 
76 
77  int size()
78  {
79  int size=0;
80  size+=sizeof(int);
81  size+=sizeof(int);
82 
83  return size;
84  }
85 
86  void serialize(DtStreamWriter& writer)
87  {
88  writer.writeInt32(myDatumId);
89  writer.writeInt32(myData);
90 
91  }
92 
94  {
95  myDatumId=reader.readInt32();
96  myData=reader.readInt32();
97 
98  }
99  };
100 
101 
102 
103 
105  virtual ~EventReportMessage();
106 
107  virtual std::string getSenderId();
108  virtual void setSenderId(std::string val);
109 
110  virtual std::string getReceiverId();
111  virtual void setReceiverId(std::string val);
112 
113  virtual EventType getEventType();
114  virtual void setEventType(EventType val);
115 
116  virtual std::vector<FixedData> getFixedData();
117  virtual void setFixedData(std::vector<FixedData> val);
118 
119  virtual std::vector<VariableData> getVariableData();
120  virtual void setVariableData(std::vector<VariableData> val);
121 
122 
123 
124  virtual int messageSize();
125 
126  static DtMessage* decode(unsigned char* buffer, int length);
127  static std::string theMessageName();
128 
129 protected:
130  static std::string theFullName;
131 
132  std::string mySenderId;
133  std::string myReceiverId;
135  std::vector<FixedData> myFixedData;
136  std::vector<VariableData> myVariableData;
137 
138  virtual void serialize(DtStreamWriter& writer);
139  virtual void deserialize(DtStreamReader& reader);
140 };
std::vector< FixedData > myFixedData
Definition: managedInterface/messages/eventReport.h:135
void serialize(DtStreamWriter &writer)
Definition: managedInterface/messages/eventReport.h:44
static std::string theFullName
Definition: managedInterface/messages/eventReport.h:130
void deserialize(DtStreamReader &reader)
Definition: managedInterface/messages/eventReport.h:93
unsigned char readUInt8()
value readers return a value and increment the current position in the byte stream based on the size ...
virtual int messageSize()
this function needs to be in each derived class for decoding
#define MANAGEDINTERFACE_DLL
Definition: plugin.h:15
Defines the base class for all messages that are sent to and from C#.
int myData
Definition: managedInterface/messages/eventReport.h:74
This is the DtMessage class.
Definition: message.h:20
void serialize(DtStreamWriter &writer)
Definition: managedInterface/messages/eventReport.h:86
void deserialize(DtStreamReader &reader)
Definition: managedInterface/messages/eventReport.h:56
EventType myEventType
Definition: managedInterface/messages/eventReport.h:134
int size()
Definition: managedInterface/messages/eventReport.h:77
int myDatumId
Definition: managedInterface/messages/eventReport.h:26
std::string myReceiverId
Definition: managedInterface/messages/eventReport.h:133
int myDatumId
Definition: managedInterface/messages/eventReport.h:73
Definition: managedInterface/messages/eventReport.h:24
std::vector< unsigned char > myData
Definition: managedInterface/messages/eventReport.h:27
int readInt32()
value readers return a value and increment the current position in the byte stream based on the size ...
Instances of DtStreamWriter encode values into a byte array.
Definition: byteStream.h:74
Definition: managedInterface/messages/eventReport.h:18
Instances of DtStreamReader decode values from a byte array.
Definition: byteStream.h:31
virtual void serialize(DtStreamWriter &writer)
int size()
Definition: managedInterface/messages/eventReport.h:30
EventType
Definition: managedInterface/messages/eventReport.h:21
void writeUInt8(unsigned char num)
value readers return a value and increment the current position in the byte stream based on the size ...
Definition: managedInterface/messages/eventReport.h:71
std::string mySenderId
Definition: managedInterface/messages/eventReport.h:132
std::vector< VariableData > myVariableData
Definition: managedInterface/messages/eventReport.h:136
virtual void deserialize(DtStreamReader &reader)
void writeInt32(int num)
value readers return a value and increment the current position in the byte stream based on the size ...

Document ID: Generated on Mon Apr 25 03:39:01 EDT 2022 from SVN revision 242502
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)