9 #ifndef fedAmbCallback1516e_h
10 #define fedAmbCallback1516e_h
16 #include <RTI/Typedefs.h>
17 #include <RTI/FederateAmbassador.h>
21 using namespace rti1516e;
29 DtFedAmbCall_connectionLost,
30 DtFedAmbCall_reportFederationExecutions,
32 DtFedAmbCall_synchronizationPointRegistrationSucceeded,
33 DtFedAmbCall_synchronizationPointRegistrationFailed,
35 DtFedAmbCall_announceSynchronizationPoint,
37 DtFedAmbCall_federationSynchronized,
39 DtFedAmbCall_initiateFederateSave,
40 DtFedAmbCall_initiateFederateSaveWithTime,
42 DtFedAmbCall_federationSaved,
43 DtFedAmbCall_federationNotSaved,
45 DtFedAmbCall_federationSaveStatusResponse,
47 DtFedAmbCall_requestFederationRestoreSucceeded,
48 DtFedAmbCall_requestFederationRestoreFailed,
50 DtFedAmbCall_federationRestoreBegun,
52 DtFedAmbCall_initiateFederateRestore,
54 DtFedAmbCall_federationRestored,
55 DtFedAmbCall_federationNotRestored,
57 DtFedAmbCall_federationRestoreStatusResponse,
62 DtFedAmbCall_startRegistrationForObjectClass,
64 DtFedAmbCall_stopRegistrationForObjectClass,
66 DtFedAmbCall_turnInteractionsOn,
68 DtFedAmbCall_turnInteractionsOff,
73 DtFedAmbCall_objectInstanceNameReservationSucceeded,
74 DtFedAmbCall_objectInstanceNameReservationFailed,
76 DtFedAmbCall_multipleObjectInstanceNameReservationSucceeded,
77 DtFedAmbCall_multipleObjectInstanceNameReservationFailed,
79 DtFedAmbCall_discoverObjectInstance,
80 DtFedAmbCall_discoverObjectInstance_h,
82 DtFedAmbCall_reflectAttributeValues_hvuots,
83 DtFedAmbCall_reflectAttributeValues_hvuotlos,
84 DtFedAmbCall_reflectAttributeValues_hvuotloms,
86 DtFedAmbCall_receiveInteraction_hvuos,
87 DtFedAmbCall_receiveInteraction_hvuolos,
88 DtFedAmbCall_receiveInteraction_hvuoloms,
90 DtFedAmbCall_removeObjectInstance_huo,
91 DtFedAmbCall_removeObjectInstance_huomo,
92 DtFedAmbCall_removeObjectInstance_huomoc,
94 DtFedAmbCall_attributesInScope,
96 DtFedAmbCall_attributesOutOfScope,
98 DtFedAmbCall_provideAttributeValueUpdate,
100 DtFedAmbCall_turnUpdatesOnForObjectInstance,
101 DtFedAmbCall_turnUpdatesOnForObjectInstance_u,
103 DtFedAmbCall_turnUpdatesOffForObjectInstance,
105 DtFedAmbCall_confirmAttributeTransportationTypeChange,
107 DtFedAmbCall_reportAttributeTransportationType,
109 DtFedAmbCall_confirmInteractionTransportationTypeChange,
111 DtFedAmbCall_reportInteractionTransportationType,
116 DtFedAmbCall_requestAttributeOwnershipAssumption,
118 DtFedAmbCall_requestDivestitureConfirmation,
120 DtFedAmbCall_attributeOwnershipAcquisitionNotification,
122 DtFedAmbCall_attributeOwnershipUnavailable,
124 DtFedAmbCall_requestAttributeOwnershipRelease,
126 DtFedAmbCall_confirmAttributeOwnershipAcquisitionCancellation,
128 DtFedAmbCall_informAttributeOwnership,
129 DtFedAmbCall_attributeIsNotOwned,
130 DtFedAmbCall_attributeIsOwnedByRTI,
135 DtFedAmbCall_timeRegulationEnabled,
137 DtFedAmbCall_timeConstrainedEnabled,
139 DtFedAmbCall_timeAdvanceGrant,
141 DtFedAmbCall_requestRetraction,
153 DtFedAmbCallback(DtFedAmbCallKind kind);
155 virtual ~DtFedAmbCallback();
158 DtFedAmbCallback(DtFedAmbCallback
const& orig);
159 DtFedAmbCallback& operator = (DtFedAmbCallback
const& orig);
165 virtual DtFedAmbCallKind callbackKind()
const;
168 DtFedAmbCallKind myCallbackKind;
171 template<DtFedAmbCallKind callbackKindValue>
172 class DtFedAmbCallbackVoid :
public DtFedAmbCallback
176 DtFedAmbCallbackVoid();
178 virtual ~DtFedAmbCallbackVoid();
181 DtFedAmbCallbackVoid(DtFedAmbCallbackVoid
const& orig);
182 DtFedAmbCallbackVoid& operator = (DtFedAmbCallbackVoid
const& orig);
189 template<DtFedAmbCallKind callbackKindValue>
190 class DtCallbackWithTime :
public DtFedAmbCallback
195 std::auto_ptr<rti1516e::LogicalTime> time);
197 virtual ~DtCallbackWithTime();
200 DtCallbackWithTime(DtCallbackWithTime
const& orig);
201 DtCallbackWithTime& operator = (DtCallbackWithTime
const& orig);
206 std::auto_ptr<rti1516e::LogicalTime> myTime;
209 template<DtFedAmbCallKind callbackKindValue>
210 class DtCallbackWithWString :
public DtFedAmbCallback
214 DtCallbackWithWString(std::wstring
const& value);
215 DtCallbackWithWString(std::wstring
const& value,
219 virtual ~DtCallbackWithWString();
222 DtCallbackWithWString(DtCallbackWithWString
const& orig);
223 DtCallbackWithWString& operator = (DtCallbackWithWString
const& orig);
228 std::wstring myString;
232 template<DtFedAmbCallKind callbackKindValue>
233 class DtCallbackWithWStringArray :
public DtFedAmbCallback
237 DtCallbackWithWStringArray( std::set<std::wstring>
const & value );
240 virtual ~DtCallbackWithWStringArray();
243 DtCallbackWithWStringArray(DtCallbackWithWStringArray
const& orig);
244 DtCallbackWithWStringArray& operator = (DtCallbackWithWStringArray
const& orig);
250 std::set<std::wstring> myStrings;
253 template<DtFedAmbCallKind callbackKindValue>
254 class DtCallbackWithObjectClass :
public DtFedAmbCallback
260 virtual ~DtCallbackWithObjectClass();
263 DtCallbackWithObjectClass(DtCallbackWithObjectClass
const& orig);
264 DtCallbackWithObjectClass& operator = (DtCallbackWithObjectClass
const& orig);
272 template<DtFedAmbCallKind callbackKindValue>
273 class DtCallbackWithInteractionClass :
public DtFedAmbCallback
277 DtCallbackWithInteractionClass(
280 virtual ~DtCallbackWithInteractionClass();
283 DtCallbackWithInteractionClass(DtCallbackWithInteractionClass
const& orig);
284 DtCallbackWithInteractionClass& operator = (DtCallbackWithInteractionClass
const& orig);
292 template<DtFedAmbCallKind callbackKindValue>
293 class DtCallbackWithObjectAttributesOptTag :
public DtFedAmbCallback
297 DtCallbackWithObjectAttributesOptTag(
298 rti1516e::ObjectInstanceHandle theObject,
300 DtCallbackWithObjectAttributesOptTag(
301 rti1516e::ObjectInstanceHandle theObject,
304 DtCallbackWithObjectAttributesOptTag(
305 rti1516e::ObjectInstanceHandle theObject,
308 DtCallbackWithObjectAttributesOptTag(
309 rti1516e::ObjectInstanceHandle theObject,
312 DtCallbackWithObjectAttributesOptTag(
315 DtCallbackWithObjectAttributesOptTag(
319 DtCallbackWithObjectAttributesOptTag(
320 rti1516e::ObjectInstanceHandle theObject,
322 std::wstring
const & updateRateDesignator );
325 virtual ~DtCallbackWithObjectAttributesOptTag();
328 DtCallbackWithObjectAttributesOptTag(DtCallbackWithObjectAttributesOptTag
const& orig);
329 DtCallbackWithObjectAttributesOptTag& operator = (DtCallbackWithObjectAttributesOptTag
const& orig);
334 rti1516e::ObjectInstanceHandle myObject;
341 std::wstring myUpdateRateDesignator;
344 template<DtFedAmbCallKind callbackKindValue>
345 class DtCallbackWithObjectAttributesOptFederate :
public DtFedAmbCallback
349 DtCallbackWithObjectAttributesOptFederate(
350 rti1516e::ObjectInstanceHandle theObject,
352 DtCallbackWithObjectAttributesOptFederate(
353 rti1516e::ObjectInstanceHandle theObject,
357 virtual ~DtCallbackWithObjectAttributesOptFederate();
360 DtCallbackWithObjectAttributesOptFederate(DtCallbackWithObjectAttributesOptFederate
const& orig);
361 DtCallbackWithObjectAttributesOptFederate& operator = (DtCallbackWithObjectAttributesOptFederate
const& orig);
366 rti1516e::ObjectInstanceHandle myObject;
375 typedef DtCallbackWithWString<DtFedAmbCall_synchronizationPointRegistrationSucceeded> DtCbSynchronizationPointRegistrationSucceeded;
377 class DtCbSynchronizationPointRegistrationFailed :
public DtFedAmbCallback
381 DtCbSynchronizationPointRegistrationFailed(std::wstring
const& stringValue,
384 virtual ~DtCbSynchronizationPointRegistrationFailed();
387 DtCbSynchronizationPointRegistrationFailed(DtCbSynchronizationPointRegistrationFailed
const& orig);
388 DtCbSynchronizationPointRegistrationFailed& operator = (DtCbSynchronizationPointRegistrationFailed
const& orig);
393 std::wstring myString;
399 class DtCbAnnounceSynchronizationPoint :
public DtFedAmbCallback
403 DtCbAnnounceSynchronizationPoint(std::wstring
const& stringValue,
406 virtual ~DtCbAnnounceSynchronizationPoint();
409 DtCbAnnounceSynchronizationPoint(DtCbAnnounceSynchronizationPoint
const& orig);
410 DtCbAnnounceSynchronizationPoint& operator = (DtCbAnnounceSynchronizationPoint
const& orig);
415 std::wstring myString;
420 typedef DtCallbackWithWString<DtFedAmbCall_federationSynchronized> DtCbFederationSynchronized;
423 typedef DtCallbackWithWString<DtFedAmbCall_initiateFederateSave> DtCbInitiateFederateSave;
425 class DtCbInitiateFederateSaveWithTime:
public DtFedAmbCallback
429 DtCbInitiateFederateSaveWithTime(std::wstring
const& stringValue,
430 std::auto_ptr<rti1516e::LogicalTime> time);
432 virtual ~DtCbInitiateFederateSaveWithTime();
435 DtCbInitiateFederateSaveWithTime(DtCbInitiateFederateSaveWithTime
const& orig);
436 DtCbInitiateFederateSaveWithTime& operator = (DtCbInitiateFederateSaveWithTime
const& orig);
441 std::wstring myString;
442 std::auto_ptr<rti1516e::LogicalTime> myTime;
446 typedef DtFedAmbCallbackVoid<DtFedAmbCall_federationSaved> DtCbFederationSaved;
448 class DtCbFederationNotSaved :
public DtFedAmbCallback
454 virtual ~DtCbFederationNotSaved();
457 DtCbFederationNotSaved(DtCbFederationNotSaved
const& orig);
458 DtCbFederationNotSaved& operator = (DtCbFederationNotSaved
const& orig);
468 class DtCbFederationSaveStatusResponse :
public DtFedAmbCallback
472 DtCbFederationSaveStatusResponse(
475 virtual ~DtCbFederationSaveStatusResponse();
478 DtCbFederationSaveStatusResponse(DtCbFederationSaveStatusResponse
const& orig);
479 DtCbFederationSaveStatusResponse& operator = (DtCbFederationSaveStatusResponse
const& orig);
488 typedef DtCallbackWithWString<DtFedAmbCall_requestFederationRestoreSucceeded> DtCbRequestFederationRestoreSucceeded;
490 typedef DtCallbackWithWString<DtFedAmbCall_requestFederationRestoreFailed> DtCbRequestFederationRestoreFailed;
493 typedef DtFedAmbCallbackVoid<DtFedAmbCall_federationRestoreBegun> DtCbFederationRestoreBegun;
497 class DtCbInitiateFederateRestore :
public DtFedAmbCallback
501 DtCbInitiateFederateRestore(std::wstring
const& stringValue,
504 virtual ~DtCbInitiateFederateRestore();
507 DtCbInitiateFederateRestore(DtCbInitiateFederateRestore
const& orig);
508 DtCbInitiateFederateRestore& operator = (DtCbInitiateFederateRestore
const& orig);
514 std::wstring myString;
518 typedef DtFedAmbCallbackVoid<DtFedAmbCall_federationRestored> DtCbFederationRestored;
520 class DtCbFederationNotRestored :
public DtFedAmbCallback
526 virtual ~DtCbFederationNotRestored();
529 DtCbFederationNotRestored(DtCbFederationNotRestored
const& orig);
530 DtCbFederationNotRestored& operator = (DtCbFederationNotRestored
const& orig);
540 class DtCbFederationRestoreStatusResponse :
public DtFedAmbCallback
544 DtCbFederationRestoreStatusResponse(
547 virtual ~DtCbFederationRestoreStatusResponse();
550 DtCbFederationRestoreStatusResponse(DtCbFederationRestoreStatusResponse
const& orig);
551 DtCbFederationRestoreStatusResponse& operator = (DtCbFederationRestoreStatusResponse
const& orig);
564 typedef DtCallbackWithObjectClass<DtFedAmbCall_startRegistrationForObjectClass> DtCbStartRegistrationForObjectClass;
567 typedef DtCallbackWithObjectClass<DtFedAmbCall_stopRegistrationForObjectClass> DtCbStopRegistrationForObjectClass;
570 typedef DtCallbackWithInteractionClass<DtFedAmbCall_turnInteractionsOn> DtCbTurnInteractionsOn;
573 typedef DtCallbackWithInteractionClass<DtFedAmbCall_turnInteractionsOff> DtCbTurnInteractionsOff;
579 typedef DtCallbackWithWString<DtFedAmbCall_objectInstanceNameReservationSucceeded> DtCbObjectInstanceNameReservationSucceeded;
580 typedef DtCallbackWithWString<DtFedAmbCall_objectInstanceNameReservationFailed> DtCbObjectInstanceNameReservationFailed;
582 typedef DtCallbackWithWStringArray<DtFedAmbCall_multipleObjectInstanceNameReservationSucceeded> DtCbMultipleObjectInstanceNameReservationSucceeded;
583 typedef DtCallbackWithWStringArray<DtFedAmbCall_multipleObjectInstanceNameReservationFailed> DtCbMultipleObjectInstanceNameReservationFailed;
587 class DtCbDiscoverObjectInstance:
public DtFedAmbCallback
591 DtCbDiscoverObjectInstance(rti1516e::ObjectInstanceHandle theObject,
593 std::wstring
const & theObjectInstanceName);
594 DtCbDiscoverObjectInstance(rti1516e::ObjectInstanceHandle theObject,
596 std::wstring
const & theObjectInstanceName,
599 virtual ~DtCbDiscoverObjectInstance();
602 DtCbDiscoverObjectInstance(DtCbDiscoverObjectInstance
const& orig);
603 DtCbDiscoverObjectInstance& operator = (DtCbDiscoverObjectInstance
const& orig);
608 rti1516e::ObjectInstanceHandle myObjectInstanceHandle;
610 std::wstring myString;
617 class DtCbReflectAttributeValues:
public DtFedAmbCallback
620 DtCbReflectAttributeValues( rti1516e::ObjectInstanceHandle theObject,
627 DtCbReflectAttributeValues( rti1516e::ObjectInstanceHandle theObject,
632 std::auto_ptr<rti1516e::LogicalTime> theTime,
636 DtCbReflectAttributeValues( rti1516e::ObjectInstanceHandle theObject,
641 std::auto_ptr<rti1516e::LogicalTime> theTime,
643 rti1516e::MessageRetractionHandle theHandle,
647 virtual ~DtCbReflectAttributeValues();
650 DtCbReflectAttributeValues(DtCbReflectAttributeValues
const& orig);
651 DtCbReflectAttributeValues& operator = (DtCbReflectAttributeValues
const& orig);
657 rti1516e::ObjectInstanceHandle myObject;
662 std::auto_ptr<rti1516e::LogicalTime> myTime;
664 rti1516e::MessageRetractionHandle myRetractHandle;
670 class DtCbReceiveInteraction:
public DtFedAmbCallback
685 std::auto_ptr<rti1516e::LogicalTime> theTime,
694 std::auto_ptr<rti1516e::LogicalTime> theTime,
696 rti1516e::MessageRetractionHandle theHandle,
700 virtual ~DtCbReceiveInteraction();
703 DtCbReceiveInteraction(DtCbReceiveInteraction
const& orig);
704 DtCbReceiveInteraction& operator = (DtCbReceiveInteraction
const& orig);
715 std::auto_ptr<rti1516e::LogicalTime> myTime;
717 rti1516e::MessageRetractionHandle myRetractHandle;
723 class DtCbRemoveObjectInstance:
public DtFedAmbCallback
727 DtCbRemoveObjectInstance(
728 rti1516e::ObjectInstanceHandle theObject,
732 DtCbRemoveObjectInstance(
733 rti1516e::ObjectInstanceHandle theObject,
736 std::auto_ptr<rti1516e::LogicalTime> theTime,
739 DtCbRemoveObjectInstance(
740 rti1516e::ObjectInstanceHandle theObject,
743 std::auto_ptr<rti1516e::LogicalTime> theTime,
745 rti1516e::MessageRetractionHandle theRetractHandle,
749 virtual ~DtCbRemoveObjectInstance();
752 DtCbRemoveObjectInstance(DtCbRemoveObjectInstance
const& orig);
753 DtCbRemoveObjectInstance& operator = (DtCbRemoveObjectInstance
const& orig);
758 rti1516e::ObjectInstanceHandle myObjectInstanceHandle;
761 std::auto_ptr<rti1516e::LogicalTime> myTime;
763 rti1516e::MessageRetractionHandle myRetractHandle;
769 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_attributesInScope> DtCbAttributesInScope;
772 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_attributesOutOfScope> DtCbAttributesOutOfScope;
775 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_provideAttributeValueUpdate> DtCbProvideAttributeValueUpdate;
778 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_turnUpdatesOnForObjectInstance> DtCbTurnUpdatesOnForObjectInstance;
779 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_turnUpdatesOnForObjectInstance_u> DtCbTurnUpdatesOnForObjectInstance_u;
782 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_turnUpdatesOffForObjectInstance> DtCbTurnUpdatesOffForObjectInstance;
785 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_confirmAttributeTransportationTypeChange> DtCbConfirmAttributeTransportationTypeChange;
788 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_reportAttributeTransportationType> DtCbReportAttributeTransportationType;
791 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_confirmInteractionTransportationTypeChange> DtCbConfirmInteractionTransportationTypeChange;
794 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_reportInteractionTransportationType> DtCbReportInteractionTransportationType;
800 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_requestAttributeOwnershipAssumption> DtCbRequestAttributeOwnershipAssumption;
803 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_requestDivestitureConfirmation> DtCbRequestDivestitureConfirmation;
806 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_attributeOwnershipAcquisitionNotification> DtCbAttributeOwnershipAcquisitionNotification;
809 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_attributeOwnershipUnavailable> DtCbAttributeOwnershipUnavailable;
812 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_requestAttributeOwnershipRelease> DtCbRequestAttributeOwnershipRelease;
815 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_confirmAttributeOwnershipAcquisitionCancellation> DtCbConfirmAttributeOwnershipAcquisitionCancellation;
818 typedef DtCallbackWithObjectAttributesOptFederate<DtFedAmbCall_informAttributeOwnership> DtCbInformAttributeOwnership;
820 typedef DtCallbackWithObjectAttributesOptFederate<DtFedAmbCall_attributeIsNotOwned> DtCbAttributeIsNotOwned;
822 typedef DtCallbackWithObjectAttributesOptFederate<DtFedAmbCall_attributeIsOwnedByRTI> DtCbAttributeIsOwnedByRTI;
828 typedef DtCallbackWithTime<DtFedAmbCall_timeRegulationEnabled> DtCbTimeRegulationEnabled;
831 typedef DtCallbackWithTime<DtFedAmbCall_timeConstrainedEnabled> DtCbTimeConstrainedEnabled;
834 typedef DtCallbackWithTime<DtFedAmbCall_timeAdvanceGrant> DtCbTimeAdvanceGrant;
838 class DtCbRequestRetraction:
public DtFedAmbCallback
842 DtCbRequestRetraction(rti1516e::MessageRetractionHandle handle);
844 virtual ~DtCbRequestRetraction();
847 DtCbRequestRetraction(DtCbRequestRetraction
const& orig);
848 DtCbRequestRetraction& operator = (DtCbRequestRetraction
const& orig);
853 rti1516e::MessageRetractionHandle myRetractHandle;
858 DT_DLL_LRC const char* callbackKindToString(DtFedAmbCallKind kind);
860 #define fedAmbCallback1516e_inl_
862 #undef fedAmbCallback1516e_inl_