MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
msgRetractHandleImpl1516e.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2003 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: msgRetractHandleImpl.h,v $ $Revision: 1.7 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef msgRetractHandleImplementation_H_
13 #define msgRetractHandleImplementation_H_
14 
15 #ifdef DtIFSPEC1516E
16 
17 #include "rtiMsConfig.h"
18 #include <RTI/VariableLengthData.h>
19 #include <string>
20 #include <sstream>
21 #include "internalTypes.h"
22 
23 namespace rti1516e
24 {
25 
26  class MessageRetractionHandleImplementation
27  {
28  public:
30  MessageRetractionHandleImplementation();
31  MessageRetractionHandleImplementation(
32  DtMessageRetractionHandle retractHandle);
33  MessageRetractionHandleImplementation(
34  unsigned long fedHandleValue,
35  unsigned long serialValue);
36  MessageRetractionHandleImplementation(
37  MessageRetractionHandleImplementation const & rhs);
38 
40  MessageRetractionHandleImplementation & operator=(
41  MessageRetractionHandleImplementation const & rhs);
42 
43  bool isValid() const;
44 
46  bool operator==(MessageRetractionHandleImplementation const & rhs) const;
47  bool operator!=(MessageRetractionHandleImplementation const & rhs) const;
48  bool operator< (MessageRetractionHandleImplementation const & rhs) const;
49 
52  rti1516e::VariableLengthData encode() const;
54  unsigned long encode(void* buffer, unsigned long bufferSize) const;
55  unsigned long encodedLength() const;
56 
58  void decode(
59  rti1516e::VariableLengthData const & encodedHandle);
60 
62  void decode(void* buffer, unsigned long bufferSize);
63 
65  std::wstring toString() const;
66 
68  void setValue(DtMessageRetractionHandle retractHandle);
69  DtMessageRetractionHandle const & value() const;
70 
72  void setFederateHandle(unsigned long fedHandleValue);
73  unsigned long federateHandle() const;
74 
76  void setSerialNumber(unsigned long serialValue);
77  unsigned long serialNumber() const;
78 
79  protected:
80  DtMessageRetractionHandle myRetractHandle;
81  };
82 
83  inline
84  MessageRetractionHandleImplementation::MessageRetractionHandleImplementation()
85  {
87  myRetractHandle.sendingFederate = 0;
88  myRetractHandle.serialNumber = 0;
89  }
90  inline
91  MessageRetractionHandleImplementation::MessageRetractionHandleImplementation(
92  unsigned long fedHandleValue,
93  unsigned long serialValue)
94  {
95  myRetractHandle.sendingFederate = fedHandleValue;
96  myRetractHandle.serialNumber = serialValue;
97  }
98  inline
99  MessageRetractionHandleImplementation::MessageRetractionHandleImplementation(
100  DtMessageRetractionHandle retractHandle)
101  {
102  myRetractHandle.sendingFederate = retractHandle.sendingFederate;
103  myRetractHandle.serialNumber = retractHandle.serialNumber;
104  }
105  inline
106  MessageRetractionHandleImplementation::MessageRetractionHandleImplementation(
107  MessageRetractionHandleImplementation const & rhs)
108  {
109  myRetractHandle.sendingFederate = rhs.myRetractHandle.sendingFederate;
110  myRetractHandle.serialNumber = rhs.myRetractHandle.serialNumber;
111  }
112  inline
113  MessageRetractionHandleImplementation &
114  MessageRetractionHandleImplementation::operator=(
115  MessageRetractionHandleImplementation const & rhs)
116  {
117  if (this == &rhs)
118  return *this;
119  myRetractHandle.sendingFederate = rhs.myRetractHandle.sendingFederate;
120  myRetractHandle.serialNumber = rhs.myRetractHandle.serialNumber;
121  return *this;
122  };
123 
124  inline bool MessageRetractionHandleImplementation::isValid() const
125  {
127  return myRetractHandle.sendingFederate != 0;
128  }
129 
130  inline bool MessageRetractionHandleImplementation::operator==(
131  MessageRetractionHandleImplementation const & rhs) const
132  {
133  return
134  myRetractHandle.sendingFederate == rhs.myRetractHandle.sendingFederate
135  && myRetractHandle.serialNumber == rhs.myRetractHandle.serialNumber;
136  };
137  inline bool MessageRetractionHandleImplementation::operator!=(
138  MessageRetractionHandleImplementation const & rhs) const
139  {
140  return
141  myRetractHandle.sendingFederate != rhs.myRetractHandle.sendingFederate
142  || myRetractHandle.serialNumber != rhs.myRetractHandle.serialNumber;
143  };
144  inline bool MessageRetractionHandleImplementation::operator< (
145  MessageRetractionHandleImplementation const & rhs) const
146  {
147  return
148  myRetractHandle.sendingFederate < rhs.myRetractHandle.sendingFederate
149  ||
150  (myRetractHandle.sendingFederate == rhs.myRetractHandle.sendingFederate
151  && myRetractHandle.serialNumber < rhs.myRetractHandle.serialNumber);
152  };
153 
154  inline rti1516e::VariableLengthData
155  MessageRetractionHandleImplementation::encode() const
156  {
158  netHandle.sendingFederate = myRetractHandle.sendingFederate;
159  netHandle.serialNumber = myRetractHandle.serialNumber;
160  return rti1516e::VariableLengthData(&netHandle, sizeof(netHandle));
161  };
162 
163  inline unsigned long MessageRetractionHandleImplementation::encode(
164  void* buffer, unsigned long bufferSize) const
165  {
167  if (bufferSize < sizeof(netHandle))
168  return 0;
169  netHandle.sendingFederate = myRetractHandle.sendingFederate;
170  netHandle.serialNumber = myRetractHandle.serialNumber;
171  memcpy(buffer, &netHandle, sizeof(netHandle));
172  return sizeof(netHandle);
173  }
174  inline unsigned long MessageRetractionHandleImplementation::encodedLength() const
175  {
176  return sizeof(DtNetMessageRetractionHandle);
177  }
178 
179  inline std::wstring MessageRetractionHandleImplementation::toString() const
180  {
181  std::wstringstream ss;
182  ss << myRetractHandle.sendingFederate << L" " << myRetractHandle.serialNumber;
183  return ss.str();
184  };
185 
186  inline void MessageRetractionHandleImplementation::setValue(
187  DtMessageRetractionHandle retractHandle)
188  {
189  myRetractHandle.sendingFederate = retractHandle.sendingFederate;
190  myRetractHandle.serialNumber = retractHandle.serialNumber;
191  }
192 
193  inline DtMessageRetractionHandle const &
194  MessageRetractionHandleImplementation::value() const
195  {
196  return myRetractHandle;
197  }
198 
199  inline void MessageRetractionHandleImplementation::setFederateHandle(
200  unsigned long fedHandleValue)
201  {
202  myRetractHandle.sendingFederate = fedHandleValue;
203  }
204  inline unsigned long MessageRetractionHandleImplementation::federateHandle() const
205  {
206  return myRetractHandle.sendingFederate;
207  }
208 
209  inline void MessageRetractionHandleImplementation::setSerialNumber(unsigned long serialValue)
210  {
211  myRetractHandle.serialNumber = serialValue;
212  }
213  inline unsigned long MessageRetractionHandleImplementation::serialNumber() const
214  {
215  return myRetractHandle.serialNumber;
216  }
217  inline void MessageRetractionHandleImplementation::decode(
218  rti1516e::VariableLengthData const & encodedHandle)
219  {
220  DtNetMessageRetractionHandle* netHandle =
221  (DtNetMessageRetractionHandle*) encodedHandle.data();
222  myRetractHandle.sendingFederate = netHandle->sendingFederate;
223  myRetractHandle.serialNumber = netHandle->serialNumber;
224  }
225 
226  inline void MessageRetractionHandleImplementation::decode(
227  void* buffer, unsigned long bufferSize)
228  {
229  DtNetMessageRetractionHandle* netHandle =
231  myRetractHandle.sendingFederate = netHandle->sendingFederate;
232  myRetractHandle.serialNumber = netHandle->serialNumber;
233  }
234 
235 };
236 
237 #endif // DtIFSPEC1516E
238 
239 #endif

Document ID: Generated on Fri Sep 27 00:57:56 EDT 2019 from SVN revision 201708
Copyright © 2005-2018 VT MÄK Inc. All Rights Reserved (www.mak.com)