MAK Data Logger API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
fedAmbCallback1516_4.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #if DtHLA_4
10 
11 #pragma once
12 
14 #include "fedAmbCallback.h"
15 
16 #include <memory>
17 
18 namespace MAKTrafficClientServerExConn
19 {
20 
21  class DtTaCallbackMsg;
22 
24  enum DtTaFedAmbCallKind
25  {
29 
30  DtTaFedAmbCall_connectionLost,
31  DtTaFedAmbCall_reportFederationExecutions,
32  DtTaFedAmbCall_synchronizationPointRegistrationSucceeded,
33  DtTaFedAmbCall_synchronizationPointRegistrationFailed,
34  DtTaFedAmbCall_announceSynchronizationPoint,
35  DtTaFedAmbCall_federationSynchronized,
36  DtTaFedAmbCall_initiateFederateSave,
37  DtTaFedAmbCall_initiateFederateSaveT,
38  DtTaFedAmbCall_federationSaved,
39  DtTaFedAmbCall_federationNotSaved,
40  DtTaFedAmbCall_federationSaveStatusResponse,
41  DtTaFedAmbCall_requestFederationRestoreSucceeded,
42  DtTaFedAmbCall_requestFederationRestoreFailed,
43  DtTaFedAmbCall_federationRestoreBegun,
44  DtTaFedAmbCall_initiateFederateRestore,
45  DtTaFedAmbCall_federationRestored,
46  DtTaFedAmbCall_federationNotRestored,
47  DtTaFedAmbCall_federationRestoreStatusResponse,
48 
52 
53  DtTaFedAmbCall_startRegistrationForObjectClass,
54  DtTaFedAmbCall_stopRegistrationForObjectClass,
55  DtTaFedAmbCall_turnInteractionsOn,
56  DtTaFedAmbCall_turnInteractionsOff,
57 
61 
62  DtTaFedAmbCall_objectInstanceNameReservationSucceeded,
63  DtTaFedAmbCall_objectInstanceNameReservationFailed,
64  DtTaFedAmbCall_multipleObjectInstanceNameReservationSucceeded,
65  DtTaFedAmbCall_multipleObjectInstanceNameReservationFailed,
66  DtTaFedAmbCall_discoverObjectInstance,
67  DtTaFedAmbCall_discoverObjectInstanceF,
68  DtTaFedAmbCall_reflectAttributeValues,
69  DtTaFedAmbCall_reflectAttributeValuesT,
70  //DtTaFedAmbCall_reflectAttributeValuesH,
71  DtTaFedAmbCall_receiveInteraction,
72  DtTaFedAmbCall_receiveInteractionT,
73  //DtTaFedAmbCall_receiveInteractionH,
74  DtTaFedAmbCall_receiveDirectedInteraction,
75  DtTaFedAmbCall_receiveDirectedInteractionT,
76  DtTaFedAmbCall_removeObjectInstance,
77  DtTaFedAmbCall_removeObjectInstanceT,
78  //DtTaFedAmbCall_removeObjectInstanceH,
79  DtTaFedAmbCall_attributesInScope,
80  DtTaFedAmbCall_attributesOutOfScope,
81  DtTaFedAmbCall_provideAttributeValueUpdate,
82  DtTaFedAmbCall_turnUpdatesOnForObjectInstance,
83 DtTaFedAmbCall_turnUpdatesOnForObjectInstanceU,
84  DtTaFedAmbCall_turnUpdatesOffForObjectInstance,
85 DtTaFedAmbCall_confirmAttributeTransportationTypeChange,
86 DtTaFedAmbCall_reportAttributeTransportationType,
87 DtTaFedAmbCall_confirmInteractionTransportationTypeChange,
88 DtTaFedAmbCall_reportInteractionTransportationType,
89 
93 
94  DtTaFedAmbCall_requestAttributeOwnershipAssumption,
95  DtTaFedAmbCall_requestDivestitureConfirmation,
96  DtTaFedAmbCall_attributeOwnershipAcquisitionNotification,
97  DtTaFedAmbCall_attributeOwnershipUnavailable,
98  DtTaFedAmbCall_requestAttributeOwnershipRelease,
99  DtTaFedAmbCall_confirmAttributeOwnershipAcquisitionCancellation,
100  DtTaFedAmbCall_informAttributeOwnership,
101  DtTaFedAmbCall_attributeIsNotOwned,
102  DtTaFedAmbCall_attributeIsOwnedByRTI,
103 
107 
108  DtTaFedAmbCall_timeRegulationEnabled,
109  DtTaFedAmbCall_timeConstrainedEnabled,
110  DtTaFedAmbCall_timeAdvanceGrant,
111  DtTaFedAmbCall_requestRetraction,
112  DtTaFedAmbCall_flushQueueGrant,
113 
115  DtTaFedAmbCall_invalid
116  };
117 
118  // Call takes LogicalTime
119  template<int callbackKindValue>
120  class DtTaCallbackWithTime : public DtTaCallback
121  {
122  public:
124  DtTaCallbackWithTime(
125  std::unique_ptr<RTI::LogicalTime> time);
126 
128  virtual ~DtTaCallbackWithTime();
129  private:
131  DtTaCallbackWithTime(DtTaCallbackWithTime const& orig);
132  DtTaCallbackWithTime& operator = (DtTaCallbackWithTime const& orig);
133  public:
135  virtual void invokeCallback(RTI::FederateAmbassador* fedAmb) const;
136  protected:
137  std::unique_ptr<RTI::LogicalTime> myTime;
138  };
139 
140  // Call takes LogicalTime for time and optimistic time
141  template<int callbackKindValue>
142  class DtTaCallbackWithOptimisticTime : public DtTaCallback
143  {
144  public:
146  DtTaCallbackWithOptimisticTime(
147  std::unique_ptr<RTI::LogicalTime> time,
148  std::unique_ptr<RTI::LogicalTime> optimisticTime);
149 
151  virtual ~DtTaCallbackWithOptimisticTime();
152  private:
154  DtTaCallbackWithOptimisticTime(DtTaCallbackWithOptimisticTime const& orig);
155  DtTaCallbackWithOptimisticTime& operator = (DtTaCallbackWithOptimisticTime const& orig);
156  public:
158  virtual void invokeCallback(RTI::FederateAmbassador* fedAmb) const;
159  protected:
160  std::unique_ptr<RTI::LogicalTime> myTime;
161  std::unique_ptr<RTI::LogicalTime> myOptimisticTime;
162  };
163 
164  // Call takes object handle, attribute set, and optional user tag
165  template<int callbackKindValue>
166  class DtTaCallbackWithObjectAttributesOptTag : public DtTaCallback
167  {
168  public:
170  DtTaCallbackWithObjectAttributesOptTag(
171  RTI::ObjectInstanceHandle const& objectClass,
172  RTI::AttributeHandleSet const& attributes);
173 
174  DtTaCallbackWithObjectAttributesOptTag(
175  RTI::ObjectInstanceHandle const& objectClass,
176  RTI::AttributeHandleSet const& attributes,
177  RTI::VariableLengthData const& userSuppliedTag);
178 
180  virtual ~DtTaCallbackWithObjectAttributesOptTag();
181  private:
183  DtTaCallbackWithObjectAttributesOptTag(DtTaCallbackWithObjectAttributesOptTag const& orig);
184  DtTaCallbackWithObjectAttributesOptTag& operator = (DtTaCallbackWithObjectAttributesOptTag const& orig);
185  public:
187  virtual void invokeCallback(RTI::FederateAmbassador* fedAmb) const;
188  protected:
189  RTI::ObjectInstanceHandle myObject;
190  RTI::AttributeHandleSet myAttributes;
191  RTI::VariableLengthData myTag;
192  };
193 
197 
198  // DtTaFedAmbCall_connectionLost not implemented
199  // DtTaFedAmbCall_reportFederationExecutions not implemented
200 
201  typedef DtTaCallbackWithWString<DtTaFedAmbCall_synchronizationPointRegistrationSucceeded> DtTaCbSynchronizationPointRegistrationSucceeded;
202 
203  class DtTaCbSynchronizationPointRegistrationFailed : public DtTaCallback
204  {
205  public:
207  DtTaCbSynchronizationPointRegistrationFailed(
208  std::wstring const & label,
209  RTI::SynchronizationPointFailureReason reason);
211  virtual ~DtTaCbSynchronizationPointRegistrationFailed();
212  private:
214  DtTaCbSynchronizationPointRegistrationFailed(DtTaCbSynchronizationPointRegistrationFailed const& orig);
215  DtTaCbSynchronizationPointRegistrationFailed& operator = (DtTaCbSynchronizationPointRegistrationFailed const& orig);
216  public:
218  virtual void invokeCallback(RTI::FederateAmbassador* fedAmb) const;
219  protected:
220  std::wstring myLabel;
221  RTI::SynchronizationPointFailureReason myReason;
222  };
223 
224  class DtTaCbAnnounceSynchronizationPoint : public DtTaCallback
225  {
226  public:
228  DtTaCbAnnounceSynchronizationPoint(
229  std::wstring const & label,
230  const RTI::VariableLengthData& theUserSuppliedTag);
232  virtual ~DtTaCbAnnounceSynchronizationPoint();
233  private:
235  DtTaCbAnnounceSynchronizationPoint(DtTaCbAnnounceSynchronizationPoint const& orig);
236  DtTaCbAnnounceSynchronizationPoint& operator = (DtTaCbAnnounceSynchronizationPoint const& orig);
237  public:
239  virtual void invokeCallback(RTI::FederateAmbassador* fedAmb) const;
240  protected:
241  std::wstring myLabel;
242  RTI::VariableLengthData myTag;
243  };
244 
245  // DtTaFedAmbCall_federationSynchronized not implemented
246 
247  class DtTaCbInitiateFederateSave : public DtTaCallback
248  {
249  public:
251  DtTaCbInitiateFederateSave(
252  std::wstring const & label);
253  DtTaCbInitiateFederateSave(
254  std::wstring const & label,
255  std::unique_ptr<RTI::LogicalTime> theTime);
256 
258  virtual ~DtTaCbInitiateFederateSave();
259  private:
261  DtTaCbInitiateFederateSave(DtTaCbInitiateFederateSave const& orig);
262  DtTaCbInitiateFederateSave& operator = (DtTaCbInitiateFederateSave const& orig);
263  public:
265  virtual void invokeCallback(RTI::FederateAmbassador* fedAmb) const;
266  protected:
267  std::wstring myLabel;
268  std::unique_ptr<RTI::LogicalTime> myTime;
269  };
270 
271  typedef DtTaCallbackVoid<DtTaFedAmbCall_federationSaved> DtTaCbFederationSaved;
272 
273  class DtTaCbFederationNotSaved : public DtTaCallback
274  {
275  public:
277  DtTaCbFederationNotSaved(
278  RTI::SaveFailureReason failureReason);
280  virtual ~DtTaCbFederationNotSaved();
281  private:
283  DtTaCbFederationNotSaved(DtTaCbFederationNotSaved const& orig);
284  DtTaCbFederationNotSaved& operator = (DtTaCbFederationNotSaved const& orig);
285  public:
287  virtual void invokeCallback(RTI::FederateAmbassador* fedAmb) const;
288  protected:
289  RTI::SaveFailureReason mySaveFailureReason;
290  };
291 
292  // DtTaFedAmbCall_federationSaveStatusResponse not implemented
293  typedef DtTaCallbackWithWString<DtTaFedAmbCall_requestFederationRestoreSucceeded> DtTaCbRequestFederationRestoreSucceeded;
294  typedef DtTaCallbackWithWString<DtTaFedAmbCall_requestFederationRestoreFailed> DtTaCbRequestFederationRestoreFailed;
295  typedef DtTaCallbackVoid<DtTaFedAmbCall_federationRestoreBegun> DtTaCbFederationRestoreBegun;
296 
297  class DtTaCbInitiateFederateRestore : public DtTaCallback
298  {
299  public:
301  DtTaCbInitiateFederateRestore(
302  const std::wstring& label,
303  std::wstring const & federateName,
304  RTI::FederateHandle handle);
305 
307  virtual ~DtTaCbInitiateFederateRestore();
308  private:
310  DtTaCbInitiateFederateRestore(DtTaCbInitiateFederateRestore const& orig);
311  DtTaCbInitiateFederateRestore& operator = (DtTaCbInitiateFederateRestore const& orig);
312  public:
314  virtual void invokeCallback(RTI::FederateAmbassador* fedAmb) const;
315  protected:
316  std::wstring myLabel;
317  std::wstring const & myFederateName;
318  RTI::FederateHandle myFederateHandle;
319  };
320 
321  typedef DtTaCallbackVoid<DtTaFedAmbCall_federationRestored> DtTaCbFederationRestored;
322 
323  class DtTaCbFederationNotRestored : public DtTaCallback
324  {
325  public:
327  DtTaCbFederationNotRestored(
328  RTI::RestoreFailureReason failureReason);
330  virtual ~DtTaCbFederationNotRestored();
331  private:
333  DtTaCbFederationNotRestored(DtTaCbFederationNotRestored const& orig);
334  DtTaCbFederationNotRestored& operator = (DtTaCbFederationNotRestored const& orig);
335  public:
337  virtual void invokeCallback(RTI::FederateAmbassador* fedAmb) const;
338  protected:
339  RTI::RestoreFailureReason myRestoreFailureReason;
340  };
341 
342  // DtTaFedAmbCall_federationRestoreStatusResponse not implemented
343 
347 
348  typedef DtTaCallbackWithObjectClass<DtTaFedAmbCall_startRegistrationForObjectClass> DtTaCbStartRegistrationForObjectClass;
349  typedef DtTaCallbackWithObjectClass<DtTaFedAmbCall_stopRegistrationForObjectClass> DtTaCbStopRegistrationForObjectClass;
350  typedef DtTaCallbackWithInteractionClass<DtTaFedAmbCall_turnInteractionsOn> DtTaCbTurnInteractionsOn;
351  typedef DtTaCallbackWithInteractionClass<DtTaFedAmbCall_turnInteractionsOff> DtTaCbTurnInteractionsOff;
352 
356 
357  typedef DtTaCallbackWithWString<DtTaFedAmbCall_objectInstanceNameReservationSucceeded> DtTaCbObjectInstanceNameReservationSucceeded;
358  typedef DtTaCallbackWithWString<DtTaFedAmbCall_objectInstanceNameReservationFailed> DtTaCbObjectInstanceNameReservationFailed;
359  // DtTaFedAmbCall_multipleObjectInstanceNameReservationSucceeded not implemented
360  // DtTaFedAmbCall_multipleObjectInstanceNameReservationFailed not implemented
361 
362 
363  class DtTaCbDiscoverObjectInstance : public DtTaCallback
364  {
365  public:
367  DtTaCbDiscoverObjectInstance(
368  RTI::ObjectInstanceHandle const& objectInstance,
369  RTI::ObjectClassHandle const& objectClass,
370  std::wstring const& objectInstanceName,
371  RTI::FederateHandle const& producingFederate);
372 
374  virtual ~DtTaCbDiscoverObjectInstance();
375  private:
377  DtTaCbDiscoverObjectInstance(DtTaCbDiscoverObjectInstance const& orig);
378  DtTaCbDiscoverObjectInstance& operator = (DtTaCbDiscoverObjectInstance const& orig);
379  public:
381  virtual void invokeCallback(RTI::FederateAmbassador* fedAmb) const;
382  protected:
383  RTI::ObjectInstanceHandle myObjectInstanceHandle;
384  RTI::ObjectClassHandle myObjectClassHandle;
385  std::wstring myString;
386  RTI::FederateHandle myProducingFederate;
387  };
388 
389  class DtTaCbReflectAttributeValues : public DtTaCallback
390  {
391  public:
393  DtTaCbReflectAttributeValues(
394  RTI::ObjectInstanceHandle const& objectInstance,
395  RTI::AttributeHandleValueMap const& attributeValues,
396  RTI::VariableLengthData const& userSuppliedTag,
397  RTI::TransportationTypeHandle const& transportationType,
398  RTI::FederateHandle const& producingFederate,
399  RTI::RegionHandleSet const* optionalSentRegions);
400 
401  DtTaCbReflectAttributeValues(
402  RTI::ObjectInstanceHandle const& objectInstance,
403  RTI::AttributeHandleValueMap const& attributeValues,
404  RTI::VariableLengthData const& userSuppliedTag,
405  RTI::TransportationTypeHandle const& transportationType,
406  RTI::FederateHandle const& producingFederate,
407  RTI::RegionHandleSet const* optionalSentRegions,
408  std::unique_ptr<RTI::LogicalTime> time,
409  RTI::OrderType sentOrderType,
410  RTI::OrderType receivedOrderType,
411  RTI::MessageRetractionHandle const* optionalRetraction);
412 
414  virtual ~DtTaCbReflectAttributeValues();
415  private:
417  DtTaCbReflectAttributeValues(DtTaCbReflectAttributeValues const& orig);
418  DtTaCbReflectAttributeValues& operator = (DtTaCbReflectAttributeValues const& orig);
419  public:
421  virtual void invokeCallback(RTI::FederateAmbassador* fedAmb) const;
422 
423  protected:
424  RTI::ObjectInstanceHandle myObject;
425  RTI::AttributeHandleValueMap myAttributeValues;
426  RTI::VariableLengthData myTag;
427  RTI::TransportationTypeHandle myTransportationType;
428  RTI::FederateHandle myProducingFederate;
429  RTI::RegionHandleSet mySentRegions;
430  std::unique_ptr<RTI::LogicalTime> myTime;
431  RTI::OrderType mySentOrder;
432  RTI::OrderType myReceivedOrder;
433  RTI::MessageRetractionHandle myRetractHandle;
434  };
435 
436  class DtTaCbReceiveInteraction : public DtTaCallback
437  {
438  public:
440  DtTaCbReceiveInteraction(
441  RTI::InteractionClassHandle const& interactionClass,
442  RTI::ParameterHandleValueMap const& parameterValues,
443  RTI::VariableLengthData const& userSuppliedTag,
444  RTI::TransportationTypeHandle const& transportationType,
445  RTI::FederateHandle const& producingFederate,
446  const RTI::RegionHandleSet* optionalSentRegions);
447 
448  DtTaCbReceiveInteraction(
449  RTI::InteractionClassHandle const& interactionClass,
450  RTI::ParameterHandleValueMap const& parameterValues,
451  RTI::VariableLengthData const& userSuppliedTag,
452  RTI::TransportationTypeHandle const& transportationType,
453  RTI::FederateHandle const& producingFederate,
454  RTI::RegionHandleSet const* optionalSentRegions,
455  std::unique_ptr<RTI::LogicalTime> time,
456  RTI::OrderType sentOrderType,
457  RTI::OrderType receivedOrderType,
458  RTI::MessageRetractionHandle const* optionalRetraction);
459 
461  virtual ~DtTaCbReceiveInteraction();
462  private:
464  DtTaCbReceiveInteraction(DtTaCbReceiveInteraction const& orig);
465  DtTaCbReceiveInteraction& operator = (DtTaCbReceiveInteraction const& orig);
466  public:
468  virtual void invokeCallback(RTI::FederateAmbassador* fedAmb) const;
469 
470  protected:
471  RTI::InteractionClassHandle myInteractionClass;
472  RTI::ParameterHandleValueMap myParameterValues;
473  RTI::VariableLengthData myTag;
474  RTI::TransportationTypeHandle myTransportationType;
475  RTI::FederateHandle myProducingFederate;
476  RTI::RegionHandleSet myRegionSet;
477  std::unique_ptr<RTI::LogicalTime> myTime;
478  RTI::OrderType mySentOrder;
479  RTI::OrderType myReceivedOrder;
480  RTI::MessageRetractionHandle myRetractHandle;
481  };
482 
483 
484  class DtTaCbReceiveDirectedInteraction : public DtTaCallback
485  {
486  public:
488  DtTaCbReceiveDirectedInteraction(
489  RTI::InteractionClassHandle const& interactionClass,
490  RTI::ObjectInstanceHandle const& objectInstance,
491  RTI::ParameterHandleValueMap const& parameterValues,
492  RTI::VariableLengthData const& userSuppliedTag,
493  RTI::TransportationTypeHandle const& transportationType,
494  RTI::FederateHandle const& producingFederate);
495 
496  DtTaCbReceiveDirectedInteraction(
497  RTI::InteractionClassHandle const& interactionClass,
498  RTI::ObjectInstanceHandle const& objectInstance,
499  RTI::ParameterHandleValueMap const& parameterValues,
500  RTI::VariableLengthData const& userSuppliedTag,
501  RTI::TransportationTypeHandle const& transportationType,
502  RTI::FederateHandle const& producingFederate,
503  std::unique_ptr<RTI::LogicalTime> time,
504  RTI::OrderType sentOrderType,
505  RTI::OrderType receivedOrderType,
506  RTI::MessageRetractionHandle const* optionalRetraction);
507 
509  virtual ~DtTaCbReceiveDirectedInteraction();
510  private:
512  DtTaCbReceiveDirectedInteraction(DtTaCbReceiveDirectedInteraction const& orig);
513  DtTaCbReceiveDirectedInteraction& operator = (DtTaCbReceiveDirectedInteraction const& orig);
514  public:
516  virtual void invokeCallback(RTI::FederateAmbassador* fedAmb) const;
517 
518  protected:
519  RTI::InteractionClassHandle myInteractionClass;
520  RTI::ObjectInstanceHandle myObjectInstance;
521  RTI::ParameterHandleValueMap myParameterValues;
522  RTI::VariableLengthData myTag;
523  RTI::TransportationTypeHandle myTransportationType;
524  RTI::FederateHandle myProducingFederate;
525  RTI::RegionHandleSet myRegionSet;
526  std::unique_ptr<RTI::LogicalTime> myTime;
527  RTI::OrderType mySentOrder;
528  RTI::OrderType myReceivedOrder;
529  RTI::MessageRetractionHandle myRetractHandle;
530  };
531 
532  class DtTaCbRemoveObjectInstance : public DtTaCallback
533  {
534  public:
536  DtTaCbRemoveObjectInstance(
537  RTI::ObjectInstanceHandle const& objectInstance,
538  RTI::VariableLengthData const& userSuppliedTag,
539  RTI::FederateHandle const& producingFederate);
540 
541  DtTaCbRemoveObjectInstance(
542  RTI::ObjectInstanceHandle const& objectInstance,
543  RTI::VariableLengthData const& userSuppliedTag,
544  RTI::FederateHandle const& producingFederate,
545  std::unique_ptr<RTI::LogicalTime> time,
546  RTI::OrderType sentOrderType,
547  RTI::OrderType receivedOrderType,
548  RTI::MessageRetractionHandle const* optionalRetraction);
549 
551  virtual ~DtTaCbRemoveObjectInstance();
552  private:
554  DtTaCbRemoveObjectInstance(DtTaCbRemoveObjectInstance const& orig);
555  DtTaCbRemoveObjectInstance& operator = (DtTaCbRemoveObjectInstance const& orig);
556  public:
558  virtual void invokeCallback(RTI::FederateAmbassador* fedAmb) const;
559  protected:
560  RTI::ObjectInstanceHandle myObjectInstanceHandle;
561  RTI::VariableLengthData myTag;
562  RTI::FederateHandle myProducingFederate;
563  std::unique_ptr<RTI::LogicalTime> myTime;
564  RTI::OrderType mySentOrder;
565  RTI::OrderType myReceivedOrder;
566  RTI::MessageRetractionHandle myRetractHandle;
567  };
568 
569  typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_attributesInScope> DtTaCbAttributesInScope;
570  typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_attributesOutOfScope> DtTaCbAttributesOutOfScope;
571  typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_provideAttributeValueUpdate> DtTaCbProvideAttributeValueUpdate;
572  typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_turnUpdatesOnForObjectInstance> DtTaCbTurnUpdatesOnForObjectInstance;
573  // DtTaFedAmbCall_turnUpdatesOnForObjectInstanceU not implemented
574  typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_turnUpdatesOffForObjectInstance> DtTaCbTurnUpdatesOffForObjectInstance;
575  // DtTaFedAmbCall_confirmAttributeTransportationTypeChange not implemented
576  // DtTaFedAmbCall_reportAttributeTransportationType not implemented
577  // DtTaFedAmbCall_confirmInteractionTransportationTypeChange not implemented
578  // DtTaFedAmbCall_reportInteractionTransportationType not implemented
579 
580 
584 
585  typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_requestAttributeOwnershipAssumption> DtTaCbRequestAttributeOwnershipAssumption;
586  typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_requestDivestitureConfirmation> DtTaCbRequestDivestitureConfirmation;
587  typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_attributeOwnershipAcquisitionNotification> DtTaCbAttributeOwnershipAcquisitionNotification;
588  typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_attributeOwnershipUnavailable> DtTaCbAttributeOwnershipUnavailable;
589  typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_requestAttributeOwnershipRelease> DtTaCbRequestAttributeOwnershipRelease;
590  typedef DtTaCallbackWithObjectAttributesOptTag<DtTaFedAmbCall_confirmAttributeOwnershipAcquisitionCancellation> DtTaCbConfirmAttributeOwnershipAcquisitionCancellation;
591 
592  typedef DtTaCallbackWithObjectAttributeOptFederate <DtTaFedAmbCall_informAttributeOwnership> DtTaCbInformAttributeOwnership;
593  typedef DtTaCallbackWithObjectAttributeOptFederate <DtTaFedAmbCall_attributeIsNotOwned> DtTaCbAttributeIsNotOwned;
594  typedef DtTaCallbackWithObjectAttributeOptFederate <DtTaFedAmbCall_attributeIsOwnedByRTI> DtTaCbAttributeIsOwnedByRTI;
595 
599 
600  typedef DtTaCallbackWithTime<DtTaFedAmbCall_timeRegulationEnabled> DtTaCbTimeRegulationEnabled;
601  typedef DtTaCallbackWithTime<DtTaFedAmbCall_timeConstrainedEnabled> DtTaCbTimeConstrainedEnabled;
602  typedef DtTaCallbackWithTime<DtTaFedAmbCall_timeAdvanceGrant> DtTaCbTimeAdvanceGrant;
603  typedef DtTaCallbackWithOptimisticTime<DtTaFedAmbCall_flushQueueGrant> DtTaCbFlushQueueGrant;
604 
605  class DtTaCbRequestRetraction : public DtTaCallback
606  {
607  public:
609  DtTaCbRequestRetraction(RTI::MessageRetractionHandle handle);
611  virtual ~DtTaCbRequestRetraction();
612  private:
614  DtTaCbRequestRetraction(DtTaCbRequestRetraction const& orig);
615  DtTaCbRequestRetraction& operator = (DtTaCbRequestRetraction const& orig);
616  public:
618  virtual void invokeCallback(RTI::FederateAmbassador* fedAmb) const;
619  protected:
620  RTI::MessageRetractionHandle myRetractHandle;
621  };
622 
624  DT_DLL_CSEC const char * callbackKindToString(int kind);
625 
626  #define fedAmbCallback1516_4_inl_
627  #include "fedAmbCallback1516_4.inl"
628  #undef fedAmbCallback1516_4_inl_
629 
630 }
631 
632 #endif
The DtTaCallback is a base class to store callback parameters.
#define DT_DLL_CSEC
Definition: clientServerExConnDllDefines.h:17

Document ID: Generated on Thu Dec 18 15:35:09 EST 2025 from SVN revision 282494
Copyright © 2024 MAK Technologies. All Rights Reserved (www.mak.com)