9 #ifndef handleCreatore_H_
10 #define handleCreatore_H_
19 #include <vlutil/vlFedTarget.h>
20 #include <RTI/Handle.h>
21 #include <RTI/Typedefs.h>
30 #define DEFINE_HANDLE_CLASS_FRIEND(HandleKind) \
32 class HandleKind##Friend \
35 HandleKind##Friend(); \
36 static rti1516e::HandleKind HandleKind(Dt##HandleKind handleValue); \
37 static rti1516e::HandleKind HandleKind( \
38 VariableLengthData const & encodedValue); \
39 static HandleKind##Implementation const* getImplementation( \
40 rti1516e::HandleKind const& handle); \
41 static HandleKind##Implementation* getImplementation( \
42 rti1516e::HandleKind& handle); \
44 inline HandleKind##Friend::HandleKind##Friend() \
47 inline rti1516e::HandleKind HandleKind##Friend::HandleKind( \
48 Dt##HandleKind handleValue) \
50 return rti1516e::HandleKind((HandleKind##Implementation*)handleValue); \
52 inline rti1516e::HandleKind HandleKind##Friend::HandleKind( \
53 VariableLengthData const & encodedValue) \
55 return rti1516e::HandleKind(encodedValue); \
57 inline HandleKind##Implementation const* \
58 HandleKind##Friend::getImplementation(rti1516e::HandleKind const& handle) \
60 return handle.getImplementation(); \
62 inline HandleKind##Implementation* \
63 HandleKind##Friend::getImplementation(rti1516e::HandleKind & handle) \
65 return handle.getImplementation(); \
68 inline rti1516e::HandleKind make##HandleKind(Dt##HandleKind handle) \
70 return HandleKind##Friend::HandleKind(handle); \
73 inline rti1516e::HandleKind make##HandleKind( \
74 VariableLengthData const & encodedValue) \
76 return HandleKind##Friend::HandleKind(encodedValue); \
79 inline Dt##HandleKind make##HandleKind##Impl( \
80 const rti1516e::HandleKind& handle) \
82 return (Dt##HandleKind)HandleKind##Friend::getImplementation(handle); \
87 #define DEFINE_FILL_HANDLE_SET_IMPL(HandleKind) \
89 inline void fill##HandleKind##SetImpl( \
90 rti1516e::HandleKind##Set const & rtiHandleSet, \
91 Dt##HandleKind##Set & internHandleSet) \
93 for (rti1516e::HandleKind##Set::const_iterator iter = rtiHandleSet.begin();\
94 iter != rtiHandleSet.end(); \
97 internHandleSet.insert(make##HandleKind##Impl(*iter)); \
103 #define DEFINE_FILL_HANDLE_SET(HandleKind) \
105 inline void fill##HandleKind##Set( \
106 Dt##HandleKind##Set const & internHandleSet, \
107 rti1516e::HandleKind##Set & rtiHandleSet) \
109 for (Dt##HandleKind##Set::const_iterator iter = internHandleSet.begin(); \
110 iter != internHandleSet.end(); \
113 rtiHandleSet.insert(make##HandleKind(*iter)); \
120 DEFINE_HANDLE_CLASS_FRIEND(ObjectInstanceHandle)
124 DEFINE_HANDLE_CLASS_FRIEND(RegionHandle)
128 DEFINE_FILL_HANDLE_SET(RegionHandle)
129 DEFINE_FILL_HANDLE_SET_IMPL(RegionHandle)
134 class MessageRetractionHandleFriend
137 MessageRetractionHandleFriend();
138 static rti1516e::MessageRetractionHandle MessageRetractionHandle(
140 static rti1516e::MessageRetractionHandle MessageRetractionHandle(
141 VariableLengthData
const & encodedValue);
142 static MessageRetractionHandleImplementation
const* getImplementation(
143 rti1516e::MessageRetractionHandle
const& handle);
144 static MessageRetractionHandleImplementation* getImplementation(
145 rti1516e::MessageRetractionHandle& handle);
147 inline MessageRetractionHandleFriend::MessageRetractionHandleFriend()
150 inline rti1516e::MessageRetractionHandle
151 MessageRetractionHandleFriend::MessageRetractionHandle(
154 return rti1516e::MessageRetractionHandle(
155 (MessageRetractionHandleImplementation*)&handleValue);
157 inline rti1516e::MessageRetractionHandle
158 MessageRetractionHandleFriend::MessageRetractionHandle(
159 VariableLengthData
const & encodedValue)
161 return rti1516e::MessageRetractionHandle(encodedValue);
163 inline MessageRetractionHandleImplementation
const *
164 MessageRetractionHandleFriend::getImplementation(
165 rti1516e::MessageRetractionHandle
const& handle)
167 return handle.getImplementation();
169 inline MessageRetractionHandleImplementation*
170 MessageRetractionHandleFriend::getImplementation(
171 rti1516e::MessageRetractionHandle & handle)
173 return handle.getImplementation();
176 inline rti1516e::MessageRetractionHandle makeMessageRetractionHandle(
179 return MessageRetractionHandleFriend::MessageRetractionHandle(handle);
182 inline rti1516e::MessageRetractionHandle makeMessageRetractionHandle(
183 VariableLengthData
const & encodedValue)
185 return MessageRetractionHandleFriend::MessageRetractionHandle(encodedValue);
189 rti1516e::MessageRetractionHandle handle)
191 return MessageRetractionHandleFriend::getImplementation(handle)->value();
194 inline rti1516e::MessageRetractionHandle makeMessageRetractionHandle(
198 return makeMessageRetractionHandle(handleImpl);
203 return (order == RECEIVE) ? MAKRti::DtReceive : MAKRti::DtTimestamp;
206 inline MAKRti::DtTransportType makeTransportTypeImpl(rti1516e::TransportationType transport)
208 return (transport == RELIABLE) ? MAKRti::DtReliable : MAKRti::DtBest_Effort;
213 return (order == MAKRti::DtReceive) ? RECEIVE : TIMESTAMP;
216 inline rti1516e::TransportationType makeTransportType(MAKRti::DtTransportType transport)
218 return (transport == MAKRti::DtReliable) ? RELIABLE : BEST_EFFORT;
ULong InteractionClassHandle
Definition: RTItypes13.h:106
Handle ParameterHandle
Definition: RTItypes13.h:114
Handle DimensionHandle
Definition: RTItypes13.h:118
DtHandle DtFederateHandle
Definition: internalTypes.h:29
ULong FederateHandle
Definition: RTItypes13.h:120
Definition: internalTypes.h:63
ULong ObjectClassHandle
Definition: RTItypes13.h:104
The declaration of internal types.
OrderingHandle OrderType
Definition: RTItypes13.h:128
Handle AttributeHandle
Definition: RTItypes13.h:112