VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
managedInterface/messages/actionResponse.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 RequestStatus {RequestStatus_OTHER=0, RequestStatus_PENDING=1, RequestStatus_EXECUTING=2, RequestStatus_PARTIAL=3, RequestStatus_COMPLETE=4, RequestStatus_REJECTED=5, RequestStatus_RETRANSMITNOW=6, RequestStatus_RETRANSMITLATER=7, RequestStatus_INVALIDTIMEPARAMETERS=8, RequestStatus_SIMULATIONTIMEEXCEEDED=9, RequestStatus_REQUESTDONE=10, RequestStatus_TACCSF_LOS_REPLY_TYPE1=100, RequestStatus_TACCSF_LOS_REPLY_TYPE2=101, RequestStatus_JOINEXERCISEREQUESTREJECTED=201};
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 ~ActionResponseMessage();
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 unsigned int getRequestId();
114  virtual void setRequestId(unsigned int val);
115 
116  virtual RequestStatus getRequestStatus();
117  virtual void setRequestStatus(RequestStatus val);
118 
119  virtual std::vector<FixedData> getFixedData();
120  virtual void setFixedData(std::vector<FixedData> val);
121 
122  virtual std::vector<VariableData> getVariableData();
123  virtual void setVariableData(std::vector<VariableData> val);
124 
125 
126 
127  virtual int messageSize();
128 
129  static DtMessage* decode(unsigned char* buffer, int length);
130  static std::string theMessageName();
131 
132 protected:
133  static std::string theFullName;
134 
135  std::string mySenderId;
136  std::string myReceiverId;
137  unsigned int myRequestId;
139  std::vector<FixedData> myFixedData;
140  std::vector<VariableData> myVariableData;
141 
142  virtual void serialize(DtStreamWriter& writer);
143  virtual void deserialize(DtStreamReader& reader);
144 };
std::vector< FixedData > myFixedData
Definition: managedInterface/messages/actionResponse.h:139
Definition: managedInterface/messages/actionResponse.h:24
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
RequestStatus myRequestStatus
Definition: managedInterface/messages/actionResponse.h:138
std::string mySenderId
Definition: managedInterface/messages/actionResponse.h:135
RequestStatus
Definition: managedInterface/messages/actionResponse.h:21
int size()
Definition: managedInterface/messages/actionResponse.h:77
Defines the base class for all messages that are sent to and from C#.
This is the DtMessage class.
Definition: message.h:20
std::vector< VariableData > myVariableData
Definition: managedInterface/messages/actionResponse.h:140
void serialize(DtStreamWriter &writer)
Definition: managedInterface/messages/actionResponse.h:86
static std::string theFullName
Definition: managedInterface/messages/actionResponse.h:133
int myData
Definition: managedInterface/messages/actionResponse.h:74
int readInt32()
value readers return a value and increment the current position in the byte stream based on the size ...
unsigned int myRequestId
Definition: managedInterface/messages/actionResponse.h:137
Instances of DtStreamWriter encode values into a byte array.
Definition: byteStream.h:74
void serialize(DtStreamWriter &writer)
Definition: managedInterface/messages/actionResponse.h:44
int myDatumId
Definition: managedInterface/messages/actionResponse.h:26
Instances of DtStreamReader decode values from a byte array.
Definition: byteStream.h:31
virtual void serialize(DtStreamWriter &writer)
void deserialize(DtStreamReader &reader)
Definition: managedInterface/messages/actionResponse.h:56
void writeUInt8(unsigned char num)
value readers return a value and increment the current position in the byte stream based on the size ...
std::vector< unsigned char > myData
Definition: managedInterface/messages/actionResponse.h:27
int size()
Definition: managedInterface/messages/actionResponse.h:30
Definition: managedInterface/messages/actionResponse.h:18
Definition: managedInterface/messages/actionResponse.h:71
void deserialize(DtStreamReader &reader)
Definition: managedInterface/messages/actionResponse.h:93
int myDatumId
Definition: managedInterface/messages/actionResponse.h:73
std::string myReceiverId
Definition: managedInterface/messages/actionResponse.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 Wed Mar 27 02:04:30 EDT 2024 from SVN revision 264570
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)