MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
fedAmbCallback1516_2025.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2025 MAK Technologies
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #pragma once
7 #ifdef DtIFSPEC1516_2025
8 
11 
12 #include "rtiMsg.h"
13 
14 #include <RTI/Typedefs.h>
15 #include <RTI/FederateAmbassador.h>
16 
17 class DtCallbackMsg;
18 
20 enum DtFedAmbCallKind
21 {
25  DtFedAmbCall_connectionLost,
26  DtFedAmbCall_reportFederationExecutions,
27  DtFedAmbCall_reportFederationExecutionMembers,
29  DtFedAmbCall_synchronizationPointRegistrationSucceeded,
30  DtFedAmbCall_synchronizationPointRegistrationFailed,
32  DtFedAmbCall_announceSynchronizationPoint,
34  DtFedAmbCall_federationSynchronized,
36  DtFedAmbCall_initiateFederateSave,
37  DtFedAmbCall_initiateFederateSaveWithTime,
39  DtFedAmbCall_federationSaved,
40  DtFedAmbCall_federationNotSaved,
42  DtFedAmbCall_federationSaveStatusResponse,
44  DtFedAmbCall_requestFederationRestoreSucceeded,
45  DtFedAmbCall_requestFederationRestoreFailed,
47  DtFedAmbCall_federationRestoreBegun,
49  DtFedAmbCall_initiateFederateRestore,
51  DtFedAmbCall_federationRestored,
52  DtFedAmbCall_federationNotRestored,
54  DtFedAmbCall_federationRestoreStatusResponse,
59  DtFedAmbCall_startRegistrationForObjectClass,
61  DtFedAmbCall_stopRegistrationForObjectClass,
63  DtFedAmbCall_turnInteractionsOn,
65  DtFedAmbCall_turnInteractionsOff,
70  DtFedAmbCall_objectInstanceNameReservationSucceeded,
71  DtFedAmbCall_objectInstanceNameReservationFailed,
73  DtFedAmbCall_multipleObjectInstanceNameReservationSucceeded,
74  DtFedAmbCall_multipleObjectInstanceNameReservationFailed,
76  DtFedAmbCall_discoverObjectInstance,
77  DtFedAmbCall_discoverObjectInstance_h,
79  DtFedAmbCall_reflectAttributeValues_WithoutTime,
80  DtFedAmbCall_reflectAttributeValues_WithTime,
82  DtFedAmbCall_receiveInteraction_WithoutTime,
83  DtFedAmbCall_receiveInteraction_WithTime,
85  DtFedAmbCall_receiveDirectedInteraction_WithoutTime,
86  DtFedAmbCall_receiveDirectedInteraction_WithTime,
88  DtFedAmbCall_removeObjectInstance_WithoutTime,
89  DtFedAmbCall_removeObjectInstance_WithTime,
91  DtFedAmbCall_attributesInScope,
93  DtFedAmbCall_attributesOutOfScope,
95  DtFedAmbCall_provideAttributeValueUpdate,
97  DtFedAmbCall_turnUpdatesOnForObjectInstance,
98  DtFedAmbCall_turnUpdatesOnForObjectInstance_u,
100  DtFedAmbCall_turnUpdatesOffForObjectInstance,
102  DtFedAmbCall_confirmAttributeTransportationTypeChange,
104  DtFedAmbCall_reportAttributeTransportationType,
106  DtFedAmbCall_confirmInteractionTransportationTypeChange,
108  DtFedAmbCall_reportInteractionTransportationType,
113  DtFedAmbCall_requestAttributeOwnershipAssumption,
115  DtFedAmbCall_requestDivestitureConfirmation,
117  DtFedAmbCall_attributeOwnershipAcquisitionNotification,
119  DtFedAmbCall_attributeOwnershipUnavailable,
121  DtFedAmbCall_requestAttributeOwnershipRelease,
123  DtFedAmbCall_confirmAttributeOwnershipAcquisitionCancellation,
125  DtFedAmbCall_informAttributeOwnership,
126  DtFedAmbCall_attributeIsNotOwned,
127  DtFedAmbCall_attributeIsOwnedByRTI,
132  DtFedAmbCall_timeRegulationEnabled,
134  DtFedAmbCall_timeConstrainedEnabled,
136  DtFedAmbCall_timeAdvanceGrant,
138  DtFedAmbCall_requestRetraction,
140  DtFedAmbCall_invalid
141 };
142 
146 class DT_DLL_LRC DtFedAmbCallback
147 {
148 public:
150  DtFedAmbCallback(DtFedAmbCallKind kind);
152  virtual ~DtFedAmbCallback();
153 private:
155  DtFedAmbCallback(DtFedAmbCallback const& orig);
156  DtFedAmbCallback& operator = (DtFedAmbCallback const& orig);
157 public:
159  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const = 0;
160 
162  virtual DtFedAmbCallKind callbackKind() const;
163 
164 protected:
165  DtFedAmbCallKind myCallbackKind;
166 
167 protected:
168  static rti1516_2025::RegionHandleSet theEmptyRegionSet;
169  static rti1516_2025::MessageRetractionHandle theInvalidRetractHandle;
170 };
171 
172 template<DtFedAmbCallKind callbackKindValue>
173 class DtFedAmbCallbackVoid : public DtFedAmbCallback
174 {
175 public:
177  DtFedAmbCallbackVoid();
179  virtual ~DtFedAmbCallbackVoid();
180 private:
182  DtFedAmbCallbackVoid(DtFedAmbCallbackVoid const& orig);
183  DtFedAmbCallbackVoid& operator = (DtFedAmbCallbackVoid const& orig);
184 
185 public:
187  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
188 };
189 
190 template<DtFedAmbCallKind callbackKindValue>
191 class DtCallbackWithTime : public DtFedAmbCallback
192 {
193 public:
195  DtCallbackWithTime(DtRtiApiUniquePtrTime time);
197  virtual ~DtCallbackWithTime();
198 private:
200  DtCallbackWithTime(DtCallbackWithTime const& orig);
201  DtCallbackWithTime& operator = (DtCallbackWithTime const& orig);
202 public:
204  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
205 protected:
206  DtRtiApiUniquePtrTime myTime;
207 };
208 
209 template<DtFedAmbCallKind callbackKindValue>
210 class DtCallbackWithWString : public DtFedAmbCallback
211 {
212 public:
214  DtCallbackWithWString(std::wstring const& value);
215  DtCallbackWithWString(std::wstring const& value,
216  rti1516_2025::FederateHandleSet const & failedToSyncSet );
217 
219  virtual ~DtCallbackWithWString();
220 private:
222  DtCallbackWithWString(DtCallbackWithWString const& orig);
223  DtCallbackWithWString& operator = (DtCallbackWithWString const& orig);
224 public:
226  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
227 protected:
228  std::wstring myString;
229  rti1516_2025::FederateHandleSet myFailedToSyncSet;
230 };
231 
232 template<DtFedAmbCallKind callbackKindValue>
233 class DtCallbackWithWStringArray : public DtFedAmbCallback
234 {
235 public:
237  DtCallbackWithWStringArray( std::set<std::wstring> const & value );
238 
240  virtual ~DtCallbackWithWStringArray();
241 private:
243  DtCallbackWithWStringArray(DtCallbackWithWStringArray const& orig);
244  DtCallbackWithWStringArray& operator = (DtCallbackWithWStringArray const& orig);
245 
246 public:
248  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
249 protected:
250  std::set<std::wstring> myStrings;
251 };
252 
253 class DtCbReportFederationExecutions: public DtFedAmbCallback
254 {
255 public:
257  DtCbReportFederationExecutions(rti1516_2025::FederationExecutionInformationVector theFederationExecutionInformation);
259  virtual ~DtCbReportFederationExecutions();
260 private:
262  DtCbReportFederationExecutions(DtCbReportFederationExecutions const& orig);
263  DtCbReportFederationExecutions& operator = (DtCbReportFederationExecutions const& orig);
264 public:
266  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
267 protected:
268  rti1516_2025::FederationExecutionInformationVector myFederationExecutionInformation;
269 };
270 
271 class DtCbreportFederationExecutionMembers : public DtFedAmbCallback
272 {
273 public:
275  DtCbreportFederationExecutionMembers(std::wstring const & theFederationExecutionName,
276  rti1516_2025::FederationExecutionMemberInformationVector const & theFederationExecutionMemberInformationList);
278  virtual ~DtCbreportFederationExecutionMembers();
279 private:
281  DtCbreportFederationExecutionMembers(DtCbreportFederationExecutionMembers const& orig);
282  DtCbreportFederationExecutionMembers& operator = (DtCbreportFederationExecutionMembers const& orig);
283 public:
285  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
286 protected:
287  std::wstring myFederationExecutionName;
288  rti1516_2025::FederationExecutionMemberInformationVector myFederationExecutionMembers;
289 };
290 
291 template<DtFedAmbCallKind callbackKindValue>
292 class DtCallbackWithObjectClass : public DtFedAmbCallback
293 {
294 public:
296  DtCallbackWithObjectClass(rti1516_2025::ObjectClassHandle const & theClass);
298  virtual ~DtCallbackWithObjectClass();
299 private:
301  DtCallbackWithObjectClass(DtCallbackWithObjectClass const& orig);
302  DtCallbackWithObjectClass& operator = (DtCallbackWithObjectClass const& orig);
303 public:
305  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
306 protected:
307  rti1516_2025::ObjectClassHandle myObjectClass;
308 };
309 
310 template<DtFedAmbCallKind callbackKindValue>
311 class DtCallbackWithInteractionClass : public DtFedAmbCallback
312 {
313 public:
315  DtCallbackWithInteractionClass(
316  rti1516_2025::InteractionClassHandle const & theClass);
318  virtual ~DtCallbackWithInteractionClass();
319 private:
321  DtCallbackWithInteractionClass(DtCallbackWithInteractionClass const& orig);
322  DtCallbackWithInteractionClass& operator = (DtCallbackWithInteractionClass const& orig);
323 public:
325  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
326 protected:
327  rti1516_2025::InteractionClassHandle myInteractionClass;
328 };
329 
330 template<DtFedAmbCallKind callbackKindValue>
331 class DtCallbackWithObjectAttributesOptTag : public DtFedAmbCallback
332 {
333 public:
335  DtCallbackWithObjectAttributesOptTag(
336  rti1516_2025::ObjectInstanceHandle const & theObject,
337  rti1516_2025::AttributeHandleSet const & theAttributes);
338  DtCallbackWithObjectAttributesOptTag(
339  rti1516_2025::ObjectInstanceHandle const & theObject,
340  rti1516_2025::AttributeHandleSet const & theAttributes,
341  rti1516_2025::VariableLengthData const & theUserSuppliedTag);
342  DtCallbackWithObjectAttributesOptTag(
343  rti1516_2025::ObjectInstanceHandle const & theObject,
344  rti1516_2025::AttributeHandleSet const & theAttributes,
345  rti1516_2025::TransportationTypeHandle const & theTransportation);
346  DtCallbackWithObjectAttributesOptTag(
347  rti1516_2025::ObjectInstanceHandle const & theObject,
348  rti1516_2025::AttributeHandle const & theAttribute,
349  rti1516_2025::TransportationTypeHandle const & theTransportation);
350  DtCallbackWithObjectAttributesOptTag(
351  rti1516_2025::InteractionClassHandle const & theInteraction,
352  rti1516_2025::TransportationTypeHandle const & theTransportation);
353  DtCallbackWithObjectAttributesOptTag(
354  rti1516_2025::FederateHandle const & theFederateHandle,
355  rti1516_2025::InteractionClassHandle const & theInteraction,
356  rti1516_2025::TransportationTypeHandle const & theTransportation);
357  DtCallbackWithObjectAttributesOptTag(
358  rti1516_2025::ObjectInstanceHandle const & theObject,
359  rti1516_2025::AttributeHandleSet const & theAttributes,
360  std::wstring const & updateRateDesignator );
361 
363  virtual ~DtCallbackWithObjectAttributesOptTag();
364 private:
366  DtCallbackWithObjectAttributesOptTag(DtCallbackWithObjectAttributesOptTag const& orig);
367  DtCallbackWithObjectAttributesOptTag& operator = (DtCallbackWithObjectAttributesOptTag const& orig);
368 public:
370  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
371 protected:
372  rti1516_2025::ObjectInstanceHandle myObject;
373  rti1516_2025::AttributeHandleSet myAttributes;
374  rti1516_2025::VariableLengthData myUserSuppliedTag;
375  rti1516_2025::AttributeHandle myAttribute;
376  rti1516_2025::TransportationTypeHandle myTransportationType;
378  rti1516_2025::FederateHandle myFederateHandle;
379  std::wstring myUpdateRateDesignator;
380 };
381 
382 template<DtFedAmbCallKind callbackKindValue>
383 class DtCallbackWithObjectAttributeSetOptFederate : public DtFedAmbCallback
384 {
385 public:
387  DtCallbackWithObjectAttributeSetOptFederate(
388  rti1516_2025::ObjectInstanceHandle const & theObject,
389  rti1516_2025::AttributeHandleSet const & theAttributeSet);
390  DtCallbackWithObjectAttributeSetOptFederate(
391  rti1516_2025::ObjectInstanceHandle const & theObject,
392  rti1516_2025::AttributeHandleSet const & theAttributeSet,
393  rti1516_2025::FederateHandle const & theFederate);
395  virtual ~DtCallbackWithObjectAttributeSetOptFederate();
396 private:
398  DtCallbackWithObjectAttributeSetOptFederate(DtCallbackWithObjectAttributeSetOptFederate const& orig);
399  DtCallbackWithObjectAttributeSetOptFederate& operator = (DtCallbackWithObjectAttributeSetOptFederate const& orig);
400 public:
402  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
403 protected:
404  rti1516_2025::ObjectInstanceHandle myObject;
405  rti1516_2025::AttributeHandleSet myAttributeSet;
406  rti1516_2025::FederateHandle myFederate;
407 };
408 
413 typedef DtCallbackWithWString<DtFedAmbCall_synchronizationPointRegistrationSucceeded> DtCbSynchronizationPointRegistrationSucceeded;
414 
415 class DtCbSynchronizationPointRegistrationFailed : public DtFedAmbCallback
416 {
417 public:
419  DtCbSynchronizationPointRegistrationFailed(std::wstring const& stringValue,
422  virtual ~DtCbSynchronizationPointRegistrationFailed();
423 private:
425  DtCbSynchronizationPointRegistrationFailed(DtCbSynchronizationPointRegistrationFailed const& orig);
426  DtCbSynchronizationPointRegistrationFailed& operator = (DtCbSynchronizationPointRegistrationFailed const& orig);
427 public:
429  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
430 protected:
431  std::wstring myString;
433 };
434 
437 class DtCbAnnounceSynchronizationPoint : public DtFedAmbCallback
438 {
439 public:
441  DtCbAnnounceSynchronizationPoint(std::wstring const& stringValue,
442  rti1516_2025::VariableLengthData const & tag);
444  virtual ~DtCbAnnounceSynchronizationPoint();
445 private:
447  DtCbAnnounceSynchronizationPoint(DtCbAnnounceSynchronizationPoint const& orig);
448  DtCbAnnounceSynchronizationPoint& operator = (DtCbAnnounceSynchronizationPoint const& orig);
449 public:
451  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
452 protected:
453  std::wstring myString;
454  rti1516_2025::VariableLengthData myTag;
455 };
456 
458 typedef DtCallbackWithWString<DtFedAmbCall_federationSynchronized> DtCbFederationSynchronized;
459 
461 typedef DtCallbackWithWString<DtFedAmbCall_initiateFederateSave> DtCbInitiateFederateSave;
462 
463 class DtCbInitiateFederateSaveWithTime: public DtFedAmbCallback
464 {
465 public:
467  DtCbInitiateFederateSaveWithTime(std::wstring const& stringValue, DtRtiApiUniquePtrTime time);
469  virtual ~DtCbInitiateFederateSaveWithTime();
470 private:
472  DtCbInitiateFederateSaveWithTime(DtCbInitiateFederateSaveWithTime const& orig);
473  DtCbInitiateFederateSaveWithTime& operator = (DtCbInitiateFederateSaveWithTime const& orig);
474 public:
476  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
477 protected:
478  std::wstring myString;
479  DtRtiApiUniquePtrTime myTime;
480 };
481 
483 typedef DtFedAmbCallbackVoid<DtFedAmbCall_federationSaved> DtCbFederationSaved;
484 
485 class DtCbFederationNotSaved : public DtFedAmbCallback
486 {
487 public:
489  DtCbFederationNotSaved(rti1516_2025::SaveFailureReason theSaveFailureReason);
491  virtual ~DtCbFederationNotSaved();
492 private:
494  DtCbFederationNotSaved(DtCbFederationNotSaved const& orig);
495  DtCbFederationNotSaved& operator = (DtCbFederationNotSaved const& orig);
496 public:
498  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
499 protected:
500  rti1516_2025::SaveFailureReason mySaveFailureReason;
501 };
502 
505 class DtCbFederationSaveStatusResponse : public DtFedAmbCallback
506 {
507 public:
509  DtCbFederationSaveStatusResponse(
510  rti1516_2025::FederateHandleSaveStatusPairVector const & theFederateStatusVector);
512  virtual ~DtCbFederationSaveStatusResponse();
513 private:
515  DtCbFederationSaveStatusResponse(DtCbFederationSaveStatusResponse const& orig);
516  DtCbFederationSaveStatusResponse& operator = (DtCbFederationSaveStatusResponse const& orig);
517 public:
519  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
520 protected:
521  rti1516_2025::FederateHandleSaveStatusPairVector myFederateStatusVector;
522 };
523 
525 typedef DtCallbackWithWString<DtFedAmbCall_requestFederationRestoreSucceeded> DtCbRequestFederationRestoreSucceeded;
526 
527 typedef DtCallbackWithWString<DtFedAmbCall_requestFederationRestoreFailed> DtCbRequestFederationRestoreFailed;
528 
530 typedef DtFedAmbCallbackVoid<DtFedAmbCall_federationRestoreBegun> DtCbFederationRestoreBegun;
531 
534 class DtCbInitiateFederateRestore : public DtFedAmbCallback
535 {
536 public:
538  DtCbInitiateFederateRestore(std::wstring const& stringValue,
541  virtual ~DtCbInitiateFederateRestore();
542 private:
544  DtCbInitiateFederateRestore(DtCbInitiateFederateRestore const& orig);
545  DtCbInitiateFederateRestore& operator = (DtCbInitiateFederateRestore const& orig);
546 public:
548  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
549 protected:
551  std::wstring myString;
552 };
553 
555 typedef DtFedAmbCallbackVoid<DtFedAmbCall_federationRestored> DtCbFederationRestored;
556 
557 class DtCbFederationNotRestored : public DtFedAmbCallback
558 {
559 public:
561  DtCbFederationNotRestored(rti1516_2025::RestoreFailureReason theRestoreFailureReason);
563  virtual ~DtCbFederationNotRestored();
564 private:
566  DtCbFederationNotRestored(DtCbFederationNotRestored const& orig);
567  DtCbFederationNotRestored& operator = (DtCbFederationNotRestored const& orig);
568 public:
570  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
571 protected:
572  rti1516_2025::RestoreFailureReason myRestoreFailureReason;
573 };
574 
577 class DtCbFederationRestoreStatusResponse : public DtFedAmbCallback
578 {
579 public:
581  DtCbFederationRestoreStatusResponse(
582  rti1516_2025::FederateRestoreStatusVector const & theFederateStatusVector);
584  virtual ~DtCbFederationRestoreStatusResponse();
585 private:
587  DtCbFederationRestoreStatusResponse(DtCbFederationRestoreStatusResponse const& orig);
588  DtCbFederationRestoreStatusResponse& operator = (DtCbFederationRestoreStatusResponse const& orig);
589 public:
591  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
592 protected:
593  rti1516_2025::FederateRestoreStatusVector myFederateStatusVector;
594 };
595 
596 
601 typedef DtCallbackWithObjectClass<DtFedAmbCall_startRegistrationForObjectClass> DtCbStartRegistrationForObjectClass;
602 
604 typedef DtCallbackWithObjectClass<DtFedAmbCall_stopRegistrationForObjectClass> DtCbStopRegistrationForObjectClass;
605 
607 typedef DtCallbackWithInteractionClass<DtFedAmbCall_turnInteractionsOn> DtCbTurnInteractionsOn;
608 
610 typedef DtCallbackWithInteractionClass<DtFedAmbCall_turnInteractionsOff> DtCbTurnInteractionsOff;
611 
616 typedef DtCallbackWithWString<DtFedAmbCall_objectInstanceNameReservationSucceeded> DtCbObjectInstanceNameReservationSucceeded;
617 typedef DtCallbackWithWString<DtFedAmbCall_objectInstanceNameReservationFailed> DtCbObjectInstanceNameReservationFailed;
618 
619 typedef DtCallbackWithWStringArray<DtFedAmbCall_multipleObjectInstanceNameReservationSucceeded> DtCbMultipleObjectInstanceNameReservationSucceeded;
620 typedef DtCallbackWithWStringArray<DtFedAmbCall_multipleObjectInstanceNameReservationFailed> DtCbMultipleObjectInstanceNameReservationFailed;
621 
624 class DtCbDiscoverObjectInstance: public DtFedAmbCallback
625 {
626 public:
628  DtCbDiscoverObjectInstance(rti1516_2025::ObjectInstanceHandle const & theObject,
629  rti1516_2025::ObjectClassHandle const & theObjectClass,
630  std::wstring const & theObjectInstanceName);
631  DtCbDiscoverObjectInstance(rti1516_2025::ObjectInstanceHandle const & theObject,
632  rti1516_2025::ObjectClassHandle const & theObjectClass,
633  std::wstring const & theObjectInstanceName,
634  rti1516_2025::FederateHandle producingFederate );
636  virtual ~DtCbDiscoverObjectInstance();
637 private:
639  DtCbDiscoverObjectInstance(DtCbDiscoverObjectInstance const& orig);
640  DtCbDiscoverObjectInstance& operator = (DtCbDiscoverObjectInstance const& orig);
641 public:
643  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
644 protected:
645  rti1516_2025::ObjectInstanceHandle myObjectInstanceHandle;
646  rti1516_2025::ObjectClassHandle myObjectClassHandle;
647  std::wstring myString;
648  rti1516_2025::FederateHandle myProducingFederate;
649 };
650 
651 
654 class DtCbReflectAttributeValues: public DtFedAmbCallback
655 {
656 public:
657  DtCbReflectAttributeValues(
658  rti1516_2025::ObjectInstanceHandle const& theObject,
659  rti1516_2025::AttributeHandleValueMap const& theAttributeValues,
660  rti1516_2025::VariableLengthData const& theUserSuppliedTag,
661  rti1516_2025::TransportationTypeHandle const& theType,
662  rti1516_2025::FederateHandle const& theProducingFederate,
663  rti1516_2025::RegionHandleSet const* theOptionalSentRegions);
664 
665  DtCbReflectAttributeValues(
666  rti1516_2025::ObjectInstanceHandle const& theObject,
667  rti1516_2025::AttributeHandleValueMap const& theAttributeValues,
668  rti1516_2025::VariableLengthData const& theUserSuppliedTag,
669  rti1516_2025::TransportationTypeHandle const& theType,
670  rti1516_2025::FederateHandle const& theProducingFederate,
671  rti1516_2025::RegionHandleSet const* theOptionalSentRegions,
672  DtRtiApiUniquePtrTime theTime,
673  rti1516_2025::OrderType theSentOrder,
674  rti1516_2025::OrderType theReceivedOrder,
675  rti1516_2025::MessageRetractionHandle const* theOptionalRetraction);
676 
678  virtual ~DtCbReflectAttributeValues();
679 
680 private:
682  DtCbReflectAttributeValues(DtCbReflectAttributeValues const& orig);
683  DtCbReflectAttributeValues& operator = (DtCbReflectAttributeValues const& orig);
684 
685 public:
687  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
688 
689 protected:
690  rti1516_2025::ObjectInstanceHandle myObject;
691  rti1516_2025::AttributeHandleValueMap myAttributeValues;
692  rti1516_2025::VariableLengthData myUserSuppliedTag;
693  rti1516_2025::TransportationTypeHandle myTransportationType;
694  rti1516_2025::FederateHandle myProducingFederate;
695  rti1516_2025::RegionHandleSet mySentRegions;
696  DtRtiApiUniquePtrTime myTime;
697  rti1516_2025::OrderType mySentOrder;
698  rti1516_2025::OrderType myReceivedOrder;
699  rti1516_2025::MessageRetractionHandle myRetractHandle;
700  bool myHasRegionSet;
701  bool myHasRetraction;
702 };
703 
706 class DtCbReceiveInteraction: public DtFedAmbCallback
707 {
708 public:
709  DtCbReceiveInteraction(
710  rti1516_2025::InteractionClassHandle const& theInteraction,
711  rti1516_2025::ParameterHandleValueMap const& theParameterValues,
712  rti1516_2025::VariableLengthData const& theUserSuppliedTag,
713  rti1516_2025::TransportationTypeHandle const& theType,
714  rti1516_2025::FederateHandle const& theProducingFederate,
715  const rti1516_2025::RegionHandleSet* theOptionalSentRegions);
716 
717  DtCbReceiveInteraction(
718  rti1516_2025::InteractionClassHandle const& theInteraction,
719  rti1516_2025::ParameterHandleValueMap const& theParameterValues,
720  rti1516_2025::VariableLengthData const& theUserSuppliedTag,
721  rti1516_2025::TransportationTypeHandle const& theType,
722  rti1516_2025::FederateHandle const& theProducingFederate,
723  rti1516_2025::RegionHandleSet const* theOptionalSentRegions,
724  DtRtiApiUniquePtrTime theTime,
725  rti1516_2025::OrderType theSentOrder,
726  rti1516_2025::OrderType theReceivedOrder,
727  rti1516_2025::MessageRetractionHandle const* theOptionalRetraction);
728 
730  virtual ~DtCbReceiveInteraction();
731 
732 private:
734  DtCbReceiveInteraction(DtCbReceiveInteraction const& orig);
735  DtCbReceiveInteraction& operator = (DtCbReceiveInteraction const& orig);
736 
737 public:
739  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
740 
741 protected:
742  rti1516_2025::InteractionClassHandle myInteractionClass;
743  rti1516_2025::ParameterHandleValueMap myParameterValues;
744  rti1516_2025::VariableLengthData myUserSuppliedTag;
745  rti1516_2025::TransportationTypeHandle myTransportationType;
746  rti1516_2025::FederateHandle myProducingFederate;
747  rti1516_2025::RegionHandleSet mySentRegions;
748  DtRtiApiUniquePtrTime myTime;
749  rti1516_2025::OrderType mySentOrder;
750  rti1516_2025::OrderType myReceivedOrder;
751  rti1516_2025::MessageRetractionHandle myRetractHandle;
752  bool myHasRegionSet;
753  bool myHasRetraction;
754 };
755 
758 class DtCbReceiveDirectedInteraction : public DtFedAmbCallback
759 {
760 public:
761  DtCbReceiveDirectedInteraction(
762  rti1516_2025::InteractionClassHandle const& theInteraction,
763  rti1516_2025::ObjectInstanceHandle const& theObjectInstance,
764  rti1516_2025::ParameterHandleValueMap const& theParameterValues,
765  rti1516_2025::VariableLengthData const& theUserSuppliedTag,
766  rti1516_2025::TransportationTypeHandle const& theType,
767  rti1516_2025::FederateHandle const& theProducingFederate);
768 
769  DtCbReceiveDirectedInteraction(
770  rti1516_2025::InteractionClassHandle const& theInteraction,
771  rti1516_2025::ObjectInstanceHandle const& theObjectInstance,
772  rti1516_2025::ParameterHandleValueMap const& theParameterValues,
773  rti1516_2025::VariableLengthData const& theUserSuppliedTag,
774  rti1516_2025::TransportationTypeHandle const& theType,
775  rti1516_2025::FederateHandle const& theProducingFederate,
776  DtRtiApiUniquePtrTime theTime,
777  rti1516_2025::OrderType theSentOrder,
778  rti1516_2025::OrderType theReceivedOrder,
779  rti1516_2025::MessageRetractionHandle const* theOptionalRetraction);
780 
782  virtual ~DtCbReceiveDirectedInteraction();
783 
784 private:
786  DtCbReceiveDirectedInteraction(DtCbReceiveDirectedInteraction const& orig);
787  DtCbReceiveDirectedInteraction& operator = (DtCbReceiveDirectedInteraction const& orig);
788 
789 public:
791  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
792 
793 protected:
794  rti1516_2025::InteractionClassHandle myInteractionClass;
795  rti1516_2025::ObjectInstanceHandle myObjectInstance;
796  rti1516_2025::ParameterHandleValueMap myParameterValues;
797  rti1516_2025::VariableLengthData myUserSuppliedTag;
798  rti1516_2025::TransportationTypeHandle myTransportationType;
799  rti1516_2025::FederateHandle myProducingFederate;
800  DtRtiApiUniquePtrTime myTime;
801  rti1516_2025::OrderType mySentOrder;
802  rti1516_2025::OrderType myReceivedOrder;
803  rti1516_2025::MessageRetractionHandle myRetractHandle;
804  bool myHasRetraction;
805 };
806 
809 class DtCbRemoveObjectInstance: public DtFedAmbCallback
810 {
811 public:
813  DtCbRemoveObjectInstance(
814  rti1516_2025::ObjectInstanceHandle const & theObject,
815  rti1516_2025::VariableLengthData const & theUserSuppliedTag,
816  rti1516_2025::FederateHandle const & theProducingFederate);
817  DtCbRemoveObjectInstance(
818  rti1516_2025::ObjectInstanceHandle const& theObject,
819  rti1516_2025::VariableLengthData const& theUserSuppliedTag,
820  rti1516_2025::FederateHandle const& theProducingFederate,
821  DtRtiApiUniquePtrTime theTime,
822  rti1516_2025::OrderType theSentOrder,
823  rti1516_2025::OrderType theReceivedOrder,
824  rti1516_2025::MessageRetractionHandle const* theOptionalRetraction);
825 
827  virtual ~DtCbRemoveObjectInstance();
828 
829 private:
831  DtCbRemoveObjectInstance(DtCbRemoveObjectInstance const& orig);
832  DtCbRemoveObjectInstance& operator = (DtCbRemoveObjectInstance const& orig);
833 
834 public:
836  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
837 
838 protected:
839  rti1516_2025::ObjectInstanceHandle myObjectInstanceHandle;
840  rti1516_2025::VariableLengthData myTag;
841  rti1516_2025::TransportationTypeHandle myTransportationType;
842  rti1516_2025::FederateHandle myProducingFederate;
843  DtRtiApiUniquePtrTime myTime;
844  rti1516_2025::OrderType mySentOrder;
845  rti1516_2025::OrderType myReceivedOrder;
846  rti1516_2025::MessageRetractionHandle myRetractHandle;
847  bool myHasRetraction;
848 };
849 
851 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_attributesInScope> DtCbAttributesInScope;
852 
854 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_attributesOutOfScope> DtCbAttributesOutOfScope;
855 
857 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_provideAttributeValueUpdate> DtCbProvideAttributeValueUpdate;
858 
860 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_turnUpdatesOnForObjectInstance> DtCbTurnUpdatesOnForObjectInstance;
861 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_turnUpdatesOnForObjectInstance_u> DtCbTurnUpdatesOnForObjectInstance_u;
862 
864 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_turnUpdatesOffForObjectInstance> DtCbTurnUpdatesOffForObjectInstance;
865 
867 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_confirmAttributeTransportationTypeChange> DtCbConfirmAttributeTransportationTypeChange;
868 
870 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_reportAttributeTransportationType> DtCbReportAttributeTransportationType;
871 
873 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_confirmInteractionTransportationTypeChange> DtCbConfirmInteractionTransportationTypeChange;
874 
876 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_reportInteractionTransportationType> DtCbReportInteractionTransportationType;
877 
882 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_requestAttributeOwnershipAssumption> DtCbRequestAttributeOwnershipAssumption;
883 
885 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_requestDivestitureConfirmation> DtCbRequestDivestitureConfirmation;
886 
888 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_attributeOwnershipAcquisitionNotification> DtCbAttributeOwnershipAcquisitionNotification;
889 
891 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_attributeOwnershipUnavailable> DtCbAttributeOwnershipUnavailable;
892 
894 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_requestAttributeOwnershipRelease> DtCbRequestAttributeOwnershipRelease;
895 
897 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_confirmAttributeOwnershipAcquisitionCancellation> DtCbConfirmAttributeOwnershipAcquisitionCancellation;
898 
900 typedef DtCallbackWithObjectAttributeSetOptFederate<DtFedAmbCall_informAttributeOwnership> DtCbInformAttributeOwnership;
901 
902 typedef DtCallbackWithObjectAttributeSetOptFederate<DtFedAmbCall_attributeIsNotOwned> DtCbAttributeIsNotOwned;
903 
904 typedef DtCallbackWithObjectAttributeSetOptFederate<DtFedAmbCall_attributeIsOwnedByRTI> DtCbAttributeIsOwnedByRTI;
905 
910 typedef DtCallbackWithTime<DtFedAmbCall_timeRegulationEnabled> DtCbTimeRegulationEnabled;
911 
913 typedef DtCallbackWithTime<DtFedAmbCall_timeConstrainedEnabled> DtCbTimeConstrainedEnabled;
914 
916 typedef DtCallbackWithTime<DtFedAmbCall_timeAdvanceGrant> DtCbTimeAdvanceGrant;
917 
920 class DtCbRequestRetraction: public DtFedAmbCallback
921 {
922 public:
924  DtCbRequestRetraction(rti1516_2025::MessageRetractionHandle handle);
926  virtual ~DtCbRequestRetraction();
927 private:
929  DtCbRequestRetraction(DtCbRequestRetraction const& orig);
930  DtCbRequestRetraction& operator = (DtCbRequestRetraction const& orig);
931 public:
933  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
934 protected:
935  rti1516_2025::MessageRetractionHandle myRetractHandle;
936 };
937 
938 
940 DT_DLL_LRC const char* callbackKindToString(DtFedAmbCallKind kind);
941 
942 #define fedAmbCallback1516_2025_inl_
943 #include "fedAmbCallback1516_2025.inl"
944 #undef fedAmbCallback1516_2025_inl_
945 
946 #endif
OrderType
Definition: datatypes.pb.h:472
ULong InteractionClassHandle
Definition: RTItypes13.h:106
RestoreFailureReason
Definition: datatypes.pb.h:388
SaveFailureReason
Definition: datatypes.pb.h:359
An abstract base class which must be implemented, and used by a federate.
DtRtiApiUniquePtr< DtRtiApiTime > DtRtiApiUniquePtrTime
Definition: rtiApiTypes.h:96
ULong FederateHandle
Definition: RTItypes13.h:120
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
ULong ObjectClassHandle
Definition: RTItypes13.h:104
Handle AttributeHandle
Definition: RTItypes13.h:112
SynchronizationPointFailureReason
Definition: datatypes.pb.h:334

Document ID: Generated on Sun Jul 20 16:15:30 EDT 2025 from SVN revision 277985
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)