19 namespace MAKTrafficClientServerExConn
22 class DtTaCallbackMsg;
25 enum DtTaFedAmbCallKind
31 DtTaFedAmbCall_synchronizationPointRegistrationSucceeded,
32 DtTaFedAmbCall_synchronizationPointRegistrationFailed,
33 DtTaFedAmbCall_announceSynchronizationPoint,
34 DtTaFedAmbCall_federationSynchronized,
35 DtTaFedAmbCall_initiateFederateSave,
36 DtTaFedAmbCall_federationSaved,
37 DtTaFedAmbCall_federationNotSaved,
38 DtTaFedAmbCall_requestFederationRestoreSucceeded,
39 DtTaFedAmbCall_requestFederationRestoreFailed,
40 DtTaFedAmbCall_federationRestoreBegun,
41 DtTaFedAmbCall_initiateFederateRestore,
42 DtTaFedAmbCall_federationRestored,
43 DtTaFedAmbCall_federationNotRestored,
49 DtTaFedAmbCall_startRegistrationForObjectClass,
50 DtTaFedAmbCall_stopRegistrationForObjectClass,
51 DtTaFedAmbCall_turnInteractionsOn,
52 DtTaFedAmbCall_turnInteractionsOff,
58 DtTaFedAmbCall_discoverObjectInstance,
59 DtTaFedAmbCall_reflectAttributeValues,
60 DtTaFedAmbCall_reflectAttributeValuesT,
61 DtTaFedAmbCall_receiveInteraction,
62 DtTaFedAmbCall_receiveInteractionT,
63 DtTaFedAmbCall_removeObjectInstance,
64 DtTaFedAmbCall_removeObjectInstanceT,
65 DtTaFedAmbCall_attributesInScope,
66 DtTaFedAmbCall_attributesOutOfScope,
67 DtTaFedAmbCall_provideAttributeValueUpdate,
68 DtTaFedAmbCall_turnUpdatesOnForObjectInstance,
69 DtTaFedAmbCall_turnUpdatesOffForObjectInstance,
75 DtTaFedAmbCall_requestAttributeOwnershipAssumption,
76 DtTaFedAmbCall_attributeOwnershipDivestitureNotification,
77 DtTaFedAmbCall_attributeOwnershipAcquisitionNotification,
78 DtTaFedAmbCall_attributeOwnershipUnavailable,
79 DtTaFedAmbCall_requestAttributeOwnershipRelease,
80 DtTaFedAmbCall_confirmAttributeOwnershipAcquisitionCancellation,
81 DtTaFedAmbCall_informAttributeOwnership,
82 DtTaFedAmbCall_attributeIsNotOwned,
83 DtTaFedAmbCall_attributeOwnedByRTI,
89 DtTaFedAmbCall_timeRegulationEnabled,
90 DtTaFedAmbCall_timeConstrainedEnabled,
91 DtTaFedAmbCall_timeAdvanceGrant,
92 DtTaFedAmbCall_requestRetraction,
95 DtTaFedAmbCall_invalid
99 template<
int callbackKindValue>
100 class DtTaCallbackWithTime :
public DtTaCallback
104 DtTaCallbackWithTime(
105 std::auto_ptr<RTI::FedTime> time);
107 virtual ~DtTaCallbackWithTime();
110 DtTaCallbackWithTime(DtTaCallbackWithTime
const& orig);
111 DtTaCallbackWithTime& operator = (DtTaCallbackWithTime
const& orig);
114 virtual void invokeCallback(RTI::FederateAmbassador* fedAmb)
const;
116 std::auto_ptr<RTI::FedTime> myTime;
120 template<
int callbackKindValue>
121 class DtTaCallbackWithObjectAttributesOptTag :
public DtTaCallback
125 DtTaCallbackWithObjectAttributesOptTag(
126 RTI::ObjectHandle theObject,
127 RTI::AttributeHandleSet
const & theAttributes);
128 DtTaCallbackWithObjectAttributesOptTag(
129 RTI::ObjectHandle theObject,
130 RTI::AttributeHandleSet
const & theAttributes,
131 const char * theUserTag);
134 virtual ~DtTaCallbackWithObjectAttributesOptTag();
137 DtTaCallbackWithObjectAttributesOptTag(DtTaCallbackWithObjectAttributesOptTag
const& orig);
138 DtTaCallbackWithObjectAttributesOptTag& operator = (DtTaCallbackWithObjectAttributesOptTag
const& orig);
141 virtual void invokeCallback(RTI::FederateAmbassador* fedAmb)
const;
143 RTI::ObjectHandle myObject;
144 std::auto_ptr<RTI::AttributeHandleSet> myAttributes;
148 typedef DtTaCallbackWithString<DtTaFedAmbCall_synchronizationPointRegistrationSucceeded> DtTaCbSynchronizationPointRegistrationSucceeded;
149 typedef DtTaCallbackWithString<DtTaFedAmbCall_synchronizationPointRegistrationFailed> DtTaCbSynchronizationPointRegistrationFailed;
150 typedef DtTaCallbackWithTwoStrings<DtTaFedAmbCall_announceSynchronizationPoint> DtTaCbAnnounceSynchronizationPoint;
151 typedef DtTaCallbackWithString<DtTaFedAmbCall_federationSynchronized> DtTaCbFederationSynchronized;
152 typedef DtTaCallbackWithString<DtTaFedAmbCall_initiateFederateSave> DtTaCbInitiateFederateSave;
153 typedef DtTaCallbackVoid<DtTaFedAmbCall_federationSaved> DtTaCbFederationSaved;
154 typedef DtTaCallbackVoid<DtTaFedAmbCall_federationNotSaved> DtTaCbFederationNotSaved;
155 typedef DtTaCallbackWithString<DtTaFedAmbCall_requestFederationRestoreSucceeded> DtTaCbRequestFederationRestoreSucceeded;
156 typedef DtTaCallbackWithTwoStrings<DtTaFedAmbCall_requestFederationRestoreFailed> DtTaCbRequestFederationRestoreFailed;
157 typedef DtTaCallbackVoid<DtTaFedAmbCall_federationRestoreBegun> DtTaCbFederationRestoreBegun;
159 class DtTaCbInitiateFederateRestore :
public DtTaCallback
163 DtTaCbInitiateFederateRestore(
const char * label, RTI::FederateHandle handle);
166 virtual ~DtTaCbInitiateFederateRestore();
169 DtTaCbInitiateFederateRestore(DtTaCbInitiateFederateRestore
const& orig);
170 DtTaCbInitiateFederateRestore& operator = (DtTaCbInitiateFederateRestore
const& orig);
173 virtual void invokeCallback(RTI::FederateAmbassador* fedAmb)
const;
176 RTI::FederateHandle myFederateHandle;
179 typedef DtTaCallbackVoid<DtTaFedAmbCall_federationRestored> DtTaCbFederationRestored;
180 typedef DtTaCallbackVoid<DtTaFedAmbCall_federationNotRestored> DtTaCbFederationNotRestored;
181 typedef DtTaCallbackWithObjectClass<DtTaFedAmbCall_startRegistrationForObjectClass> DtTaCbStartRegistrationForObjectClass;
182 typedef DtTaCallbackWithObjectClass<DtTaFedAmbCall_stopRegistrationForObjectClass> DtTaCbStopRegistrationForObjectClass;
183 typedef DtTaCallbackWithInteractionClass<DtTaFedAmbCall_turnInteractionsOn> DtTaCbTurnInteractionsOn;
184 typedef DtTaCallbackWithInteractionClass<DtTaFedAmbCall_turnInteractionsOff> DtTaCbTurnInteractionsOff;
186 class DtTaCbDiscoverObjectInstance:
public DtTaCallback
190 DtTaCbDiscoverObjectInstance(RTI::ObjectHandle theObject,
191 RTI::ObjectClassHandle theObjectClass,
192 const char * theObjectInstanceName);
194 virtual ~DtTaCbDiscoverObjectInstance();
197 DtTaCbDiscoverObjectInstance(DtTaCbDiscoverObjectInstance
const& orig);
198 DtTaCbDiscoverObjectInstance& operator = (DtTaCbDiscoverObjectInstance
const& orig);
201 virtual void invokeCallback(RTI::FederateAmbassador* fedAmb)
const;
203 RTI::ObjectHandle myObjectHandle;
204 RTI::ObjectClassHandle myObjectClassHandle;
208 class DtTaCbReflectAttributeValues:
public DtTaCallback
212 DtTaCbReflectAttributeValues(
213 RTI::ObjectHandle theObject,
214 const RTI::AttributeHandleValuePairSet& theAttributes,
215 const char * theTag);
217 DtTaCbReflectAttributeValues (
218 RTI::ObjectHandle theObject,
219 const RTI::AttributeHandleValuePairSet& theAttributes,
220 std::auto_ptr<RTI::FedTime> theTime,
222 RTI::EventRetractionHandle theHandle);
225 virtual ~DtTaCbReflectAttributeValues();
228 DtTaCbReflectAttributeValues(DtTaCbReflectAttributeValues
const& orig);
229 DtTaCbReflectAttributeValues& operator = (DtTaCbReflectAttributeValues
const& orig);
232 virtual void invokeCallback(RTI::FederateAmbassador* fedAmb)
const;
235 RTI::ObjectHandle myObject;
236 std::auto_ptr<RTI::AttributeHandleValuePairSet> myAttributeValues;
238 std::auto_ptr<RTI::FedTime> myTime;
239 RTI::EventRetractionHandle myRetractHandle;
242 class DtTaCbReceiveInteraction:
public DtTaCallback
246 DtTaCbReceiveInteraction(
247 RTI::InteractionClassHandle theInteraction,
248 const RTI::ParameterHandleValuePairSet& theParameters,
249 const char * theTag);
251 DtTaCbReceiveInteraction(
252 RTI::InteractionClassHandle theInteraction,
253 const RTI::ParameterHandleValuePairSet& theParameters,
254 std::auto_ptr<RTI::FedTime> theTime,
256 RTI::EventRetractionHandle theHandle);
259 virtual ~DtTaCbReceiveInteraction();
262 DtTaCbReceiveInteraction(DtTaCbReceiveInteraction
const& orig);
263 DtTaCbReceiveInteraction& operator = (DtTaCbReceiveInteraction
const& orig);
266 virtual void invokeCallback(RTI::FederateAmbassador* fedAmb)
const;
269 RTI::InteractionClassHandle myInteractionClass;
270 std::auto_ptr<RTI::ParameterHandleValuePairSet> myParameterValues;
272 std::auto_ptr<RTI::FedTime> myTime;
273 RTI::EventRetractionHandle myRetractHandle;
276 class DtTaCbRemoveObjectInstance:
public DtTaCallback
280 DtTaCbRemoveObjectInstance(
281 RTI::ObjectHandle theObject,
282 const char * theTag);
283 DtTaCbRemoveObjectInstance(
284 RTI::ObjectHandle theObject,
285 std::auto_ptr<RTI::FedTime> theTime,
287 RTI::EventRetractionHandle theHandle);
290 virtual ~DtTaCbRemoveObjectInstance();
293 DtTaCbRemoveObjectInstance(DtTaCbRemoveObjectInstance
const& orig);
294 DtTaCbRemoveObjectInstance& operator = (DtTaCbRemoveObjectInstance
const& orig);
297 virtual void invokeCallback(RTI::FederateAmbassador* fedAmb)
const;
299 RTI::ObjectHandle myObjectHandle;
301 std::auto_ptr<RTI::FedTime> myTime;
302 RTI::EventRetractionHandle myRetractHandle;
305 typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_attributesInScope> DtTaCbAttributesInScope;
306 typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_attributesOutOfScope> DtTaCbAttributesOutOfScope;
307 typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_provideAttributeValueUpdate> DtTaCbProvideAttributeValueUpdate;
308 typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_turnUpdatesOnForObjectInstance> DtTaCbTurnUpdatesOnForObjectInstance;
309 typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_turnUpdatesOffForObjectInstance> DtTaCbTurnUpdatesOffForObjectInstance;
311 typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_requestAttributeOwnershipAssumption> DtTaCbRequestAttributeOwnershipAssumption;
312 typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_attributeOwnershipDivestitureNotification> DtTaCbAttributeOwnershipDivestitureNotification;
313 typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_attributeOwnershipAcquisitionNotification> DtTaCbAttributeOwnershipAcquisitionNotification;
314 typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_attributeOwnershipUnavailable> DtTaCbAttributeOwnershipUnavailable;
315 typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_requestAttributeOwnershipRelease> DtTaCbRequestAttributeOwnershipRelease;
316 typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_confirmAttributeOwnershipAcquisitionCancellation> DtTaCbConfirmAttributeOwnershipAcquisitionCancellation;
317 typedef DtTaCallbackWithObjectAttributeOptFederate <DtTaFedAmbCall_informAttributeOwnership> DtTaCbInformAttributeOwnership;
318 typedef DtTaCallbackWithObjectAttributeOptFederate <DtTaFedAmbCall_attributeIsNotOwned> DtTaCbAttributeIsNotOwned;
319 typedef DtTaCallbackWithObjectAttributeOptFederate <DtTaFedAmbCall_attributeOwnedByRTI> DtTaCbAttributeOwnedByRTI;
321 typedef DtTaCallbackWithTime<DtTaFedAmbCall_timeRegulationEnabled> DtTaCbTimeRegulationEnabled;
322 typedef DtTaCallbackWithTime<DtTaFedAmbCall_timeConstrainedEnabled> DtTaCbTimeConstrainedEnabled;
323 typedef DtTaCallbackWithTime<DtTaFedAmbCall_timeAdvanceGrant> DtTaCbTimeAdvanceGrant;
325 class DtTaCbRequestRetraction:
public DtTaCallback
329 DtTaCbRequestRetraction(RTI::EventRetractionHandle handle);
331 virtual ~DtTaCbRequestRetraction();
334 DtTaCbRequestRetraction(DtTaCbRequestRetraction
const& orig);
335 DtTaCbRequestRetraction& operator = (DtTaCbRequestRetraction
const& orig);
338 virtual void invokeCallback(RTI::FederateAmbassador* fedAmb)
const;
340 RTI::EventRetractionHandle myRetractHandle;
344 DT_DLL_CSEC const char * callbackKindToString(
int kind);
346 #define fedAmbCallback13_inl_
347 #include "fedAmbCallback13.inl"
348 #undef fedAmbCallback13_inl_