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
153 virtual ~DtCallbackWithTime();
156 DtCallbackWithTime(DtCallbackWithTime
const& orig);
157 DtCallbackWithTime& operator = (DtCallbackWithTime
const& orig);
160 virtual void evokeCallback(RTI::FederateAmbassador* fedAmb)
const;
165 template<DtFedAmbCallKind callbackKindValue>
166 class DtCallbackWithString :
public DtFedAmbCallback
170 DtCallbackWithString(
const char * value);
173 virtual ~DtCallbackWithString();
176 DtCallbackWithString(DtCallbackWithString
const& orig);
177 DtCallbackWithString& operator = (DtCallbackWithString
const& orig);
180 virtual void evokeCallback(RTI::FederateAmbassador* fedAmb)
const;
182 MAKRti::DtString myString;
185 template<DtFedAmbCallKind callbackKindValue>
186 class DtCallbackWithTwoStrings :
public DtFedAmbCallback
190 DtCallbackWithTwoStrings(
const char * str1,
const char * str2);
193 virtual ~DtCallbackWithTwoStrings();
196 DtCallbackWithTwoStrings(DtCallbackWithTwoStrings
const& orig);
197 DtCallbackWithTwoStrings& operator = (DtCallbackWithTwoStrings
const& orig);
200 virtual void evokeCallback(RTI::FederateAmbassador* fedAmb)
const;
202 MAKRti::DtString myString1;
203 MAKRti::DtString myString2;
206 template<DtFedAmbCallKind callbackKindValue>
207 class DtCallbackWithObjectClass :
public DtFedAmbCallback
211 DtCallbackWithObjectClass(RTI::ObjectClassHandle theClass);
213 virtual ~DtCallbackWithObjectClass();
216 DtCallbackWithObjectClass(DtCallbackWithObjectClass
const& orig);
217 DtCallbackWithObjectClass& operator = (DtCallbackWithObjectClass
const& orig);
220 virtual void evokeCallback(RTI::FederateAmbassador* fedAmb)
const;
222 RTI::ObjectClassHandle myObjectClass;
225 template<DtFedAmbCallKind callbackKindValue>
226 class DtCallbackWithInteractionClass :
public DtFedAmbCallback
230 DtCallbackWithInteractionClass(RTI::InteractionClassHandle theClass);
232 virtual ~DtCallbackWithInteractionClass();
235 DtCallbackWithInteractionClass(DtCallbackWithInteractionClass
const& orig);
236 DtCallbackWithInteractionClass& operator = (DtCallbackWithInteractionClass
const& orig);
239 virtual void evokeCallback(RTI::FederateAmbassador* fedAmb)
const;
241 RTI::InteractionClassHandle myInteractionClass;
244 template<DtFedAmbCallKind callbackKindValue>
245 class DtCallbackWithObjectAttributesOptTag :
public DtFedAmbCallback
249 DtCallbackWithObjectAttributesOptTag(
250 RTI::ObjectHandle theObject,
252 DtCallbackWithObjectAttributesOptTag(
253 RTI::ObjectHandle theObject,
255 const char * theUserTag);
258 virtual ~DtCallbackWithObjectAttributesOptTag();
261 DtCallbackWithObjectAttributesOptTag(DtCallbackWithObjectAttributesOptTag
const& orig);
262 DtCallbackWithObjectAttributesOptTag& operator = (DtCallbackWithObjectAttributesOptTag
const& orig);
265 virtual void evokeCallback(RTI::FederateAmbassador* fedAmb)
const;
267 RTI::ObjectHandle myObject;
269 MAKRti::DtString myTag;
272 template<DtFedAmbCallKind callbackKindValue>
273 class DtCallbackWithObjectAttributeOptFederate :
public DtFedAmbCallback
277 DtCallbackWithObjectAttributeOptFederate(
278 RTI::ObjectHandle theObject,
279 RTI::AttributeHandle theAttribute);
280 DtCallbackWithObjectAttributeOptFederate(
281 RTI::ObjectHandle theObject,
282 RTI::AttributeHandle theAttribute,
283 RTI::FederateHandle theFederate);
285 virtual ~DtCallbackWithObjectAttributeOptFederate();
288 DtCallbackWithObjectAttributeOptFederate(DtCallbackWithObjectAttributeOptFederate
const& orig);
289 DtCallbackWithObjectAttributeOptFederate& operator = (DtCallbackWithObjectAttributeOptFederate
const& orig);
292 virtual void evokeCallback(RTI::FederateAmbassador* fedAmb)
const;
294 RTI::ObjectHandle myObject;
295 RTI::AttributeHandle myAttribute;
296 RTI::FederateHandle myFederate;
300 typedef DtCallbackWithString<DtFedAmbCall_synchronizationPointRegistrationSucceeded> DtCbSynchronizationPointRegistrationSucceeded;
302 typedef DtCallbackWithString<DtFedAmbCall_synchronizationPointRegistrationFailed> DtCbSynchronizationPointRegistrationFailed;
304 typedef DtCallbackWithTwoStrings<DtFedAmbCall_announceSynchronizationPoint> DtCbAnnounceSynchronizationPoint;
306 typedef DtCallbackWithString<DtFedAmbCall_federationSynchronized> DtCbFederationSynchronized;
308 typedef DtCallbackWithString<DtFedAmbCall_initiateFederateSave> DtCbInitiateFederateSave;
310 typedef DtFedAmbCallbackVoid<DtFedAmbCall_federationSaved> DtCbFederationSaved;
312 typedef DtFedAmbCallbackVoid<DtFedAmbCall_federationNotSaved> DtCbFederationNotSaved;
314 typedef DtCallbackWithString<DtFedAmbCall_requestFederationRestoreSucceeded> DtCbRequestFederationRestoreSucceeded;
316 typedef DtCallbackWithTwoStrings<DtFedAmbCall_requestFederationRestoreFailed> DtCbRequestFederationRestoreFailed;
318 typedef DtFedAmbCallbackVoid<DtFedAmbCall_federationRestoreBegun> DtCbFederationRestoreBegun;
320 class DtCbInitiateFederateRestore :
public DtFedAmbCallback
324 DtCbInitiateFederateRestore(
const char * label, RTI::FederateHandle handle);
327 virtual ~DtCbInitiateFederateRestore();
330 DtCbInitiateFederateRestore(DtCbInitiateFederateRestore
const& orig);
331 DtCbInitiateFederateRestore& operator = (DtCbInitiateFederateRestore
const& orig);
334 virtual void evokeCallback(RTI::FederateAmbassador* fedAmb)
const;
336 MAKRti::DtString myLabel;
337 RTI::FederateHandle myFederateHandle;
341 typedef DtFedAmbCallbackVoid<DtFedAmbCall_federationRestored> DtCbFederationRestored;
343 typedef DtFedAmbCallbackVoid<DtFedAmbCall_federationNotRestored> DtCbFederationNotRestored;
345 typedef DtCallbackWithObjectClass<DtFedAmbCall_startRegistrationForObjectClass> DtCbStartRegistrationForObjectClass;
347 typedef DtCallbackWithObjectClass<DtFedAmbCall_stopRegistrationForObjectClass> DtCbStopRegistrationForObjectClass;
349 typedef DtCallbackWithInteractionClass<DtFedAmbCall_turnInteractionsOn> DtCbTurnInteractionsOn;
351 typedef DtCallbackWithInteractionClass<DtFedAmbCall_turnInteractionsOff> DtCbTurnInteractionsOff;
353 class DtCbDiscoverObjectInstance:
public DtFedAmbCallback
357 DtCbDiscoverObjectInstance(RTI::ObjectHandle theObject,
358 RTI::ObjectClassHandle theObjectClass,
359 const char * theObjectInstanceName);
361 virtual ~DtCbDiscoverObjectInstance();
364 DtCbDiscoverObjectInstance(DtCbDiscoverObjectInstance
const& orig);
365 DtCbDiscoverObjectInstance& operator = (DtCbDiscoverObjectInstance
const& orig);
368 virtual void evokeCallback(RTI::FederateAmbassador* fedAmb)
const;
370 RTI::ObjectHandle myObjectHandle;
371 RTI::ObjectClassHandle myObjectClassHandle;
372 MAKRti::DtString myString;
376 class DtCbReflectAttributeValues:
public DtFedAmbCallback
380 DtCbReflectAttributeValues(
381 RTI::ObjectHandle theObject,
383 const char * theTag);
385 DtCbReflectAttributeValues (
386 RTI::ObjectHandle theObject,
390 RTI::EventRetractionHandle theHandle);
393 virtual ~DtCbReflectAttributeValues();
396 DtCbReflectAttributeValues(DtCbReflectAttributeValues
const& orig);
397 DtCbReflectAttributeValues& operator = (DtCbReflectAttributeValues
const& orig);
400 virtual void evokeCallback(RTI::FederateAmbassador* fedAmb)
const;
403 RTI::ObjectHandle myObject;
405 MAKRti::DtString myTag;
407 RTI::EventRetractionHandle myRetractHandle;
410 class DtCbReceiveInteraction:
public DtFedAmbCallback
414 DtCbReceiveInteraction(
415 RTI::InteractionClassHandle theInteraction,
417 const char * theTag);
419 DtCbReceiveInteraction(
420 RTI::InteractionClassHandle theInteraction,
424 RTI::EventRetractionHandle theHandle);
427 virtual ~DtCbReceiveInteraction();
430 DtCbReceiveInteraction(DtCbReceiveInteraction
const& orig);
431 DtCbReceiveInteraction& operator = (DtCbReceiveInteraction
const& orig);
434 virtual void evokeCallback(RTI::FederateAmbassador* fedAmb)
const;
437 RTI::InteractionClassHandle myInteractionClass;
439 MAKRti::DtString myTag;
441 RTI::EventRetractionHandle myRetractHandle;
444 class DtCbRemoveObjectInstance:
public DtFedAmbCallback
448 DtCbRemoveObjectInstance(
449 RTI::ObjectHandle theObject,
450 const char * theTag);
451 DtCbRemoveObjectInstance(
452 RTI::ObjectHandle theObject,
455 RTI::EventRetractionHandle theHandle);
458 virtual ~DtCbRemoveObjectInstance();
461 DtCbRemoveObjectInstance(DtCbRemoveObjectInstance
const& orig);
462 DtCbRemoveObjectInstance& operator = (DtCbRemoveObjectInstance
const& orig);
465 virtual void evokeCallback(RTI::FederateAmbassador* fedAmb)
const;
467 RTI::ObjectHandle myObjectHandle;
468 MAKRti::DtString myTag;
470 RTI::EventRetractionHandle myRetractHandle;
473 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_attributesInScope> DtCbAttributesInScope;
474 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_attributesOutOfScope> DtCbAttributesOutOfScope;
475 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_provideAttributeValueUpdate> DtCbProvideAttributeValueUpdate;
476 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_turnUpdatesOnForObjectInstance> DtCbTurnUpdatesOnForObjectInstance;
477 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_turnUpdatesOffForObjectInstance> DtCbTurnUpdatesOffForObjectInstance;
478 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_requestAttributeOwnershipAssumption> DtCbRequestAttributeOwnershipAssumption;
479 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_attributeOwnershipDivestitureNotification> DtCbAttributeOwnershipDivestitureNotification;
480 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_attributeOwnershipAcquisitionNotification> DtCbAttributeOwnershipAcquisitionNotification;
481 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_attributeOwnershipUnavailable> DtCbAttributeOwnershipUnavailable;
482 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_requestAttributeOwnershipRelease> DtCbRequestAttributeOwnershipRelease;
483 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_confirmAttributeOwnershipAcquisitionCancellation> DtCbConfirmAttributeOwnershipAcquisitionCancellation;
485 typedef DtCallbackWithObjectAttributeOptFederate <DtFedAmbCall_informAttributeOwnership> DtCbInformAttributeOwnership;
486 typedef DtCallbackWithObjectAttributeOptFederate <DtFedAmbCall_attributeIsNotOwned> DtCbAttributeIsNotOwned;
487 typedef DtCallbackWithObjectAttributeOptFederate <DtFedAmbCall_attributeOwnedByRTI> DtCbAttributeOwnedByRTI;
489 typedef DtCallbackWithTime<DtFedAmbCall_timeRegulationEnabled> DtCbTimeRegulationEnabled;
490 typedef DtCallbackWithTime<DtFedAmbCall_timeConstrainedEnabled> DtCbTimeConstrainedEnabled;
491 typedef DtCallbackWithTime<DtFedAmbCall_timeAdvanceGrant> DtCbTimeAdvanceGrant;
493 class DtCbRequestRetraction:
public DtFedAmbCallback
497 DtCbRequestRetraction(RTI::EventRetractionHandle handle);
499 virtual ~DtCbRequestRetraction();
502 DtCbRequestRetraction(DtCbRequestRetraction
const& orig);
503 DtCbRequestRetraction& operator = (DtCbRequestRetraction
const& orig);
506 virtual void evokeCallback(RTI::FederateAmbassador* fedAmb)
const;
508 RTI::EventRetractionHandle myRetractHandle;
512 DT_DLL_LRC const char * callbackKindToString(DtFedAmbCallKind kind);
514 #define fedAmbCallback13_inl_
515 #include "fedAmbCallback13.inl"
516 #undef fedAmbCallback13_inl_
518 #endif //DtIFSPEC1516
519 #endif //DtfedAmbCallback13_h
Defines the internal representation of attribute/parameter handle sets.
Definition: attrHandSet.h:30
DtRtiApiUniquePtr< DtRtiApiTime > DtRtiApiUniquePtrTime
Definition: rtiApiTypes.h:96
Definition: aHandValSet.h:33
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
Definition: pHandValSet.h:38