MAK RTIspy API Documentation for HLA Evolved
 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,
78  DtFedAmbCall_reflectAttributeValues_WithoutTime,
79  DtFedAmbCall_reflectAttributeValues_WithTime,
81  DtFedAmbCall_receiveInteraction_WithoutTime,
82  DtFedAmbCall_receiveInteraction_WithTime,
84  DtFedAmbCall_receiveDirectedInteraction_WithoutTime,
85  DtFedAmbCall_receiveDirectedInteraction_WithTime,
87  DtFedAmbCall_removeObjectInstance_WithoutTime,
88  DtFedAmbCall_removeObjectInstance_WithTime,
90  DtFedAmbCall_attributesInScope,
92  DtFedAmbCall_attributesOutOfScope,
94  DtFedAmbCall_provideAttributeValueUpdate,
96  DtFedAmbCall_turnUpdatesOnForObjectInstance,
97  DtFedAmbCall_turnUpdatesOnForObjectInstance_u,
99  DtFedAmbCall_turnUpdatesOffForObjectInstance,
101  DtFedAmbCall_confirmAttributeTransportationTypeChange,
103  DtFedAmbCall_reportAttributeTransportationType,
105  DtFedAmbCall_confirmInteractionTransportationTypeChange,
107  DtFedAmbCall_reportInteractionTransportationType,
112  DtFedAmbCall_requestAttributeOwnershipAssumption,
114  DtFedAmbCall_requestDivestitureConfirmation,
116  DtFedAmbCall_attributeOwnershipAcquisitionNotification,
118  DtFedAmbCall_attributeOwnershipUnavailable,
120  DtFedAmbCall_requestAttributeOwnershipRelease,
122  DtFedAmbCall_confirmAttributeOwnershipAcquisitionCancellation,
124  DtFedAmbCall_informAttributeOwnership,
125  DtFedAmbCall_attributeIsNotOwned,
126  DtFedAmbCall_attributeIsOwnedByRTI,
131  DtFedAmbCall_timeRegulationEnabled,
133  DtFedAmbCall_timeConstrainedEnabled,
135  DtFedAmbCall_timeAdvanceGrant,
137  DtFedAmbCall_requestRetraction,
139  DtFedAmbCall_invalid
140 };
141 
145 class DT_DLL_LRC DtFedAmbCallback
146 {
147 public:
149  DtFedAmbCallback(DtFedAmbCallKind kind);
151  virtual ~DtFedAmbCallback();
152 private:
154  DtFedAmbCallback(DtFedAmbCallback const& orig);
155  DtFedAmbCallback& operator = (DtFedAmbCallback const& orig);
156 public:
158  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const = 0;
159 
161  virtual DtFedAmbCallKind callbackKind() const;
162 
163 protected:
164  DtFedAmbCallKind myCallbackKind;
165 
166 protected:
167  static rti1516_2025::RegionHandleSet theEmptyRegionSet;
168  static rti1516_2025::MessageRetractionHandle theInvalidRetractHandle;
169 };
170 
171 template<DtFedAmbCallKind callbackKindValue>
172 class DtFedAmbCallbackVoid : public DtFedAmbCallback
173 {
174 public:
176  DtFedAmbCallbackVoid();
178  virtual ~DtFedAmbCallbackVoid();
179 private:
181  DtFedAmbCallbackVoid(DtFedAmbCallbackVoid const& orig);
182  DtFedAmbCallbackVoid& operator = (DtFedAmbCallbackVoid const& orig);
183 
184 public:
186  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
187 };
188 
189 template<DtFedAmbCallKind callbackKindValue>
190 class DtCallbackWithTime : public DtFedAmbCallback
191 {
192 public:
194  DtCallbackWithTime(DtRtiApiUniquePtrTime time);
196  virtual ~DtCallbackWithTime();
197 private:
199  DtCallbackWithTime(DtCallbackWithTime const& orig);
200  DtCallbackWithTime& operator = (DtCallbackWithTime const& orig);
201 public:
203  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
204 protected:
205  DtRtiApiUniquePtrTime myTime;
206 };
207 
208 template<DtFedAmbCallKind callbackKindValue>
209 class DtCallbackWithWString : public DtFedAmbCallback
210 {
211 public:
213  DtCallbackWithWString(std::wstring const& value);
214  DtCallbackWithWString(std::wstring const& value,
215  rti1516_2025::FederateHandleSet const & failedToSyncSet );
216 
218  virtual ~DtCallbackWithWString();
219 private:
221  DtCallbackWithWString(DtCallbackWithWString const& orig);
222  DtCallbackWithWString& operator = (DtCallbackWithWString const& orig);
223 public:
225  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
226 protected:
227  std::wstring myString;
228  rti1516_2025::FederateHandleSet myFailedToSyncSet;
229 };
230 
231 template<DtFedAmbCallKind callbackKindValue>
232 class DtCallbackWithWStringArray : public DtFedAmbCallback
233 {
234 public:
236  DtCallbackWithWStringArray( std::set<std::wstring> const & value );
237 
239  virtual ~DtCallbackWithWStringArray();
240 private:
242  DtCallbackWithWStringArray(DtCallbackWithWStringArray const& orig);
243  DtCallbackWithWStringArray& operator = (DtCallbackWithWStringArray const& orig);
244 
245 public:
247  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
248 protected:
249  std::set<std::wstring> myStrings;
250 };
251 
252 class DtCbReportFederationExecutions: public DtFedAmbCallback
253 {
254 public:
256  DtCbReportFederationExecutions(rti1516_2025::FederationExecutionInformationVector theFederationExecutionInformation);
258  virtual ~DtCbReportFederationExecutions();
259 private:
261  DtCbReportFederationExecutions(DtCbReportFederationExecutions const& orig);
262  DtCbReportFederationExecutions& operator = (DtCbReportFederationExecutions const& orig);
263 public:
265  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
266 protected:
267  rti1516_2025::FederationExecutionInformationVector myFederationExecutionInformation;
268 };
269 
270 class DtCbreportFederationExecutionMembers : public DtFedAmbCallback
271 {
272 public:
274  DtCbreportFederationExecutionMembers(std::wstring const & theFederationExecutionName,
275  rti1516_2025::FederationExecutionMemberInformationVector const & theFederationExecutionMemberInformationList);
277  virtual ~DtCbreportFederationExecutionMembers();
278 private:
280  DtCbreportFederationExecutionMembers(DtCbreportFederationExecutionMembers const& orig);
281  DtCbreportFederationExecutionMembers& operator = (DtCbreportFederationExecutionMembers const& orig);
282 public:
284  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
285 protected:
286  std::wstring myFederationExecutionName;
287  rti1516_2025::FederationExecutionMemberInformationVector myFederationExecutionMembers;
288 };
289 
290 template<DtFedAmbCallKind callbackKindValue>
291 class DtCallbackWithObjectClass : public DtFedAmbCallback
292 {
293 public:
295  DtCallbackWithObjectClass(rti1516_2025::ObjectClassHandle const & theClass);
297  virtual ~DtCallbackWithObjectClass();
298 private:
300  DtCallbackWithObjectClass(DtCallbackWithObjectClass const& orig);
301  DtCallbackWithObjectClass& operator = (DtCallbackWithObjectClass const& orig);
302 public:
304  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
305 protected:
306  rti1516_2025::ObjectClassHandle myObjectClass;
307 };
308 
309 template<DtFedAmbCallKind callbackKindValue>
310 class DtCallbackWithInteractionClass : public DtFedAmbCallback
311 {
312 public:
314  DtCallbackWithInteractionClass(
315  rti1516_2025::InteractionClassHandle const & theClass);
317  virtual ~DtCallbackWithInteractionClass();
318 private:
320  DtCallbackWithInteractionClass(DtCallbackWithInteractionClass const& orig);
321  DtCallbackWithInteractionClass& operator = (DtCallbackWithInteractionClass const& orig);
322 public:
324  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
325 protected:
326  rti1516_2025::InteractionClassHandle myInteractionClass;
327 };
328 
329 template<DtFedAmbCallKind callbackKindValue>
330 class DtCallbackWithObjectAttributesOptTag : public DtFedAmbCallback
331 {
332 public:
334  DtCallbackWithObjectAttributesOptTag(
335  rti1516_2025::ObjectInstanceHandle const & theObject,
336  rti1516_2025::AttributeHandleSet const & theAttributes);
337  DtCallbackWithObjectAttributesOptTag(
338  rti1516_2025::ObjectInstanceHandle const & theObject,
339  rti1516_2025::AttributeHandleSet const & theAttributes,
340  rti1516_2025::VariableLengthData const & theUserSuppliedTag);
341  DtCallbackWithObjectAttributesOptTag(
342  rti1516_2025::ObjectInstanceHandle const & theObject,
343  rti1516_2025::AttributeHandleSet const & theAttributes,
344  rti1516_2025::TransportationTypeHandle const & theTransportation);
345  DtCallbackWithObjectAttributesOptTag(
346  rti1516_2025::ObjectInstanceHandle const & theObject,
347  rti1516_2025::AttributeHandle const & theAttribute,
348  rti1516_2025::TransportationTypeHandle const & theTransportation);
349  DtCallbackWithObjectAttributesOptTag(
350  rti1516_2025::InteractionClassHandle const & theInteraction,
351  rti1516_2025::TransportationTypeHandle const & theTransportation);
352  DtCallbackWithObjectAttributesOptTag(
353  rti1516_2025::FederateHandle const & theFederateHandle,
354  rti1516_2025::InteractionClassHandle const & theInteraction,
355  rti1516_2025::TransportationTypeHandle const & theTransportation);
356  DtCallbackWithObjectAttributesOptTag(
357  rti1516_2025::ObjectInstanceHandle const & theObject,
358  rti1516_2025::AttributeHandleSet const & theAttributes,
359  std::wstring const & updateRateDesignator );
360 
362  virtual ~DtCallbackWithObjectAttributesOptTag();
363 private:
365  DtCallbackWithObjectAttributesOptTag(DtCallbackWithObjectAttributesOptTag const& orig);
366  DtCallbackWithObjectAttributesOptTag& operator = (DtCallbackWithObjectAttributesOptTag const& orig);
367 public:
369  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
370 protected:
371  rti1516_2025::ObjectInstanceHandle myObject;
373  rti1516_2025::VariableLengthData myUserSuppliedTag;
374  rti1516_2025::AttributeHandle myAttribute;
375  rti1516_2025::TransportationTypeHandle myTransportationType;
376  rti1516_2025::InteractionClassHandle myInteraction;
377  rti1516_2025::FederateHandle myFederateHandle;
378  std::wstring myUpdateRateDesignator;
379 };
380 
381 template<DtFedAmbCallKind callbackKindValue>
382 class DtCallbackWithObjectAttributeSetOptFederate : public DtFedAmbCallback
383 {
384 public:
386  DtCallbackWithObjectAttributeSetOptFederate(
387  rti1516_2025::ObjectInstanceHandle const & theObject,
388  rti1516_2025::AttributeHandleSet const & theAttributeSet);
389  DtCallbackWithObjectAttributeSetOptFederate(
390  rti1516_2025::ObjectInstanceHandle const & theObject,
391  rti1516_2025::AttributeHandleSet const & theAttributeSet,
392  rti1516_2025::FederateHandle const & theFederate);
394  virtual ~DtCallbackWithObjectAttributeSetOptFederate();
395 private:
397  DtCallbackWithObjectAttributeSetOptFederate(DtCallbackWithObjectAttributeSetOptFederate const& orig);
398  DtCallbackWithObjectAttributeSetOptFederate& operator = (DtCallbackWithObjectAttributeSetOptFederate const& orig);
399 public:
401  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
402 protected:
403  rti1516_2025::ObjectInstanceHandle myObject;
404  rti1516_2025::AttributeHandleSet myAttributeSet;
405  rti1516_2025::FederateHandle myFederate;
406 };
407 
412 typedef DtCallbackWithWString<DtFedAmbCall_synchronizationPointRegistrationSucceeded> DtCbSynchronizationPointRegistrationSucceeded;
413 
414 class DtCbSynchronizationPointRegistrationFailed : public DtFedAmbCallback
415 {
416 public:
418  DtCbSynchronizationPointRegistrationFailed(std::wstring const& stringValue,
421  virtual ~DtCbSynchronizationPointRegistrationFailed();
422 private:
424  DtCbSynchronizationPointRegistrationFailed(DtCbSynchronizationPointRegistrationFailed const& orig);
425  DtCbSynchronizationPointRegistrationFailed& operator = (DtCbSynchronizationPointRegistrationFailed const& orig);
426 public:
428  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
429 protected:
430  std::wstring myString;
432 };
433 
436 class DtCbAnnounceSynchronizationPoint : public DtFedAmbCallback
437 {
438 public:
440  DtCbAnnounceSynchronizationPoint(std::wstring const& stringValue,
441  rti1516_2025::VariableLengthData const & tag);
443  virtual ~DtCbAnnounceSynchronizationPoint();
444 private:
446  DtCbAnnounceSynchronizationPoint(DtCbAnnounceSynchronizationPoint const& orig);
447  DtCbAnnounceSynchronizationPoint& operator = (DtCbAnnounceSynchronizationPoint const& orig);
448 public:
450  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
451 protected:
452  std::wstring myString;
453  rti1516_2025::VariableLengthData myTag;
454 };
455 
457 typedef DtCallbackWithWString<DtFedAmbCall_federationSynchronized> DtCbFederationSynchronized;
458 
460 typedef DtCallbackWithWString<DtFedAmbCall_initiateFederateSave> DtCbInitiateFederateSave;
461 
462 class DtCbInitiateFederateSaveWithTime: public DtFedAmbCallback
463 {
464 public:
466  DtCbInitiateFederateSaveWithTime(std::wstring const& stringValue, DtRtiApiUniquePtrTime time);
468  virtual ~DtCbInitiateFederateSaveWithTime();
469 private:
471  DtCbInitiateFederateSaveWithTime(DtCbInitiateFederateSaveWithTime const& orig);
472  DtCbInitiateFederateSaveWithTime& operator = (DtCbInitiateFederateSaveWithTime const& orig);
473 public:
475  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
476 protected:
477  std::wstring myString;
478  DtRtiApiUniquePtrTime myTime;
479 };
480 
482 typedef DtFedAmbCallbackVoid<DtFedAmbCall_federationSaved> DtCbFederationSaved;
483 
484 class DtCbFederationNotSaved : public DtFedAmbCallback
485 {
486 public:
488  DtCbFederationNotSaved(rti1516_2025::SaveFailureReason theSaveFailureReason);
490  virtual ~DtCbFederationNotSaved();
491 private:
493  DtCbFederationNotSaved(DtCbFederationNotSaved const& orig);
494  DtCbFederationNotSaved& operator = (DtCbFederationNotSaved const& orig);
495 public:
497  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
498 protected:
499  rti1516_2025::SaveFailureReason mySaveFailureReason;
500 };
501 
504 class DtCbFederationSaveStatusResponse : public DtFedAmbCallback
505 {
506 public:
508  DtCbFederationSaveStatusResponse(
509  rti1516_2025::FederateHandleSaveStatusPairVector const & theFederateStatusVector);
511  virtual ~DtCbFederationSaveStatusResponse();
512 private:
514  DtCbFederationSaveStatusResponse(DtCbFederationSaveStatusResponse const& orig);
515  DtCbFederationSaveStatusResponse& operator = (DtCbFederationSaveStatusResponse const& orig);
516 public:
518  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
519 protected:
521 };
522 
524 typedef DtCallbackWithWString<DtFedAmbCall_requestFederationRestoreSucceeded> DtCbRequestFederationRestoreSucceeded;
525 
526 typedef DtCallbackWithWString<DtFedAmbCall_requestFederationRestoreFailed> DtCbRequestFederationRestoreFailed;
527 
529 typedef DtFedAmbCallbackVoid<DtFedAmbCall_federationRestoreBegun> DtCbFederationRestoreBegun;
530 
533 class DtCbInitiateFederateRestore : public DtFedAmbCallback
534 {
535 public:
537  DtCbInitiateFederateRestore(std::wstring const& stringValue,
538  rti1516_2025::FederateHandle handle);
540  virtual ~DtCbInitiateFederateRestore();
541 private:
543  DtCbInitiateFederateRestore(DtCbInitiateFederateRestore const& orig);
544  DtCbInitiateFederateRestore& operator = (DtCbInitiateFederateRestore const& orig);
545 public:
547  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
548 protected:
549  rti1516_2025::FederateHandle myHandle;
550  std::wstring myString;
551 };
552 
554 typedef DtFedAmbCallbackVoid<DtFedAmbCall_federationRestored> DtCbFederationRestored;
555 
556 class DtCbFederationNotRestored : public DtFedAmbCallback
557 {
558 public:
560  DtCbFederationNotRestored(rti1516_2025::RestoreFailureReason theRestoreFailureReason);
562  virtual ~DtCbFederationNotRestored();
563 private:
565  DtCbFederationNotRestored(DtCbFederationNotRestored const& orig);
566  DtCbFederationNotRestored& operator = (DtCbFederationNotRestored const& orig);
567 public:
569  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
570 protected:
571  rti1516_2025::RestoreFailureReason myRestoreFailureReason;
572 };
573 
576 class DtCbFederationRestoreStatusResponse : public DtFedAmbCallback
577 {
578 public:
580  DtCbFederationRestoreStatusResponse(
581  rti1516_2025::FederateRestoreStatusVector const & theFederateStatusVector);
583  virtual ~DtCbFederationRestoreStatusResponse();
584 private:
586  DtCbFederationRestoreStatusResponse(DtCbFederationRestoreStatusResponse const& orig);
587  DtCbFederationRestoreStatusResponse& operator = (DtCbFederationRestoreStatusResponse const& orig);
588 public:
590  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
591 protected:
592  rti1516_2025::FederateRestoreStatusVector myFederateStatusVector;
593 };
594 
595 
600 typedef DtCallbackWithObjectClass<DtFedAmbCall_startRegistrationForObjectClass> DtCbStartRegistrationForObjectClass;
601 
603 typedef DtCallbackWithObjectClass<DtFedAmbCall_stopRegistrationForObjectClass> DtCbStopRegistrationForObjectClass;
604 
606 typedef DtCallbackWithInteractionClass<DtFedAmbCall_turnInteractionsOn> DtCbTurnInteractionsOn;
607 
609 typedef DtCallbackWithInteractionClass<DtFedAmbCall_turnInteractionsOff> DtCbTurnInteractionsOff;
610 
615 typedef DtCallbackWithWString<DtFedAmbCall_objectInstanceNameReservationSucceeded> DtCbObjectInstanceNameReservationSucceeded;
616 typedef DtCallbackWithWString<DtFedAmbCall_objectInstanceNameReservationFailed> DtCbObjectInstanceNameReservationFailed;
617 
618 typedef DtCallbackWithWStringArray<DtFedAmbCall_multipleObjectInstanceNameReservationSucceeded> DtCbMultipleObjectInstanceNameReservationSucceeded;
619 typedef DtCallbackWithWStringArray<DtFedAmbCall_multipleObjectInstanceNameReservationFailed> DtCbMultipleObjectInstanceNameReservationFailed;
620 
623 class DtCbDiscoverObjectInstance: public DtFedAmbCallback
624 {
625 public:
627  DtCbDiscoverObjectInstance(rti1516_2025::ObjectInstanceHandle const & theObject,
628  rti1516_2025::ObjectClassHandle const & theObjectClass,
629  std::wstring const & theObjectInstanceName,
630  rti1516_2025::FederateHandle producingFederate );
632  virtual ~DtCbDiscoverObjectInstance();
633 private:
635  DtCbDiscoverObjectInstance(DtCbDiscoverObjectInstance const& orig);
636  DtCbDiscoverObjectInstance& operator = (DtCbDiscoverObjectInstance const& orig);
637 public:
639  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
640 protected:
641  rti1516_2025::ObjectInstanceHandle myObjectInstanceHandle;
642  rti1516_2025::ObjectClassHandle myObjectClassHandle;
643  std::wstring myString;
644  rti1516_2025::FederateHandle myProducingFederate;
645 };
646 
647 
650 class DtCbReflectAttributeValues: public DtFedAmbCallback
651 {
652 public:
653  DtCbReflectAttributeValues(
654  rti1516_2025::ObjectInstanceHandle const& theObject,
655  rti1516_2025::AttributeHandleValueMap const& theAttributeValues,
656  rti1516_2025::VariableLengthData const& theUserSuppliedTag,
657  rti1516_2025::TransportationTypeHandle const& theType,
658  rti1516_2025::FederateHandle const& theProducingFederate,
659  rti1516_2025::RegionHandleSet const* theOptionalSentRegions);
660 
661  DtCbReflectAttributeValues(
662  rti1516_2025::ObjectInstanceHandle const& theObject,
663  rti1516_2025::AttributeHandleValueMap const& theAttributeValues,
664  rti1516_2025::VariableLengthData const& theUserSuppliedTag,
665  rti1516_2025::TransportationTypeHandle const& theType,
666  rti1516_2025::FederateHandle const& theProducingFederate,
667  rti1516_2025::RegionHandleSet const* theOptionalSentRegions,
668  DtRtiApiUniquePtrTime theTime,
669  rti1516_2025::OrderType theSentOrder,
670  rti1516_2025::OrderType theReceivedOrder,
671  rti1516_2025::MessageRetractionHandle const* theOptionalRetraction);
672 
674  virtual ~DtCbReflectAttributeValues();
675 
676 private:
678  DtCbReflectAttributeValues(DtCbReflectAttributeValues const& orig);
679  DtCbReflectAttributeValues& operator = (DtCbReflectAttributeValues const& orig);
680 
681 public:
683  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
684 
685 protected:
686  rti1516_2025::ObjectInstanceHandle myObject;
687  rti1516_2025::AttributeHandleValueMap myAttributeValues;
688  rti1516_2025::VariableLengthData myUserSuppliedTag;
689  rti1516_2025::TransportationTypeHandle myTransportationType;
690  rti1516_2025::FederateHandle myProducingFederate;
691  rti1516_2025::RegionHandleSet mySentRegions;
692  DtRtiApiUniquePtrTime myTime;
693  rti1516_2025::OrderType mySentOrder;
694  rti1516_2025::OrderType myReceivedOrder;
695  rti1516_2025::MessageRetractionHandle myRetractHandle;
696  bool myHasRegionSet;
697  bool myHasRetraction;
698 };
699 
702 class DtCbReceiveInteraction: public DtFedAmbCallback
703 {
704 public:
705  DtCbReceiveInteraction(
706  rti1516_2025::InteractionClassHandle const& theInteraction,
707  rti1516_2025::ParameterHandleValueMap const& theParameterValues,
708  rti1516_2025::VariableLengthData const& theUserSuppliedTag,
709  rti1516_2025::TransportationTypeHandle const& theType,
710  rti1516_2025::FederateHandle const& theProducingFederate,
711  const rti1516_2025::RegionHandleSet* theOptionalSentRegions);
712 
713  DtCbReceiveInteraction(
714  rti1516_2025::InteractionClassHandle const& theInteraction,
715  rti1516_2025::ParameterHandleValueMap const& theParameterValues,
716  rti1516_2025::VariableLengthData const& theUserSuppliedTag,
717  rti1516_2025::TransportationTypeHandle const& theType,
718  rti1516_2025::FederateHandle const& theProducingFederate,
719  rti1516_2025::RegionHandleSet const* theOptionalSentRegions,
720  DtRtiApiUniquePtrTime theTime,
721  rti1516_2025::OrderType theSentOrder,
722  rti1516_2025::OrderType theReceivedOrder,
723  rti1516_2025::MessageRetractionHandle const* theOptionalRetraction);
724 
726  virtual ~DtCbReceiveInteraction();
727 
728 private:
730  DtCbReceiveInteraction(DtCbReceiveInteraction const& orig);
731  DtCbReceiveInteraction& operator = (DtCbReceiveInteraction const& orig);
732 
733 public:
735  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
736 
737 protected:
738  rti1516_2025::InteractionClassHandle myInteractionClass;
739  rti1516_2025::ParameterHandleValueMap myParameterValues;
740  rti1516_2025::VariableLengthData myUserSuppliedTag;
741  rti1516_2025::TransportationTypeHandle myTransportationType;
742  rti1516_2025::FederateHandle myProducingFederate;
743  rti1516_2025::RegionHandleSet mySentRegions;
744  DtRtiApiUniquePtrTime myTime;
745  rti1516_2025::OrderType mySentOrder;
746  rti1516_2025::OrderType myReceivedOrder;
747  rti1516_2025::MessageRetractionHandle myRetractHandle;
748  bool myHasRegionSet;
749  bool myHasRetraction;
750 };
751 
754 class DtCbReceiveDirectedInteraction : public DtFedAmbCallback
755 {
756 public:
757  DtCbReceiveDirectedInteraction(
758  rti1516_2025::InteractionClassHandle const& theInteraction,
759  rti1516_2025::ObjectInstanceHandle const& theObjectInstance,
760  rti1516_2025::ParameterHandleValueMap const& theParameterValues,
761  rti1516_2025::VariableLengthData const& theUserSuppliedTag,
762  rti1516_2025::TransportationTypeHandle const& theType,
763  rti1516_2025::FederateHandle const& theProducingFederate);
764 
765  DtCbReceiveDirectedInteraction(
766  rti1516_2025::InteractionClassHandle const& theInteraction,
767  rti1516_2025::ObjectInstanceHandle const& theObjectInstance,
768  rti1516_2025::ParameterHandleValueMap const& theParameterValues,
769  rti1516_2025::VariableLengthData const& theUserSuppliedTag,
770  rti1516_2025::TransportationTypeHandle const& theType,
771  rti1516_2025::FederateHandle const& theProducingFederate,
772  DtRtiApiUniquePtrTime theTime,
773  rti1516_2025::OrderType theSentOrder,
774  rti1516_2025::OrderType theReceivedOrder,
775  rti1516_2025::MessageRetractionHandle const* theOptionalRetraction);
776 
778  virtual ~DtCbReceiveDirectedInteraction();
779 
780 private:
782  DtCbReceiveDirectedInteraction(DtCbReceiveDirectedInteraction const& orig);
783  DtCbReceiveDirectedInteraction& operator = (DtCbReceiveDirectedInteraction const& orig);
784 
785 public:
787  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
788 
789 protected:
790  rti1516_2025::InteractionClassHandle myInteractionClass;
791  rti1516_2025::ObjectInstanceHandle myObjectInstance;
792  rti1516_2025::ParameterHandleValueMap myParameterValues;
793  rti1516_2025::VariableLengthData myUserSuppliedTag;
794  rti1516_2025::TransportationTypeHandle myTransportationType;
795  rti1516_2025::FederateHandle myProducingFederate;
796  DtRtiApiUniquePtrTime myTime;
797  rti1516_2025::OrderType mySentOrder;
798  rti1516_2025::OrderType myReceivedOrder;
799  rti1516_2025::MessageRetractionHandle myRetractHandle;
800  bool myHasRetraction;
801 };
802 
805 class DtCbRemoveObjectInstance: public DtFedAmbCallback
806 {
807 public:
809  DtCbRemoveObjectInstance(
810  rti1516_2025::ObjectInstanceHandle const & theObject,
811  rti1516_2025::VariableLengthData const & theUserSuppliedTag,
812  rti1516_2025::FederateHandle const & theProducingFederate);
813  DtCbRemoveObjectInstance(
814  rti1516_2025::ObjectInstanceHandle const& theObject,
815  rti1516_2025::VariableLengthData const& theUserSuppliedTag,
816  rti1516_2025::FederateHandle const& theProducingFederate,
817  DtRtiApiUniquePtrTime theTime,
818  rti1516_2025::OrderType theSentOrder,
819  rti1516_2025::OrderType theReceivedOrder,
820  rti1516_2025::MessageRetractionHandle const* theOptionalRetraction);
821 
823  virtual ~DtCbRemoveObjectInstance();
824 
825 private:
827  DtCbRemoveObjectInstance(DtCbRemoveObjectInstance const& orig);
828  DtCbRemoveObjectInstance& operator = (DtCbRemoveObjectInstance const& orig);
829 
830 public:
832  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
833 
834 protected:
835  rti1516_2025::ObjectInstanceHandle myObjectInstanceHandle;
836  rti1516_2025::VariableLengthData myTag;
837  rti1516_2025::TransportationTypeHandle myTransportationType;
838  rti1516_2025::FederateHandle myProducingFederate;
839  DtRtiApiUniquePtrTime myTime;
840  rti1516_2025::OrderType mySentOrder;
841  rti1516_2025::OrderType myReceivedOrder;
842  rti1516_2025::MessageRetractionHandle myRetractHandle;
843  bool myHasRetraction;
844 };
845 
847 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_attributesInScope> DtCbAttributesInScope;
848 
850 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_attributesOutOfScope> DtCbAttributesOutOfScope;
851 
853 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_provideAttributeValueUpdate> DtCbProvideAttributeValueUpdate;
854 
856 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_turnUpdatesOnForObjectInstance> DtCbTurnUpdatesOnForObjectInstance;
857 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_turnUpdatesOnForObjectInstance_u> DtCbTurnUpdatesOnForObjectInstance_u;
858 
860 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_turnUpdatesOffForObjectInstance> DtCbTurnUpdatesOffForObjectInstance;
861 
863 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_confirmAttributeTransportationTypeChange> DtCbConfirmAttributeTransportationTypeChange;
864 
866 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_reportAttributeTransportationType> DtCbReportAttributeTransportationType;
867 
869 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_confirmInteractionTransportationTypeChange> DtCbConfirmInteractionTransportationTypeChange;
870 
872 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_reportInteractionTransportationType> DtCbReportInteractionTransportationType;
873 
878 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_requestAttributeOwnershipAssumption> DtCbRequestAttributeOwnershipAssumption;
879 
881 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_requestDivestitureConfirmation> DtCbRequestDivestitureConfirmation;
882 
884 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_attributeOwnershipAcquisitionNotification> DtCbAttributeOwnershipAcquisitionNotification;
885 
887 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_attributeOwnershipUnavailable> DtCbAttributeOwnershipUnavailable;
888 
890 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_requestAttributeOwnershipRelease> DtCbRequestAttributeOwnershipRelease;
891 
893 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_confirmAttributeOwnershipAcquisitionCancellation> DtCbConfirmAttributeOwnershipAcquisitionCancellation;
894 
896 typedef DtCallbackWithObjectAttributeSetOptFederate<DtFedAmbCall_informAttributeOwnership> DtCbInformAttributeOwnership;
897 
898 typedef DtCallbackWithObjectAttributeSetOptFederate<DtFedAmbCall_attributeIsNotOwned> DtCbAttributeIsNotOwned;
899 
900 typedef DtCallbackWithObjectAttributeSetOptFederate<DtFedAmbCall_attributeIsOwnedByRTI> DtCbAttributeIsOwnedByRTI;
901 
906 typedef DtCallbackWithTime<DtFedAmbCall_timeRegulationEnabled> DtCbTimeRegulationEnabled;
907 
909 typedef DtCallbackWithTime<DtFedAmbCall_timeConstrainedEnabled> DtCbTimeConstrainedEnabled;
910 
912 typedef DtCallbackWithTime<DtFedAmbCall_timeAdvanceGrant> DtCbTimeAdvanceGrant;
913 
916 class DtCbRequestRetraction: public DtFedAmbCallback
917 {
918 public:
920  DtCbRequestRetraction(rti1516_2025::MessageRetractionHandle handle);
922  virtual ~DtCbRequestRetraction();
923 private:
925  DtCbRequestRetraction(DtCbRequestRetraction const& orig);
926  DtCbRequestRetraction& operator = (DtCbRequestRetraction const& orig);
927 public:
929  virtual void evokeCallback(rti1516_2025::FederateAmbassador* fedAmb) const;
930 protected:
931  rti1516_2025::MessageRetractionHandle myRetractHandle;
932 };
933 
934 
936 DT_DLL_LRC const char* callbackKindToString(DtFedAmbCallKind kind);
937 
938 #define fedAmbCallback1516_2025_inl_
939 #include "fedAmbCallback1516_2025.inl"
940 #undef fedAmbCallback1516_2025_inl_
941 
942 #endif
OrderType
Definition: datatypes.pb.h:472
std::set< AttributeHandle > AttributeHandleSet
Definition: Typedefs.h:35
RestoreFailureReason
Definition: datatypes.pb.h:388
std::vector< FederationExecutionInformation > FederationExecutionInformationVector
Definition: Typedefs.h:99
std::set< RegionHandle > RegionHandleSet
Definition: Typedefs.h:39
This file contains the standard RTI types that are defined in namespace rti1516.
SaveFailureReason
Definition: datatypes.pb.h:359
An abstract base class which must be implemented, and used by a federate.
std::vector< FederateHandleSaveStatusPair > FederateHandleSaveStatusPairVector
Definition: Typedefs.h:65
DtRtiApiUniquePtr< DtRtiApiTime > DtRtiApiUniquePtrTime
Definition: rtiApiTypes.h:96
std::map< AttributeHandle, VariableLengthData > AttributeHandleValueMap
Definition: Typedefs.h:44
std::set< FederateHandle > FederateHandleSet
Definition: Typedefs.h:37
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
std::vector< FederateRestoreStatus > FederateRestoreStatusVector
Definition: Typedefs.h:83
his file contains the rti1516_2025::FederateAmbassador class.
SynchronizationPointFailureReason
Definition: datatypes.pb.h:334
std::map< ParameterHandle, VariableLengthData > ParameterHandleValueMap
Definition: Typedefs.h:49

Document ID: Generated on Wed Jul 8 16:20:32 EDT 2026 from SVN revision 291616
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)