12 #ifndef msgRetractHandleImplementation_H_
13 #define msgRetractHandleImplementation_H_
18 #include <RTI/VariableLengthData.h>
26 class MessageRetractionHandleImplementation
30 MessageRetractionHandleImplementation();
31 MessageRetractionHandleImplementation(
33 MessageRetractionHandleImplementation(
34 unsigned long fedHandleValue,
35 unsigned long serialValue);
36 MessageRetractionHandleImplementation(
37 MessageRetractionHandleImplementation
const & rhs);
40 MessageRetractionHandleImplementation & operator=(
41 MessageRetractionHandleImplementation
const & rhs);
46 bool operator==(MessageRetractionHandleImplementation
const & rhs)
const;
47 bool operator!=(MessageRetractionHandleImplementation
const & rhs)
const;
48 bool operator< (MessageRetractionHandleImplementation
const & rhs)
const;
52 rti1516e::VariableLengthData encode()
const;
54 unsigned long encode(
void* buffer,
unsigned long bufferSize)
const;
55 unsigned long encodedLength()
const;
59 rti1516e::VariableLengthData
const & encodedHandle);
62 void decode(
void* buffer,
unsigned long bufferSize);
72 void setFederateHandle(
unsigned long fedHandleValue);
73 unsigned long federateHandle()
const;
76 void setSerialNumber(
unsigned long serialValue);
77 unsigned long serialNumber()
const;
84 MessageRetractionHandleImplementation::MessageRetractionHandleImplementation()
88 myRetractHandle.serialNumber = 0;
91 MessageRetractionHandleImplementation::MessageRetractionHandleImplementation(
92 unsigned long fedHandleValue,
93 unsigned long serialValue)
95 myRetractHandle.sendingFederate = fedHandleValue;
96 myRetractHandle.serialNumber = serialValue;
99 MessageRetractionHandleImplementation::MessageRetractionHandleImplementation(
103 myRetractHandle.serialNumber = retractHandle.
serialNumber;
106 MessageRetractionHandleImplementation::MessageRetractionHandleImplementation(
107 MessageRetractionHandleImplementation
const & rhs)
109 myRetractHandle.sendingFederate = rhs.myRetractHandle.sendingFederate;
110 myRetractHandle.serialNumber = rhs.myRetractHandle.serialNumber;
113 MessageRetractionHandleImplementation &
114 MessageRetractionHandleImplementation::operator=(
115 MessageRetractionHandleImplementation
const & rhs)
119 myRetractHandle.sendingFederate = rhs.myRetractHandle.sendingFederate;
120 myRetractHandle.serialNumber = rhs.myRetractHandle.serialNumber;
124 inline bool MessageRetractionHandleImplementation::isValid()
const
127 return myRetractHandle.sendingFederate != 0;
130 inline bool MessageRetractionHandleImplementation::operator==(
131 MessageRetractionHandleImplementation
const & rhs)
const
134 myRetractHandle.sendingFederate == rhs.myRetractHandle.sendingFederate
135 && myRetractHandle.serialNumber == rhs.myRetractHandle.serialNumber;
137 inline bool MessageRetractionHandleImplementation::operator!=(
138 MessageRetractionHandleImplementation
const & rhs)
const
141 myRetractHandle.sendingFederate != rhs.myRetractHandle.sendingFederate
142 || myRetractHandle.serialNumber != rhs.myRetractHandle.serialNumber;
144 inline bool MessageRetractionHandleImplementation::operator< (
145 MessageRetractionHandleImplementation
const & rhs)
const
148 myRetractHandle.sendingFederate < rhs.myRetractHandle.sendingFederate
150 (myRetractHandle.sendingFederate == rhs.myRetractHandle.sendingFederate
151 && myRetractHandle.serialNumber < rhs.myRetractHandle.serialNumber);
154 inline rti1516e::VariableLengthData
155 MessageRetractionHandleImplementation::encode()
const
160 return rti1516e::VariableLengthData(&netHandle,
sizeof(netHandle));
163 inline unsigned long MessageRetractionHandleImplementation::encode(
164 void* buffer,
unsigned long bufferSize)
const
167 if (bufferSize <
sizeof(netHandle))
171 memcpy(buffer, &netHandle,
sizeof(netHandle));
172 return sizeof(netHandle);
174 inline unsigned long MessageRetractionHandleImplementation::encodedLength()
const
181 std::wstringstream ss;
182 ss << myRetractHandle.sendingFederate << L
" " << myRetractHandle.serialNumber;
186 inline void MessageRetractionHandleImplementation::setValue(
190 myRetractHandle.serialNumber = retractHandle.
serialNumber;
194 MessageRetractionHandleImplementation::value()
const
196 return myRetractHandle;
199 inline void MessageRetractionHandleImplementation::setFederateHandle(
200 unsigned long fedHandleValue)
204 inline unsigned long MessageRetractionHandleImplementation::federateHandle()
const
206 return myRetractHandle.sendingFederate;
209 inline void MessageRetractionHandleImplementation::setSerialNumber(
unsigned long serialValue)
211 myRetractHandle.serialNumber = serialValue;
213 inline unsigned long MessageRetractionHandleImplementation::serialNumber()
const
215 return myRetractHandle.serialNumber;
217 inline void MessageRetractionHandleImplementation::decode(
218 rti1516e::VariableLengthData
const & encodedHandle)
226 inline void MessageRetractionHandleImplementation::decode(
227 void* buffer,
unsigned long bufferSize)
237 #endif // DtIFSPEC1516E
DtFederateHandle sendingFederate
Definition: internalTypes.h:66
std::string toString(const std::wstring &inString)
Definition: objParams13.h:16
DtHandle serialNumber
Definition: internalTypes.h:65
MAKRti::DtNetU32 sendingFederate
Definition: internalTypes.h:61
Definition: internalTypes.h:63
MAKRti::DtNetU32 serialNumber
Definition: internalTypes.h:60
The declaration of internal types.
Definition: internalTypes.h:58