9 #if DtHLA_1516_EVOLVED && !DtHLA_4
18 namespace MAKTrafficClientServerExConn
21 class DtTaCallbackMsg;
24 enum DtTaFedAmbCallKind
30 DtTaFedAmbCall_connectionLost,
31 DtTaFedAmbCall_reportFederationExecutions,
32 DtTaFedAmbCall_synchronizationPointRegistrationSucceeded,
33 DtTaFedAmbCall_synchronizationPointRegistrationFailed,
34 DtTaFedAmbCall_announceSynchronizationPoint,
35 DtTaFedAmbCall_federationSynchronized,
36 DtTaFedAmbCall_initiateFederateSave,
37 DtTaFedAmbCall_initiateFederateSaveT,
38 DtTaFedAmbCall_federationSaved,
39 DtTaFedAmbCall_federationNotSaved,
40 DtTaFedAmbCall_federationSaveStatusResponse,
41 DtTaFedAmbCall_requestFederationRestoreSucceeded,
42 DtTaFedAmbCall_requestFederationRestoreFailed,
43 DtTaFedAmbCall_federationRestoreBegun,
44 DtTaFedAmbCall_initiateFederateRestore,
45 DtTaFedAmbCall_federationRestored,
46 DtTaFedAmbCall_federationNotRestored,
47 DtTaFedAmbCall_federationRestoreStatusResponse,
53 DtTaFedAmbCall_startRegistrationForObjectClass,
54 DtTaFedAmbCall_stopRegistrationForObjectClass,
55 DtTaFedAmbCall_turnInteractionsOn,
56 DtTaFedAmbCall_turnInteractionsOff,
62 DtTaFedAmbCall_objectInstanceNameReservationSucceeded,
63 DtTaFedAmbCall_objectInstanceNameReservationFailed,
64 DtTaFedAmbCall_multipleObjectInstanceNameReservationSucceeded,
65 DtTaFedAmbCall_multipleObjectInstanceNameReservationFailed,
66 DtTaFedAmbCall_discoverObjectInstance,
67 DtTaFedAmbCall_discoverObjectInstanceF,
68 DtTaFedAmbCall_reflectAttributeValues,
69 DtTaFedAmbCall_reflectAttributeValuesT,
70 DtTaFedAmbCall_reflectAttributeValuesH,
71 DtTaFedAmbCall_receiveInteraction,
72 DtTaFedAmbCall_receiveInteractionT,
73 DtTaFedAmbCall_receiveInteractionH,
74 DtTaFedAmbCall_removeObjectInstance,
75 DtTaFedAmbCall_removeObjectInstanceT,
76 DtTaFedAmbCall_removeObjectInstanceH,
77 DtTaFedAmbCall_attributesInScope,
78 DtTaFedAmbCall_attributesOutOfScope,
79 DtTaFedAmbCall_provideAttributeValueUpdate,
80 DtTaFedAmbCall_turnUpdatesOnForObjectInstance,
81 DtTaFedAmbCall_turnUpdatesOnForObjectInstanceU,
82 DtTaFedAmbCall_turnUpdatesOffForObjectInstance,
83 DtTaFedAmbCall_confirmAttributeTransportationTypeChange,
84 DtTaFedAmbCall_reportAttributeTransportationType,
85 DtTaFedAmbCall_confirmInteractionTransportationTypeChange,
86 DtTaFedAmbCall_reportInteractionTransportationType,
92 DtTaFedAmbCall_requestAttributeOwnershipAssumption,
93 DtTaFedAmbCall_requestDivestitureConfirmation,
94 DtTaFedAmbCall_attributeOwnershipAcquisitionNotification,
95 DtTaFedAmbCall_attributeOwnershipUnavailable,
96 DtTaFedAmbCall_requestAttributeOwnershipRelease,
97 DtTaFedAmbCall_confirmAttributeOwnershipAcquisitionCancellation,
98 DtTaFedAmbCall_informAttributeOwnership,
99 DtTaFedAmbCall_attributeIsNotOwned,
100 DtTaFedAmbCall_attributeIsOwnedByRTI,
106 DtTaFedAmbCall_timeRegulationEnabled,
107 DtTaFedAmbCall_timeConstrainedEnabled,
108 DtTaFedAmbCall_timeAdvanceGrant,
109 DtTaFedAmbCall_requestRetraction,
112 DtTaFedAmbCall_invalid
116 template<
int callbackKindValue>
117 class DtTaCallbackWithTime :
public DtTaCallback
121 DtTaCallbackWithTime(
122 std::auto_ptr<RTI::LogicalTime> time);
124 virtual ~DtTaCallbackWithTime();
127 DtTaCallbackWithTime(DtTaCallbackWithTime
const& orig);
128 DtTaCallbackWithTime& operator = (DtTaCallbackWithTime
const& orig);
131 virtual void invokeCallback(RTI::FederateAmbassador* fedAmb)
const;
133 std::auto_ptr<RTI::LogicalTime> myTime;
137 template<
int callbackKindValue>
138 class DtTaCallbackWithObjectAttributesOptTag :
public DtTaCallback
142 DtTaCallbackWithObjectAttributesOptTag(
143 RTI::ObjectInstanceHandle theObject,
144 RTI::AttributeHandleSet
const& theAttributes);
146 DtTaCallbackWithObjectAttributesOptTag(
147 RTI::ObjectInstanceHandle theObject,
148 RTI::AttributeHandleSet
const& theAttributes,
149 RTI::VariableLengthData
const& theUserTag);
152 virtual ~DtTaCallbackWithObjectAttributesOptTag();
155 DtTaCallbackWithObjectAttributesOptTag(DtTaCallbackWithObjectAttributesOptTag
const& orig);
156 DtTaCallbackWithObjectAttributesOptTag& operator = (DtTaCallbackWithObjectAttributesOptTag
const& orig);
159 virtual void invokeCallback(RTI::FederateAmbassador* fedAmb)
const;
161 RTI::ObjectInstanceHandle myObject;
162 RTI::AttributeHandleSet myAttributes;
163 RTI::VariableLengthData myTag;
173 typedef DtTaCallbackWithWString<DtTaFedAmbCall_synchronizationPointRegistrationSucceeded> DtTaCbSynchronizationPointRegistrationSucceeded;
175 class DtTaCbSynchronizationPointRegistrationFailed :
public DtTaCallback
179 DtTaCbSynchronizationPointRegistrationFailed(
180 std::wstring
const & label,
181 RTI::SynchronizationPointFailureReason reason);
183 virtual ~DtTaCbSynchronizationPointRegistrationFailed();
186 DtTaCbSynchronizationPointRegistrationFailed(DtTaCbSynchronizationPointRegistrationFailed
const& orig);
187 DtTaCbSynchronizationPointRegistrationFailed& operator = (DtTaCbSynchronizationPointRegistrationFailed
const& orig);
190 virtual void invokeCallback(RTI::FederateAmbassador* fedAmb)
const;
192 std::wstring myLabel;
193 RTI::SynchronizationPointFailureReason myReason;
196 class DtTaCbAnnounceSynchronizationPoint :
public DtTaCallback
200 DtTaCbAnnounceSynchronizationPoint(
201 std::wstring
const & label,
202 const RTI::VariableLengthData& theUserSuppliedTag);
204 virtual ~DtTaCbAnnounceSynchronizationPoint();
207 DtTaCbAnnounceSynchronizationPoint(DtTaCbAnnounceSynchronizationPoint
const& orig);
208 DtTaCbAnnounceSynchronizationPoint& operator = (DtTaCbAnnounceSynchronizationPoint
const& orig);
211 virtual void invokeCallback(RTI::FederateAmbassador* fedAmb)
const;
213 std::wstring myLabel;
214 RTI::VariableLengthData myTag;
219 class DtTaCbInitiateFederateSave :
public DtTaCallback
223 DtTaCbInitiateFederateSave(
224 std::wstring
const & label);
225 DtTaCbInitiateFederateSave(
226 std::wstring
const & label,
227 std::auto_ptr<RTI::LogicalTime> theTime);
230 virtual ~DtTaCbInitiateFederateSave();
233 DtTaCbInitiateFederateSave(DtTaCbInitiateFederateSave
const& orig);
234 DtTaCbInitiateFederateSave& operator = (DtTaCbInitiateFederateSave
const& orig);
237 virtual void invokeCallback(RTI::FederateAmbassador* fedAmb)
const;
239 std::wstring myLabel;
240 std::auto_ptr<RTI::LogicalTime> myTime;
243 typedef DtTaCallbackVoid<DtTaFedAmbCall_federationSaved> DtTaCbFederationSaved;
245 class DtTaCbFederationNotSaved :
public DtTaCallback
249 DtTaCbFederationNotSaved(
250 RTI::SaveFailureReason failureReason);
252 virtual ~DtTaCbFederationNotSaved();
255 DtTaCbFederationNotSaved(DtTaCbFederationNotSaved
const& orig);
256 DtTaCbFederationNotSaved& operator = (DtTaCbFederationNotSaved
const& orig);
259 virtual void invokeCallback(RTI::FederateAmbassador* fedAmb)
const;
261 RTI::SaveFailureReason mySaveFailureReason;
265 typedef DtTaCallbackWithWString<DtTaFedAmbCall_requestFederationRestoreSucceeded> DtTaCbRequestFederationRestoreSucceeded;
266 typedef DtTaCallbackWithWString<DtTaFedAmbCall_requestFederationRestoreFailed> DtTaCbRequestFederationRestoreFailed;
267 typedef DtTaCallbackVoid<DtTaFedAmbCall_federationRestoreBegun> DtTaCbFederationRestoreBegun;
269 class DtTaCbInitiateFederateRestore :
public DtTaCallback
273 DtTaCbInitiateFederateRestore(
274 const std::wstring& label,
275 std::wstring
const & federateName,
276 RTI::FederateHandle handle);
279 virtual ~DtTaCbInitiateFederateRestore();
282 DtTaCbInitiateFederateRestore(DtTaCbInitiateFederateRestore
const& orig);
283 DtTaCbInitiateFederateRestore& operator = (DtTaCbInitiateFederateRestore
const& orig);
286 virtual void invokeCallback(RTI::FederateAmbassador* fedAmb)
const;
288 std::wstring myLabel;
289 std::wstring
const & myFederateName;
290 RTI::FederateHandle myFederateHandle;
293 typedef DtTaCallbackVoid<DtTaFedAmbCall_federationRestored> DtTaCbFederationRestored;
295 class DtTaCbFederationNotRestored :
public DtTaCallback
299 DtTaCbFederationNotRestored(
300 RTI::RestoreFailureReason failureReason);
302 virtual ~DtTaCbFederationNotRestored();
305 DtTaCbFederationNotRestored(DtTaCbFederationNotRestored
const& orig);
306 DtTaCbFederationNotRestored& operator = (DtTaCbFederationNotRestored
const& orig);
309 virtual void invokeCallback(RTI::FederateAmbassador* fedAmb)
const;
311 RTI::RestoreFailureReason myRestoreFailureReason;
320 typedef DtTaCallbackWithObjectClass<DtTaFedAmbCall_startRegistrationForObjectClass> DtTaCbStartRegistrationForObjectClass;
321 typedef DtTaCallbackWithObjectClass<DtTaFedAmbCall_stopRegistrationForObjectClass> DtTaCbStopRegistrationForObjectClass;
322 typedef DtTaCallbackWithInteractionClass<DtTaFedAmbCall_turnInteractionsOn> DtTaCbTurnInteractionsOn;
323 typedef DtTaCallbackWithInteractionClass<DtTaFedAmbCall_turnInteractionsOff> DtTaCbTurnInteractionsOff;
329 typedef DtTaCallbackWithWString<DtTaFedAmbCall_objectInstanceNameReservationSucceeded> DtTaCbObjectInstanceNameReservationSucceeded;
330 typedef DtTaCallbackWithWString<DtTaFedAmbCall_objectInstanceNameReservationFailed> DtTaCbObjectInstanceNameReservationFailed;
335 class DtTaCbDiscoverObjectInstance :
public DtTaCallback
339 DtTaCbDiscoverObjectInstance(
340 RTI::ObjectInstanceHandle theObject,
341 RTI::ObjectClassHandle theObjectClass,
342 const std::wstring& theObjectInstanceName);
343 DtTaCbDiscoverObjectInstance(
344 RTI::ObjectInstanceHandle theObject,
345 RTI::ObjectClassHandle theObjectClass,
346 const std::wstring& theObjectInstanceName,
347 RTI::FederateHandle producingFederate);
349 virtual ~DtTaCbDiscoverObjectInstance();
352 DtTaCbDiscoverObjectInstance(DtTaCbDiscoverObjectInstance
const& orig);
353 DtTaCbDiscoverObjectInstance& operator = (DtTaCbDiscoverObjectInstance
const& orig);
356 virtual void invokeCallback(RTI::FederateAmbassador* fedAmb)
const;
358 RTI::ObjectInstanceHandle myObjectInstanceHandle;
359 RTI::ObjectClassHandle myObjectClassHandle;
360 std::wstring myString;
361 RTI::FederateHandle myProducingFederate;
364 class DtTaCbReflectAttributeValues :
public DtTaCallback
368 DtTaCbReflectAttributeValues(
369 RTI::ObjectInstanceHandle theObject,
370 const RTI::AttributeHandleValueMap& theAttributeValues,
371 const RTI::VariableLengthData& theUserSuppliedTag,
372 RTI::OrderType sentOrder,
373 RTI::TransportationType theType,
374 RTI::SupplementalReflectInfo theReflectInfo);
376 DtTaCbReflectAttributeValues (
377 RTI::ObjectInstanceHandle theObject,
378 const RTI::AttributeHandleValueMap& theAttributeValues,
379 const RTI::VariableLengthData& theUserSuppliedTag,
380 RTI::OrderType sentOrder,
381 RTI::TransportationType theType,
382 std::auto_ptr<RTI::LogicalTime> theTime,
383 RTI::OrderType receivedOrder,
384 RTI::SupplementalReflectInfo theReflectInfo);
386 DtTaCbReflectAttributeValues (
387 RTI::ObjectInstanceHandle theObject,
388 const RTI::AttributeHandleValueMap& theAttributeValues,
389 const RTI::VariableLengthData& theUserSuppliedTag,
390 RTI::OrderType sentOrder,
391 RTI::TransportationType theType,
392 std::auto_ptr<RTI::LogicalTime> theTime,
393 RTI::OrderType receivedOrder,
394 RTI::MessageRetractionHandle theHandle,
395 RTI::SupplementalReflectInfo theReflectInfo);
398 virtual ~DtTaCbReflectAttributeValues();
401 DtTaCbReflectAttributeValues(DtTaCbReflectAttributeValues
const& orig);
402 DtTaCbReflectAttributeValues& operator = (DtTaCbReflectAttributeValues
const& orig);
405 virtual void invokeCallback(RTI::FederateAmbassador* fedAmb)
const;
408 RTI::ObjectInstanceHandle myObject;
409 RTI::AttributeHandleValueMap myAttributeValues;
410 RTI::VariableLengthData myTag;
411 RTI::OrderType mySentOrder;
412 RTI::TransportationType myType;
413 std::auto_ptr<RTI::LogicalTime> myTime;
414 RTI::OrderType myReceivedOrder;
415 RTI::MessageRetractionHandle myRetractHandle;
416 RTI::SupplementalReflectInfo myReflectInfo;
419 class DtTaCbReceiveInteraction :
public DtTaCallback
423 DtTaCbReceiveInteraction(
424 RTI::InteractionClassHandle theInteraction,
425 const RTI::ParameterHandleValueMap& theParameterValues,
426 const RTI::VariableLengthData& theUserSuppliedTag,
427 RTI::OrderType sentOrder,
428 RTI::TransportationType theType,
429 RTI::SupplementalReceiveInfo theReceiveInfo);
431 DtTaCbReceiveInteraction(
432 RTI::InteractionClassHandle theInteraction,
433 const RTI::ParameterHandleValueMap& theParameterValues,
434 const RTI::VariableLengthData& theUserSuppliedTag,
435 RTI::OrderType sentOrder,
436 RTI::TransportationType theType,
437 std::auto_ptr<RTI::LogicalTime> theTime,
438 RTI::OrderType receivedOrder,
439 RTI::SupplementalReceiveInfo theReceiveInfo);
441 DtTaCbReceiveInteraction(
442 RTI::InteractionClassHandle theInteraction,
443 const RTI::ParameterHandleValueMap& theParameterValues,
444 const RTI::VariableLengthData& theUserSuppliedTag,
445 RTI::OrderType sentOrder,
446 RTI::TransportationType theType,
447 std::auto_ptr<RTI::LogicalTime> theTime,
448 RTI::OrderType receivedOrder,
449 RTI::MessageRetractionHandle theHandle,
450 RTI::SupplementalReceiveInfo theReceiveInfo);
453 virtual ~DtTaCbReceiveInteraction();
456 DtTaCbReceiveInteraction(DtTaCbReceiveInteraction
const& orig);
457 DtTaCbReceiveInteraction& operator = (DtTaCbReceiveInteraction
const& orig);
460 virtual void invokeCallback(RTI::FederateAmbassador* fedAmb)
const;
463 RTI::InteractionClassHandle myInteractionClass;
464 RTI::ParameterHandleValueMap myParameterValues;
465 RTI::VariableLengthData myTag;
466 RTI::OrderType mySentOrder;
467 RTI::TransportationType myType;
468 std::auto_ptr<RTI::LogicalTime> myTime;
469 RTI::OrderType myReceivedOrder;
470 RTI::MessageRetractionHandle myRetractHandle;
471 RTI::RegionHandleSet myRegionSet;
472 RTI::SupplementalReceiveInfo myReceiveInfo;
475 class DtTaCbRemoveObjectInstance :
public DtTaCallback
479 DtTaCbRemoveObjectInstance(
480 RTI::ObjectInstanceHandle theObject,
481 const RTI::VariableLengthData& theUserSuppliedTag,
482 RTI::OrderType sentOrder,
483 RTI::SupplementalRemoveInfo theRemoveInfo);
485 DtTaCbRemoveObjectInstance(
486 RTI::ObjectInstanceHandle theObject,
487 const RTI::VariableLengthData& theUserSuppliedTag,
488 RTI::OrderType sentOrder,
489 std::auto_ptr<RTI::LogicalTime> theTime,
490 RTI::OrderType receivedOrder,
491 RTI::SupplementalRemoveInfo theRemoveInfo);
493 DtTaCbRemoveObjectInstance(
494 RTI::ObjectInstanceHandle theObject,
495 const RTI::VariableLengthData& theUserSuppliedTag,
496 RTI::OrderType sentOrder,
497 std::auto_ptr<RTI::LogicalTime> theTime,
498 RTI::OrderType receivedOrder,
499 RTI::MessageRetractionHandle theHandle,
500 RTI::SupplementalRemoveInfo theRemoveInfo);
503 virtual ~DtTaCbRemoveObjectInstance();
506 DtTaCbRemoveObjectInstance(DtTaCbRemoveObjectInstance
const& orig);
507 DtTaCbRemoveObjectInstance& operator = (DtTaCbRemoveObjectInstance
const& orig);
510 virtual void invokeCallback(RTI::FederateAmbassador* fedAmb)
const;
512 RTI::ObjectInstanceHandle myObjectInstanceHandle;
513 RTI::VariableLengthData myTag;
514 RTI::OrderType mySentOrder;
515 std::auto_ptr<RTI::LogicalTime> myTime;
516 RTI::OrderType myReceivedOrder;
517 RTI::MessageRetractionHandle myRetractHandle;
518 RTI::SupplementalRemoveInfo myRemoveInfo;
521 typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_attributesInScope> DtTaCbAttributesInScope;
522 typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_attributesOutOfScope> DtTaCbAttributesOutOfScope;
523 typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_provideAttributeValueUpdate> DtTaCbProvideAttributeValueUpdate;
524 typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_turnUpdatesOnForObjectInstance> DtTaCbTurnUpdatesOnForObjectInstance;
526 typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_turnUpdatesOffForObjectInstance> DtTaCbTurnUpdatesOffForObjectInstance;
537 typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_requestAttributeOwnershipAssumption> DtTaCbRequestAttributeOwnershipAssumption;
538 typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_requestDivestitureConfirmation> DtTaCbRequestDivestitureConfirmation;
539 typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_attributeOwnershipAcquisitionNotification> DtTaCbAttributeOwnershipAcquisitionNotification;
540 typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_attributeOwnershipUnavailable> DtTaCbAttributeOwnershipUnavailable;
541 typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_requestAttributeOwnershipRelease> DtTaCbRequestAttributeOwnershipRelease;
542 typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_confirmAttributeOwnershipAcquisitionCancellation> DtTaCbConfirmAttributeOwnershipAcquisitionCancellation;
544 typedef DtTaCallbackWithObjectAttributeOptFederate <DtTaFedAmbCall_informAttributeOwnership> DtTaCbInformAttributeOwnership;
545 typedef DtTaCallbackWithObjectAttributeOptFederate <DtTaFedAmbCall_attributeIsNotOwned> DtTaCbAttributeIsNotOwned;
546 typedef DtTaCallbackWithObjectAttributeOptFederate <DtTaFedAmbCall_attributeIsOwnedByRTI> DtTaCbAttributeIsOwnedByRTI;
552 typedef DtTaCallbackWithTime<DtTaFedAmbCall_timeRegulationEnabled> DtTaCbTimeRegulationEnabled;
553 typedef DtTaCallbackWithTime<DtTaFedAmbCall_timeConstrainedEnabled> DtTaCbTimeConstrainedEnabled;
554 typedef DtTaCallbackWithTime<DtTaFedAmbCall_timeAdvanceGrant> DtTaCbTimeAdvanceGrant;
556 class DtTaCbRequestRetraction :
public DtTaCallback
560 DtTaCbRequestRetraction(RTI::MessageRetractionHandle handle);
562 virtual ~DtTaCbRequestRetraction();
565 DtTaCbRequestRetraction(DtTaCbRequestRetraction
const& orig);
566 DtTaCbRequestRetraction& operator = (DtTaCbRequestRetraction
const& orig);
569 virtual void invokeCallback(RTI::FederateAmbassador* fedAmb)
const;
571 RTI::MessageRetractionHandle myRetractHandle;
575 DT_DLL_CSEC const char * callbackKindToString(
int kind);
577 #define fedAmbCallback1516e_inl_
578 #include "fedAmbCallback1516e.inl"
579 #undef fedAmbCallback1516e_inl_
The DtTaCallback is a base class to store callback parameters.
#define DT_DLL_CSEC
Definition: clientServerExConnDllDefines.h:17