9 #ifndef DtfedAmbCallback13_h
10 #define DtfedAmbCallback13_h
36 DtFedAmbCall_synchronizationPointRegistrationSucceeded,
37 DtFedAmbCall_synchronizationPointRegistrationFailed,
38 DtFedAmbCall_announceSynchronizationPoint,
39 DtFedAmbCall_federationSynchronized,
40 DtFedAmbCall_initiateFederateSave,
41 DtFedAmbCall_federationSaved,
42 DtFedAmbCall_federationNotSaved,
43 DtFedAmbCall_requestFederationRestoreSucceeded,
44 DtFedAmbCall_requestFederationRestoreFailed,
45 DtFedAmbCall_federationRestoreBegun,
46 DtFedAmbCall_initiateFederateRestore,
47 DtFedAmbCall_federationRestored,
48 DtFedAmbCall_federationNotRestored,
54 DtFedAmbCall_startRegistrationForObjectClass,
55 DtFedAmbCall_stopRegistrationForObjectClass,
56 DtFedAmbCall_turnInteractionsOn,
57 DtFedAmbCall_turnInteractionsOff,
63 DtFedAmbCall_discoverObjectInstance,
64 DtFedAmbCall_reflectAttributeValues,
65 DtFedAmbCall_reflectAttributeValuesT,
66 DtFedAmbCall_receiveInteraction,
67 DtFedAmbCall_receiveInteractionT,
68 DtFedAmbCall_removeObjectInstance,
69 DtFedAmbCall_removeObjectInstanceT,
70 DtFedAmbCall_attributesInScope,
71 DtFedAmbCall_attributesOutOfScope,
72 DtFedAmbCall_provideAttributeValueUpdate,
73 DtFedAmbCall_turnUpdatesOnForObjectInstance,
74 DtFedAmbCall_turnUpdatesOffForObjectInstance,
80 DtFedAmbCall_requestAttributeOwnershipAssumption,
81 DtFedAmbCall_attributeOwnershipDivestitureNotification,
82 DtFedAmbCall_attributeOwnershipAcquisitionNotification,
83 DtFedAmbCall_attributeOwnershipUnavailable,
84 DtFedAmbCall_requestAttributeOwnershipRelease,
85 DtFedAmbCall_confirmAttributeOwnershipAcquisitionCancellation,
86 DtFedAmbCall_informAttributeOwnership,
87 DtFedAmbCall_attributeIsNotOwned,
88 DtFedAmbCall_attributeOwnedByRTI,
94 DtFedAmbCall_timeRegulationEnabled,
95 DtFedAmbCall_timeConstrainedEnabled,
96 DtFedAmbCall_timeAdvanceGrant,
97 DtFedAmbCall_requestRetraction,
106 class DtFedAmbCallback
110 DtFedAmbCallback(DtFedAmbCallKind kind);
112 virtual ~DtFedAmbCallback();
115 DtFedAmbCallback(DtFedAmbCallback
const& orig);
116 DtFedAmbCallback& operator = (DtFedAmbCallback
const& orig);
119 virtual void evokeCallback(RTI::FederateAmbassador* fedAmb)
const = 0;
122 virtual DtFedAmbCallKind callbackKind()
const;
125 DtFedAmbCallKind myCallbackKind;
128 template<DtFedAmbCallKind callbackKindValue>
129 class DtFedAmbCallbackVoid :
public DtFedAmbCallback
133 DtFedAmbCallbackVoid();
135 virtual ~DtFedAmbCallbackVoid();
138 DtFedAmbCallbackVoid(DtFedAmbCallbackVoid
const& orig);
139 DtFedAmbCallbackVoid& operator = (DtFedAmbCallbackVoid
const& orig);
143 virtual void evokeCallback(RTI::FederateAmbassador* fedAmb)
const;
146 template<DtFedAmbCallKind callbackKindValue>
147 class DtCallbackWithTime :
public DtFedAmbCallback
152 std::auto_ptr<RTI::FedTime> time);
154 virtual ~DtCallbackWithTime();
157 DtCallbackWithTime(DtCallbackWithTime
const& orig);
158 DtCallbackWithTime& operator = (DtCallbackWithTime
const& orig);
161 virtual void evokeCallback(RTI::FederateAmbassador* fedAmb)
const;
163 std::auto_ptr<RTI::FedTime> myTime;
166 template<DtFedAmbCallKind callbackKindValue>
167 class DtCallbackWithString :
public DtFedAmbCallback
171 DtCallbackWithString(
const char * value);
174 virtual ~DtCallbackWithString();
177 DtCallbackWithString(DtCallbackWithString
const& orig);
178 DtCallbackWithString& operator = (DtCallbackWithString
const& orig);
181 virtual void evokeCallback(RTI::FederateAmbassador* fedAmb)
const;
183 MAKRti::DtString myString;
186 template<DtFedAmbCallKind callbackKindValue>
187 class DtCallbackWithTwoStrings :
public DtFedAmbCallback
191 DtCallbackWithTwoStrings(
const char * str1,
const char * str2);
194 virtual ~DtCallbackWithTwoStrings();
197 DtCallbackWithTwoStrings(DtCallbackWithTwoStrings
const& orig);
198 DtCallbackWithTwoStrings& operator = (DtCallbackWithTwoStrings
const& orig);
201 virtual void evokeCallback(RTI::FederateAmbassador* fedAmb)
const;
203 MAKRti::DtString myString1;
204 MAKRti::DtString myString2;
207 template<DtFedAmbCallKind callbackKindValue>
208 class DtCallbackWithObjectClass :
public DtFedAmbCallback
214 virtual ~DtCallbackWithObjectClass();
217 DtCallbackWithObjectClass(DtCallbackWithObjectClass
const& orig);
218 DtCallbackWithObjectClass& operator = (DtCallbackWithObjectClass
const& orig);
221 virtual void evokeCallback(RTI::FederateAmbassador* fedAmb)
const;
226 template<DtFedAmbCallKind callbackKindValue>
227 class DtCallbackWithInteractionClass :
public DtFedAmbCallback
233 virtual ~DtCallbackWithInteractionClass();
236 DtCallbackWithInteractionClass(DtCallbackWithInteractionClass
const& orig);
237 DtCallbackWithInteractionClass& operator = (DtCallbackWithInteractionClass
const& orig);
240 virtual void evokeCallback(RTI::FederateAmbassador* fedAmb)
const;
245 template<DtFedAmbCallKind callbackKindValue>
246 class DtCallbackWithObjectAttributesOptTag :
public DtFedAmbCallback
250 DtCallbackWithObjectAttributesOptTag(
253 DtCallbackWithObjectAttributesOptTag(
256 const char * theUserTag);
259 virtual ~DtCallbackWithObjectAttributesOptTag();
262 DtCallbackWithObjectAttributesOptTag(DtCallbackWithObjectAttributesOptTag
const& orig);
263 DtCallbackWithObjectAttributesOptTag& operator = (DtCallbackWithObjectAttributesOptTag
const& orig);
266 virtual void evokeCallback(RTI::FederateAmbassador* fedAmb)
const;
270 MAKRti::DtString myTag;
273 template<DtFedAmbCallKind callbackKindValue>
274 class DtCallbackWithObjectAttributeOptFederate :
public DtFedAmbCallback
278 DtCallbackWithObjectAttributeOptFederate(
281 DtCallbackWithObjectAttributeOptFederate(
286 virtual ~DtCallbackWithObjectAttributeOptFederate();
289 DtCallbackWithObjectAttributeOptFederate(DtCallbackWithObjectAttributeOptFederate
const& orig);
290 DtCallbackWithObjectAttributeOptFederate& operator = (DtCallbackWithObjectAttributeOptFederate
const& orig);
293 virtual void evokeCallback(RTI::FederateAmbassador* fedAmb)
const;
301 typedef DtCallbackWithString<DtFedAmbCall_synchronizationPointRegistrationSucceeded> DtCbSynchronizationPointRegistrationSucceeded;
303 typedef DtCallbackWithString<DtFedAmbCall_synchronizationPointRegistrationFailed> DtCbSynchronizationPointRegistrationFailed;
305 typedef DtCallbackWithTwoStrings<DtFedAmbCall_announceSynchronizationPoint> DtCbAnnounceSynchronizationPoint;
307 typedef DtCallbackWithString<DtFedAmbCall_federationSynchronized> DtCbFederationSynchronized;
309 typedef DtCallbackWithString<DtFedAmbCall_initiateFederateSave> DtCbInitiateFederateSave;
311 typedef DtFedAmbCallbackVoid<DtFedAmbCall_federationSaved> DtCbFederationSaved;
313 typedef DtFedAmbCallbackVoid<DtFedAmbCall_federationNotSaved> DtCbFederationNotSaved;
315 typedef DtCallbackWithString<DtFedAmbCall_requestFederationRestoreSucceeded> DtCbRequestFederationRestoreSucceeded;
317 typedef DtCallbackWithTwoStrings<DtFedAmbCall_requestFederationRestoreFailed> DtCbRequestFederationRestoreFailed;
319 typedef DtFedAmbCallbackVoid<DtFedAmbCall_federationRestoreBegun> DtCbFederationRestoreBegun;
321 class DtCbInitiateFederateRestore :
public DtFedAmbCallback
328 virtual ~DtCbInitiateFederateRestore();
331 DtCbInitiateFederateRestore(DtCbInitiateFederateRestore
const& orig);
332 DtCbInitiateFederateRestore& operator = (DtCbInitiateFederateRestore
const& orig);
335 virtual void evokeCallback(RTI::FederateAmbassador* fedAmb)
const;
337 MAKRti::DtString myLabel;
342 typedef DtFedAmbCallbackVoid<DtFedAmbCall_federationRestored> DtCbFederationRestored;
344 typedef DtFedAmbCallbackVoid<DtFedAmbCall_federationNotRestored> DtCbFederationNotRestored;
346 typedef DtCallbackWithObjectClass<DtFedAmbCall_startRegistrationForObjectClass> DtCbStartRegistrationForObjectClass;
348 typedef DtCallbackWithObjectClass<DtFedAmbCall_stopRegistrationForObjectClass> DtCbStopRegistrationForObjectClass;
350 typedef DtCallbackWithInteractionClass<DtFedAmbCall_turnInteractionsOn> DtCbTurnInteractionsOn;
352 typedef DtCallbackWithInteractionClass<DtFedAmbCall_turnInteractionsOff> DtCbTurnInteractionsOff;
354 class DtCbDiscoverObjectInstance:
public DtFedAmbCallback
360 const char * theObjectInstanceName);
362 virtual ~DtCbDiscoverObjectInstance();
365 DtCbDiscoverObjectInstance(DtCbDiscoverObjectInstance
const& orig);
366 DtCbDiscoverObjectInstance& operator = (DtCbDiscoverObjectInstance
const& orig);
369 virtual void evokeCallback(RTI::FederateAmbassador* fedAmb)
const;
373 MAKRti::DtString myString;
377 class DtCbReflectAttributeValues:
public DtFedAmbCallback
381 DtCbReflectAttributeValues(
383 const DtAhvps& theAttributes,
384 const char * theTag);
386 DtCbReflectAttributeValues (
388 const DtAhvps& theAttributes,
389 std::auto_ptr<RTI::FedTime> theTime,
394 virtual ~DtCbReflectAttributeValues();
397 DtCbReflectAttributeValues(DtCbReflectAttributeValues
const& orig);
398 DtCbReflectAttributeValues& operator = (DtCbReflectAttributeValues
const& orig);
401 virtual void evokeCallback(RTI::FederateAmbassador* fedAmb)
const;
405 DtAhvps myAttributeValues;
406 MAKRti::DtString myTag;
407 std::auto_ptr<RTI::FedTime> myTime;
411 class DtCbReceiveInteraction:
public DtFedAmbCallback
415 DtCbReceiveInteraction(
417 const DtPhvps& theParameters,
418 const char * theTag);
420 DtCbReceiveInteraction(
422 const DtPhvps& theParameters,
423 std::auto_ptr<RTI::FedTime> theTime,
428 virtual ~DtCbReceiveInteraction();
431 DtCbReceiveInteraction(DtCbReceiveInteraction
const& orig);
432 DtCbReceiveInteraction& operator = (DtCbReceiveInteraction
const& orig);
435 virtual void evokeCallback(RTI::FederateAmbassador* fedAmb)
const;
439 DtPhvps myParameterValues;
440 MAKRti::DtString myTag;
441 std::auto_ptr<RTI::FedTime> myTime;
445 class DtCbRemoveObjectInstance:
public DtFedAmbCallback
449 DtCbRemoveObjectInstance(
451 const char * theTag);
452 DtCbRemoveObjectInstance(
454 std::auto_ptr<RTI::FedTime> theTime,
459 virtual ~DtCbRemoveObjectInstance();
462 DtCbRemoveObjectInstance(DtCbRemoveObjectInstance
const& orig);
463 DtCbRemoveObjectInstance& operator = (DtCbRemoveObjectInstance
const& orig);
466 virtual void evokeCallback(RTI::FederateAmbassador* fedAmb)
const;
469 MAKRti::DtString myTag;
470 std::auto_ptr<RTI::FedTime> myTime;
474 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_attributesInScope> DtCbAttributesInScope;
475 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_attributesOutOfScope> DtCbAttributesOutOfScope;
476 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_provideAttributeValueUpdate> DtCbProvideAttributeValueUpdate;
477 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_turnUpdatesOnForObjectInstance> DtCbTurnUpdatesOnForObjectInstance;
478 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_turnUpdatesOffForObjectInstance> DtCbTurnUpdatesOffForObjectInstance;
479 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_requestAttributeOwnershipAssumption> DtCbRequestAttributeOwnershipAssumption;
480 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_attributeOwnershipDivestitureNotification> DtCbAttributeOwnershipDivestitureNotification;
481 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_attributeOwnershipAcquisitionNotification> DtCbAttributeOwnershipAcquisitionNotification;
482 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_attributeOwnershipUnavailable> DtCbAttributeOwnershipUnavailable;
483 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_requestAttributeOwnershipRelease> DtCbRequestAttributeOwnershipRelease;
484 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_confirmAttributeOwnershipAcquisitionCancellation> DtCbConfirmAttributeOwnershipAcquisitionCancellation;
486 typedef DtCallbackWithObjectAttributeOptFederate <DtFedAmbCall_informAttributeOwnership> DtCbInformAttributeOwnership;
487 typedef DtCallbackWithObjectAttributeOptFederate <DtFedAmbCall_attributeIsNotOwned> DtCbAttributeIsNotOwned;
488 typedef DtCallbackWithObjectAttributeOptFederate <DtFedAmbCall_attributeOwnedByRTI> DtCbAttributeOwnedByRTI;
490 typedef DtCallbackWithTime<DtFedAmbCall_timeRegulationEnabled> DtCbTimeRegulationEnabled;
491 typedef DtCallbackWithTime<DtFedAmbCall_timeConstrainedEnabled> DtCbTimeConstrainedEnabled;
492 typedef DtCallbackWithTime<DtFedAmbCall_timeAdvanceGrant> DtCbTimeAdvanceGrant;
494 class DtCbRequestRetraction:
public DtFedAmbCallback
500 virtual ~DtCbRequestRetraction();
503 DtCbRequestRetraction(DtCbRequestRetraction
const& orig);
504 DtCbRequestRetraction& operator = (DtCbRequestRetraction
const& orig);
507 virtual void evokeCallback(RTI::FederateAmbassador* fedAmb)
const;
513 DT_DLL_LRC const char * callbackKindToString(DtFedAmbCallKind kind);
515 #define fedAmbCallback13_inl_
516 #include "fedAmbCallback13.inl"
517 #undef fedAmbCallback13_inl_
519 #endif //DtIFSPEC1516
520 #endif //DtfedAmbCallback13_h