MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
fedAmbWrap1516e.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2010 MaK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: fedAmbWrap1516e.h,v $ $Revision: 1.0 $ $State: Exp $
7 *******************************************************************************/
8 #ifndef DtFedAmbWrapper_H_
9 #define DtFedAmbWrapper_H_
10 
11 #ifdef DtIFSPEC1516E
12 
13 #include "rtiMsConfig.h"
14 #include <RTI/Enums.h>
15 #include <RTI/Typedefs.h>
16 #include <RTI/NullFederateAmbassador.h>
17 
18 using namespace rti1516e;
19 
20 class DtFedAmbWrapper;
21 
22 typedef DtFedAmbWrapper* (*DtFedAmbWrapperCreator)
24 
25 class DT_DLL_LRC DtFedAmbWrapper : public rti1516e::NullFederateAmbassador
26 {
27 public:
29  rti1516e::NullFederateAmbassador(), myFedAmb(fedAmb){}
30 
31  virtual ~DtFedAmbWrapper()
32  throw() { }
33 
34  virtual rti1516e::FederateAmbassador* fedAmb();
35  virtual void setFedAmb(rti1516e::FederateAmbassador* f);
36 
37 protected:
39 
40 public:
41 
42  // 4.4
43  virtual void connectionLost (
44  std::wstring const & faultDescription)
45  throw (
46  FederateInternalError);
47 
48  // 4.8
49  virtual void reportFederationExecutions (
50  FederationExecutionInformationVector const &
51  theFederationExecutionInformationList)
52  throw (
53  FederateInternalError);
54 
55  // 4.12
57  std::wstring const & label)
58  throw (
59  FederateInternalError);
60 
62  std::wstring const & label,
63  SynchronizationPointFailureReason reason)
64  throw (
65  FederateInternalError);
66 
67  // 4.13
68  virtual void announceSynchronizationPoint (
69  std::wstring const & label,
70  VariableLengthData const & theUserSuppliedTag)
71  throw (
72  FederateInternalError);
73 
74  // 4.15
75  virtual void federationSynchronized (
76  std::wstring const & label,
77  FederateHandleSet const& failedToSyncSet)
78  throw (
79  FederateInternalError);
80 
81  // 4.17
82  virtual void initiateFederateSave (
83  std::wstring const & label)
84  throw (
85  FederateInternalError);
86 
87  virtual void initiateFederateSave (
88  std::wstring const & label,
89  LogicalTime const & theTime)
90  throw (
91  FederateInternalError);
92 
93  // 4.20
94  virtual void federationSaved ()
95  throw (
96  FederateInternalError);
97 
98  virtual void federationNotSaved (
99  SaveFailureReason theSaveFailureReason)
100  throw (
101  FederateInternalError);
102 
103 
104  // 4.23
105  virtual void federationSaveStatusResponse (
106  FederateHandleSaveStatusPairVector const &
107  theFederateStatusVector)
108  throw (
109  FederateInternalError);
110 
111  // 4.25
112  virtual void requestFederationRestoreSucceeded (
113  std::wstring const & label)
114  throw (
115  FederateInternalError);
116 
117  virtual void requestFederationRestoreFailed (
118  std::wstring const & label)
119  throw (
120  FederateInternalError);
121 
122  // 4.26
123  virtual void federationRestoreBegun ()
124  throw (
125  FederateInternalError);
126 
127  // 4.27
128  virtual void initiateFederateRestore (
129  std::wstring const & label,
130  std::wstring const & federateName,
131  FederateHandle handle)
132  throw (
133  FederateInternalError);
134 
135  // 4.29
136  virtual void federationRestored ()
137  throw (
138  FederateInternalError);
139 
140  virtual void federationNotRestored (
141  RestoreFailureReason theRestoreFailureReason)
142  throw (
143  FederateInternalError);
144 
145  // 4.32
146  virtual void federationRestoreStatusResponse (
147  FederateRestoreStatusVector const &
148  theFederateRestoreStatusVector)
149  throw (
150  FederateInternalError);
151 
153  // Declaration Management Services //
155 
156  // 5.10
157  virtual void startRegistrationForObjectClass (
158  ObjectClassHandle theClass)
159  throw (
160  FederateInternalError);
161 
162  // 5.11
163  virtual void stopRegistrationForObjectClass (
164  ObjectClassHandle theClass)
165  throw (
166  FederateInternalError);
167 
168  // 5.12
169  virtual void turnInteractionsOn (
170  InteractionClassHandle theHandle)
171  throw (
172  FederateInternalError);
173 
174  // 5.13
175  virtual void turnInteractionsOff (
176  InteractionClassHandle theHandle)
177  throw (
178  FederateInternalError);
179 
181  // Object Management Services //
183 
184  // 6.3
185  virtual void objectInstanceNameReservationSucceeded (
186  std::wstring const & theObjectInstanceName)
187  throw (
188  FederateInternalError);
189 
190  virtual void objectInstanceNameReservationFailed (
191  std::wstring const & theObjectInstanceName)
192  throw (
193  FederateInternalError);
194 
195  // 6.6
196  virtual void multipleObjectInstanceNameReservationSucceeded (
197  std::set<std::wstring> const & theObjectInstanceNames)
198  throw (
199  FederateInternalError);
200 
201  virtual void multipleObjectInstanceNameReservationFailed (
202  std::set<std::wstring> const & theObjectInstanceNames)
203  throw (
204  FederateInternalError);
205 
206  // 6.9
207  virtual void discoverObjectInstance (
208  ObjectInstanceHandle theObject,
209  ObjectClassHandle theObjectClass,
210  std::wstring const & theObjectInstanceName)
211  throw (
212  FederateInternalError);
213 
214  virtual void discoverObjectInstance (
215  ObjectInstanceHandle theObject,
216  ObjectClassHandle theObjectClass,
217  std::wstring const & theObjectInstanceName,
218  FederateHandle producingFederate)
219  throw (
220  FederateInternalError);
221 
222  // 6.11
223  virtual void reflectAttributeValues (
224  ObjectInstanceHandle theObject,
225  AttributeHandleValueMap const & theAttributeValues,
226  VariableLengthData const & theUserSuppliedTag,
227  OrderType sentOrder,
228  TransportationType theType,
229  SupplementalReflectInfo theReflectInfo)
230  throw (
231  FederateInternalError);
232 
233  virtual void reflectAttributeValues (
234  ObjectInstanceHandle theObject,
235  AttributeHandleValueMap const & theAttributeValues,
236  VariableLengthData const & theUserSuppliedTag,
237  OrderType sentOrder,
238  TransportationType theType,
239  LogicalTime const & theTime,
240  OrderType receivedOrder,
241  SupplementalReflectInfo theReflectInfo)
242  throw (
243  FederateInternalError);
244 
245  virtual void reflectAttributeValues (
246  ObjectInstanceHandle theObject,
247  AttributeHandleValueMap const & theAttributeValues,
248  VariableLengthData const & theUserSuppliedTag,
249  OrderType sentOrder,
250  TransportationType theType,
251  LogicalTime const & theTime,
252  OrderType receivedOrder,
253  MessageRetractionHandle theHandle,
254  SupplementalReflectInfo theReflectInfo)
255  throw (
256  FederateInternalError);
257 
258  // 6.13
259  virtual void receiveInteraction (
260  InteractionClassHandle theInteraction,
261  ParameterHandleValueMap const & theParameterValues,
262  VariableLengthData const & theUserSuppliedTag,
263  OrderType sentOrder,
264  TransportationType theType,
265  SupplementalReceiveInfo theReceiveInfo)
266  throw (
267  FederateInternalError);
268 
269  virtual void receiveInteraction (
270  InteractionClassHandle theInteraction,
271  ParameterHandleValueMap const & theParameterValues,
272  VariableLengthData const & theUserSuppliedTag,
273  OrderType sentOrder,
274  TransportationType theType,
275  LogicalTime const & theTime,
276  OrderType receivedOrder,
277  SupplementalReceiveInfo theReceiveInfo)
278  throw (
279  FederateInternalError);
280 
281  virtual void receiveInteraction (
282  InteractionClassHandle theInteraction,
283  ParameterHandleValueMap const & theParameterValues,
284  VariableLengthData const & theUserSuppliedTag,
285  OrderType sentOrder,
286  TransportationType theType,
287  LogicalTime const & theTime,
288  OrderType receivedOrder,
289  MessageRetractionHandle theHandle,
290  SupplementalReceiveInfo theReceiveInfo)
291  throw (
292  FederateInternalError);
293 
294  // 6.15
295  virtual void removeObjectInstance (
296  ObjectInstanceHandle theObject,
297  VariableLengthData const & theUserSuppliedTag,
298  OrderType sentOrder,
299  SupplementalRemoveInfo theRemoveInfo)
300  throw (
301  FederateInternalError);
302 
303  virtual void removeObjectInstance (
304  ObjectInstanceHandle theObject,
305  VariableLengthData const & theUserSuppliedTag,
306  OrderType sentOrder,
307  LogicalTime const & theTime,
308  OrderType receivedOrder,
309  SupplementalRemoveInfo theRemoveInfo)
310  throw (
311  FederateInternalError);
312 
313  virtual void removeObjectInstance (
314  ObjectInstanceHandle theObject,
315  VariableLengthData const & theUserSuppliedTag,
316  OrderType sentOrder,
317  LogicalTime const & theTime,
318  OrderType receivedOrder,
319  MessageRetractionHandle theHandle,
320  SupplementalRemoveInfo theRemoveInfo)
321  throw (
322  FederateInternalError);
323 
324  // 6.17
325  virtual void attributesInScope (
326  ObjectInstanceHandle theObject,
327  AttributeHandleSet const & theAttributes)
328  throw (
329  FederateInternalError);
330 
331  // 6.18
332  virtual void attributesOutOfScope (
333  ObjectInstanceHandle theObject,
334  AttributeHandleSet const & theAttributes)
335  throw (
336  FederateInternalError);
337 
338  // 6.20
339  virtual void provideAttributeValueUpdate (
340  ObjectInstanceHandle theObject,
341  AttributeHandleSet const & theAttributes,
342  VariableLengthData const & theUserSuppliedTag)
343  throw (
344  FederateInternalError);
345 
346  // 6.21
347  virtual void turnUpdatesOnForObjectInstance (
348  ObjectInstanceHandle theObject,
349  AttributeHandleSet const & theAttributes)
350  throw (
351  FederateInternalError);
352 
353  virtual void turnUpdatesOnForObjectInstance (
354  ObjectInstanceHandle theObject,
355  AttributeHandleSet const & theAttributes,
356  std::wstring const & updateRateDesignator)
357  throw (
358  FederateInternalError);
359 
360  // 6.22
361  virtual void turnUpdatesOffForObjectInstance (
362  ObjectInstanceHandle theObject,
363  AttributeHandleSet const & theAttributes)
364  throw (
365  FederateInternalError);
366 
367  // 6.24
368  virtual void confirmAttributeTransportationTypeChange (
369  ObjectInstanceHandle theObject,
370  AttributeHandleSet theAttributes,
371  TransportationType theTransportation)
372  throw (
373  FederateInternalError);
374 
375  // 6.26
376  virtual void reportAttributeTransportationType (
377  ObjectInstanceHandle theObject,
378  AttributeHandle theAttribute,
379  TransportationType theTransportation)
380  throw (
381  FederateInternalError);
382 
383  // 6.28
384  virtual void confirmInteractionTransportationTypeChange (
385  InteractionClassHandle theInteraction,
386  TransportationType theTransportation)
387  throw (
388  FederateInternalError);
389 
390  // 6.30
391  virtual void reportInteractionTransportationType (
392  FederateHandle federateHandle,
393  InteractionClassHandle theInteraction,
394  TransportationType theTransportation)
395  throw (
396  FederateInternalError);
397 
398 
400  // Ownership Management Services //
402 
403  // 7.4
405  ObjectInstanceHandle theObject,
406  AttributeHandleSet const & offeredAttributes,
407  VariableLengthData const & theUserSuppliedTag)
408  throw (
409  FederateInternalError);
410 
411  // 7.5
412  virtual void requestDivestitureConfirmation (
413  ObjectInstanceHandle theObject,
414  AttributeHandleSet const & releasedAttributes)
415  throw (
416  FederateInternalError);
417 
418  // 7.7
420  ObjectInstanceHandle theObject,
421  AttributeHandleSet const & securedAttributes,
422  VariableLengthData const & theUserSuppliedTag)
423  throw (
424  FederateInternalError);
425 
426  // 7.10
427  virtual void attributeOwnershipUnavailable (
428  ObjectInstanceHandle theObject,
429  AttributeHandleSet const & theAttributes)
430  throw (
431  FederateInternalError);
432 
433  // 7.11
434  virtual void requestAttributeOwnershipRelease (
435  ObjectInstanceHandle theObject,
436  AttributeHandleSet const & candidateAttributes,
437  VariableLengthData const & theUserSuppliedTag)
438  throw (
439  FederateInternalError);
440 
441  // 7.16
443  ObjectInstanceHandle theObject,
444  AttributeHandleSet const & theAttributes)
445  throw (
446  FederateInternalError);
447 
448  // 7.18
449  virtual void informAttributeOwnership (
450  ObjectInstanceHandle theObject,
451  AttributeHandle theAttribute,
452  FederateHandle theOwner)
453  throw (
454  FederateInternalError);
455 
456  virtual void attributeIsNotOwned (
457  ObjectInstanceHandle theObject,
458  AttributeHandle theAttribute)
459  throw (
460  FederateInternalError);
461 
462  virtual void attributeIsOwnedByRTI (
463  ObjectInstanceHandle theObject,
464  AttributeHandle theAttribute)
465  throw (
466  FederateInternalError);
467 
469  // Time Management Services //
471 
472  // 8.3
473  virtual void timeRegulationEnabled (
474  LogicalTime const & theFederateTime)
475  throw (
476  FederateInternalError);
477 
478  // 8.6
479  virtual void timeConstrainedEnabled (
480  LogicalTime const & theFederateTime)
481  throw (
482  FederateInternalError);
483 
484  // 8.13
485  virtual void timeAdvanceGrant (
486  LogicalTime const & theTime)
487  throw (
488  FederateInternalError);
489 
490  // 8.22
491  virtual void requestRetraction (
492  MessageRetractionHandle theHandle)
493  throw (
494  FederateInternalError);
495 };
496 
497 inline rti1516e::FederateAmbassador* DtFedAmbWrapper::fedAmb()
498 {
499  return myFedAmb;
500 }
501 
502 inline void DtFedAmbWrapper::setFedAmb(rti1516e::FederateAmbassador* f)
503 {
504  myFedAmb = f;
505 }
506 
507 // 4.4
508 inline void DtFedAmbWrapper::connectionLost (
509  std::wstring const & faultDescription)
510  throw (
511  FederateInternalError)
512 {
513  if( myFedAmb )
514  {
515  myFedAmb->connectionLost(faultDescription);
516  }
517 }
518 
519 // 4.8
520 inline void DtFedAmbWrapper::reportFederationExecutions (
521  FederationExecutionInformationVector const &
522  theFederationExecutionInformationList)
523  throw (
524  FederateInternalError)
525 {
526  if( myFedAmb )
527  {
528  myFedAmb->reportFederationExecutions(theFederationExecutionInformationList);
529  }
530 }
531 
532 // 4.12
534  std::wstring const & label)
535  throw (
536  FederateInternalError)
537 {
538  if( myFedAmb )
539  {
540  myFedAmb->synchronizationPointRegistrationSucceeded( label );
541  }
542 }
543 
545  std::wstring const & label,
546  SynchronizationPointFailureReason reason)
547  throw (
548  FederateInternalError)
549 {
550  if( myFedAmb )
551  {
552  myFedAmb->synchronizationPointRegistrationFailed(label,reason);
553  }
554 }
555 
556 // 4.13
558  std::wstring const & label,
559  VariableLengthData const & theUserSuppliedTag)
560  throw (
561  FederateInternalError)
562 {
563  if( myFedAmb )
564  {
565  myFedAmb->announceSynchronizationPoint(label,theUserSuppliedTag);
566  }
567 }
568 
569 // 4.15
571  std::wstring const & label,
572  FederateHandleSet const& failedToSyncSet)
573  throw (
574  FederateInternalError)
575 {
576  if( myFedAmb )
577  {
578  myFedAmb->federationSynchronized(label,failedToSyncSet);
579  }
580 }
581 
582 // 4.17
584  std::wstring const & label)
585  throw (
586  FederateInternalError)
587 {
588  if( myFedAmb )
589  {
590  myFedAmb->initiateFederateSave(label);
591  }
592 }
593 
595  std::wstring const & label,
596  LogicalTime const & theTime)
597  throw (
598  FederateInternalError)
599 {
600  if( myFedAmb )
601  {
602  myFedAmb->initiateFederateSave(label,theTime);
603  }
604 }
605 
606 // 4.20
608  throw (
609  FederateInternalError)
610 {
611  if( myFedAmb )
612  {
613  myFedAmb->federationSaved();
614  }
615 }
616 
618  SaveFailureReason theSaveFailureReason)
619  throw (
620  FederateInternalError)
621 {
622  if( myFedAmb )
623  {
624  myFedAmb->federationNotSaved(theSaveFailureReason);
625  }
626 }
627 
628 
629 // 4.23
630 inline void DtFedAmbWrapper::federationSaveStatusResponse (
631  FederateHandleSaveStatusPairVector const &
632  theFederateStatusVector)
633  throw (
634  FederateInternalError)
635 {
636  if( myFedAmb )
637  {
638  myFedAmb->federationSaveStatusResponse(theFederateStatusVector);
639  }
640 }
641 
642 // 4.25
644  std::wstring const & label)
645  throw (
646  FederateInternalError)
647 {
648  if( myFedAmb )
649  {
650  myFedAmb->requestFederationRestoreSucceeded(label);
651  }
652 }
653 
655  std::wstring const & label)
656  throw (
657  FederateInternalError)
658 {
659  if( myFedAmb )
660  {
661  myFedAmb->requestFederationRestoreFailed(label);
662  }
663 }
664 
665 // 4.26
667  throw (
668  FederateInternalError)
669 {
670  if( myFedAmb )
671  {
672  myFedAmb->federationRestoreBegun();
673  }
674 }
675 
676 // 4.27
678  std::wstring const & label,
679  std::wstring const & federateName,
680  FederateHandle handle)
681  throw (
682  FederateInternalError)
683 {
684  if( myFedAmb )
685  {
686  myFedAmb->initiateFederateRestore(label,federateName,handle);
687  }
688 }
689 
690 // 4.29
692  throw (
693  FederateInternalError)
694 {
695  if( myFedAmb )
696  {
697  myFedAmb->federationRestored();
698  }
699 }
700 
702  RestoreFailureReason theRestoreFailureReason)
703  throw (
704  FederateInternalError)
705 {
706  if( myFedAmb )
707  {
708  myFedAmb->federationNotRestored(theRestoreFailureReason);
709  }
710 }
711 
712 // 4.32
713 inline void DtFedAmbWrapper::federationRestoreStatusResponse (
714  FederateRestoreStatusVector const &
715  theFederateRestoreStatusVector)
716  throw (
717  FederateInternalError)
718 {
719  if( myFedAmb )
720  {
721  myFedAmb->federationRestoreStatusResponse( theFederateRestoreStatusVector );
722  }
723 }
724 
726 // Declaration Management Services //
728 
729 // 5.10
731  ObjectClassHandle theClass)
732  throw (
733  FederateInternalError)
734 {
735  if( myFedAmb )
736  {
737  myFedAmb->startRegistrationForObjectClass(theClass);
738  }
739 }
740 
741 // 5.11
743  ObjectClassHandle theClass)
744  throw (
745  FederateInternalError)
746 {
747  if( myFedAmb )
748  {
749  myFedAmb->stopRegistrationForObjectClass(theClass);
750  }
751 }
752 
753 // 5.12
755  InteractionClassHandle theHandle)
756  throw (
757  FederateInternalError)
758 {
759  if( myFedAmb )
760  {
761  myFedAmb->turnInteractionsOn(theHandle);
762  }
763 }
764 
765 // 5.13
767  InteractionClassHandle theHandle)
768  throw (
769  FederateInternalError)
770 {
771  if( myFedAmb )
772  {
773  myFedAmb->turnInteractionsOff(theHandle);
774  }
775 }
776 
778 // Object Management Services //
780 
781 // 6.3
782 inline void DtFedAmbWrapper::objectInstanceNameReservationSucceeded (
783  std::wstring const & theObjectInstanceName)
784  throw (
785  FederateInternalError)
786 {
787  if( myFedAmb )
788  {
789  myFedAmb->objectInstanceNameReservationSucceeded(theObjectInstanceName);
790  }
791 }
792 
793 inline void DtFedAmbWrapper::objectInstanceNameReservationFailed (
794  std::wstring const & theObjectInstanceName)
795  throw (
796  FederateInternalError)
797 {
798  if( myFedAmb )
799  {
800  myFedAmb->objectInstanceNameReservationFailed(theObjectInstanceName);
801  }
802 }
803 
804 // 6.6
805 inline void DtFedAmbWrapper::multipleObjectInstanceNameReservationSucceeded (
806  std::set<std::wstring> const & theObjectInstanceNames)
807  throw (
808  FederateInternalError)
809 {
810  if( myFedAmb )
811  {
812  myFedAmb->multipleObjectInstanceNameReservationSucceeded( theObjectInstanceNames );
813  }
814 }
815 
816 inline void DtFedAmbWrapper::multipleObjectInstanceNameReservationFailed (
817  std::set<std::wstring> const & theObjectInstanceNames)
818  throw (
819  FederateInternalError)
820 {
821  if( myFedAmb )
822  {
823  myFedAmb->multipleObjectInstanceNameReservationFailed(theObjectInstanceNames);
824  }
825 }
826 
827 // 6.9
829  ObjectInstanceHandle theObject,
830  ObjectClassHandle theObjectClass,
831  std::wstring const & theObjectInstanceName)
832  throw (
833  FederateInternalError)
834 {
835  if( myFedAmb )
836  {
837  myFedAmb->discoverObjectInstance(theObject,theObjectClass,theObjectInstanceName);
838  }
839 }
840 
842  ObjectInstanceHandle theObject,
843  ObjectClassHandle theObjectClass,
844  std::wstring const & theObjectInstanceName,
845  FederateHandle producingFederate)
846  throw (
847  FederateInternalError)
848 {
849  if( myFedAmb )
850  {
851  myFedAmb->discoverObjectInstance(theObject,theObjectClass,theObjectInstanceName,producingFederate);
852  }
853 }
854 
855 // 6.11
857  ObjectInstanceHandle theObject,
858  AttributeHandleValueMap const & theAttributeValues,
859  VariableLengthData const & theUserSuppliedTag,
860  OrderType sentOrder,
861  TransportationType theType,
862  SupplementalReflectInfo theReflectInfo)
863  throw (
864  FederateInternalError)
865 {
866  if( myFedAmb )
867  {
868  myFedAmb->reflectAttributeValues(theObject,
869  theAttributeValues,
870  theUserSuppliedTag,
871  sentOrder,
872  theType,
873  theReflectInfo);
874  }
875 }
876 
878  ObjectInstanceHandle theObject,
879  AttributeHandleValueMap const & theAttributeValues,
880  VariableLengthData const & theUserSuppliedTag,
881  OrderType sentOrder,
882  TransportationType theType,
883  LogicalTime const & theTime,
884  OrderType receivedOrder,
885  SupplementalReflectInfo theReflectInfo)
886  throw (
887  FederateInternalError)
888 {
889  if( myFedAmb )
890  {
891  myFedAmb->reflectAttributeValues(theObject,
892  theAttributeValues,
893  theUserSuppliedTag,
894  sentOrder,
895  theType,
896  theTime,
897  receivedOrder,
898  theReflectInfo);
899  }
900 }
901 
903  ObjectInstanceHandle theObject,
904  AttributeHandleValueMap const & theAttributeValues,
905  VariableLengthData const & theUserSuppliedTag,
906  OrderType sentOrder,
907  TransportationType theType,
908  LogicalTime const & theTime,
909  OrderType receivedOrder,
910  MessageRetractionHandle theHandle,
911  SupplementalReflectInfo theReflectInfo)
912  throw (
913  FederateInternalError)
914 {
915  if( myFedAmb )
916  {
917  myFedAmb->reflectAttributeValues(theObject,
918  theAttributeValues,
919  theUserSuppliedTag,
920  sentOrder,
921  theType,
922  theTime,
923  receivedOrder,
924  theHandle,
925  theReflectInfo);
926  }
927 }
928 
929 // 6.13
931  InteractionClassHandle theInteraction,
932  ParameterHandleValueMap const & theParameterValues,
933  VariableLengthData const & theUserSuppliedTag,
934  OrderType sentOrder,
935  TransportationType theType,
936  SupplementalReceiveInfo theReceiveInfo)
937  throw (
938  FederateInternalError)
939 {
940  if( myFedAmb )
941  {
942  myFedAmb->receiveInteraction(theInteraction,
943  theParameterValues,
944  theUserSuppliedTag,
945  sentOrder,
946  theType,
947  theReceiveInfo);
948  }
949 }
950 
952  InteractionClassHandle theInteraction,
953  ParameterHandleValueMap const & theParameterValues,
954  VariableLengthData const & theUserSuppliedTag,
955  OrderType sentOrder,
956  TransportationType theType,
957  LogicalTime const & theTime,
958  OrderType receivedOrder,
959  SupplementalReceiveInfo theReceiveInfo)
960  throw (
961  FederateInternalError)
962 {
963  if( myFedAmb )
964  {
965  myFedAmb->receiveInteraction(theInteraction,
966  theParameterValues,
967  theUserSuppliedTag,
968  sentOrder,
969  theType,
970  theTime,
971  receivedOrder,
972  theReceiveInfo);
973  }
974 }
975 
977  InteractionClassHandle theInteraction,
978  ParameterHandleValueMap const & theParameterValues,
979  VariableLengthData const & theUserSuppliedTag,
980  OrderType sentOrder,
981  TransportationType theType,
982  LogicalTime const & theTime,
983  OrderType receivedOrder,
984  MessageRetractionHandle theHandle,
985  SupplementalReceiveInfo theReceiveInfo)
986  throw (
987  FederateInternalError)
988 {
989  if( myFedAmb )
990  {
991  myFedAmb->receiveInteraction(theInteraction,
992  theParameterValues,
993  theUserSuppliedTag,
994  sentOrder,
995  theType,
996  theTime,
997  receivedOrder,
998  theHandle,
999  theReceiveInfo);
1000  }
1001 }
1002 
1003 // 6.15
1005  ObjectInstanceHandle theObject,
1006  VariableLengthData const & theUserSuppliedTag,
1007  OrderType sentOrder,
1008  SupplementalRemoveInfo theRemoveInfo)
1009  throw (
1010  FederateInternalError)
1011 {
1012  if( myFedAmb )
1013  {
1014  myFedAmb->removeObjectInstance(theObject,
1015  theUserSuppliedTag,
1016  sentOrder,
1017  theRemoveInfo);
1018  }
1019 }
1020 
1022  ObjectInstanceHandle theObject,
1023  VariableLengthData const & theUserSuppliedTag,
1024  OrderType sentOrder,
1025  LogicalTime const & theTime,
1026  OrderType receivedOrder,
1027  SupplementalRemoveInfo theRemoveInfo)
1028  throw (
1029  FederateInternalError)
1030 {
1031  if( myFedAmb )
1032  {
1033  myFedAmb->removeObjectInstance(theObject,
1034  theUserSuppliedTag,
1035  sentOrder,
1036  theTime,
1037  receivedOrder,
1038  theRemoveInfo);
1039  }
1040 }
1041 
1043  ObjectInstanceHandle theObject,
1044  VariableLengthData const & theUserSuppliedTag,
1045  OrderType sentOrder,
1046  LogicalTime const & theTime,
1047  OrderType receivedOrder,
1048  MessageRetractionHandle theHandle,
1049  SupplementalRemoveInfo theRemoveInfo)
1050  throw (
1051  FederateInternalError)
1052 {
1053  if( myFedAmb )
1054  {
1055  myFedAmb->removeObjectInstance(theObject,
1056  theUserSuppliedTag,
1057  sentOrder,
1058  theTime,
1059  receivedOrder,
1060  theHandle,
1061  theRemoveInfo);
1062  }
1063 }
1064 
1065 // 6.17
1067  ObjectInstanceHandle theObject,
1068  AttributeHandleSet const & theAttributes)
1069  throw (
1070  FederateInternalError)
1071 {
1072  if( myFedAmb )
1073  {
1074  myFedAmb->attributesInScope(theObject,
1075  theAttributes);
1076  }
1077 }
1078 
1079 // 6.18
1081  ObjectInstanceHandle theObject,
1082  AttributeHandleSet const & theAttributes)
1083  throw (
1084  FederateInternalError)
1085 {
1086  if( myFedAmb )
1087  {
1088  myFedAmb->attributesOutOfScope(theObject,
1089  theAttributes);
1090  }
1091 }
1092 
1093 // 6.20
1095  ObjectInstanceHandle theObject,
1096  AttributeHandleSet const & theAttributes,
1097  VariableLengthData const & theUserSuppliedTag)
1098  throw (
1099  FederateInternalError)
1100 {
1101  if( myFedAmb )
1102  {
1103  myFedAmb->provideAttributeValueUpdate(theObject,
1104  theAttributes,
1105  theUserSuppliedTag);
1106  }
1107 }
1108 
1109 // 6.21
1111  ObjectInstanceHandle theObject,
1112  AttributeHandleSet const & theAttributes)
1113  throw (
1114  FederateInternalError)
1115 {
1116  if( myFedAmb )
1117  {
1118  myFedAmb->turnUpdatesOnForObjectInstance(theObject,
1119  theAttributes);
1120  }
1121 }
1122 
1124  ObjectInstanceHandle theObject,
1125  AttributeHandleSet const & theAttributes,
1126  std::wstring const & updateRateDesignator)
1127  throw (
1128  FederateInternalError)
1129 {
1130  if( myFedAmb )
1131  {
1132  myFedAmb->turnUpdatesOnForObjectInstance(theObject,
1133  theAttributes,
1134  updateRateDesignator);
1135  }
1136 }
1137 
1138 // 6.22
1140  ObjectInstanceHandle theObject,
1141  AttributeHandleSet const & theAttributes)
1142  throw (
1143  FederateInternalError)
1144 {
1145  if( myFedAmb )
1146  {
1147  myFedAmb->turnUpdatesOffForObjectInstance(theObject,
1148  theAttributes);
1149  }
1150 }
1151 
1152 // 6.24
1153 inline void DtFedAmbWrapper::confirmAttributeTransportationTypeChange (
1154  ObjectInstanceHandle theObject,
1155  AttributeHandleSet theAttributes,
1156  TransportationType theTransportation)
1157  throw (
1158  FederateInternalError)
1159 {
1160  if( myFedAmb )
1161  {
1162  myFedAmb->confirmAttributeTransportationTypeChange(theObject,
1163  theAttributes,
1164  theTransportation);
1165  }
1166 }
1167 
1168 // 6.26
1169 inline void DtFedAmbWrapper::reportAttributeTransportationType (
1170  ObjectInstanceHandle theObject,
1171  AttributeHandle theAttribute,
1172  TransportationType theTransportation)
1173  throw (
1174  FederateInternalError)
1175 {
1176  if( myFedAmb )
1177  {
1178  myFedAmb->reportAttributeTransportationType(theObject,
1179  theAttribute,
1180  theTransportation);
1181  }
1182 }
1183 
1184 // 6.28
1185 inline void DtFedAmbWrapper::confirmInteractionTransportationTypeChange (
1186  InteractionClassHandle theInteraction,
1187  TransportationType theTransportation)
1188  throw (
1189  FederateInternalError)
1190 {
1191  if( myFedAmb )
1192  {
1193  myFedAmb->confirmInteractionTransportationTypeChange(theInteraction,
1194  theTransportation);
1195  }
1196 }
1197 
1198 // 6.30
1199 inline void DtFedAmbWrapper::reportInteractionTransportationType (
1200  FederateHandle federateHandle,
1201  InteractionClassHandle theInteraction,
1202  TransportationType theTransportation)
1203  throw (
1204  FederateInternalError)
1205 {
1206  if( myFedAmb )
1207  {
1208  myFedAmb->reportInteractionTransportationType(federateHandle,
1209  theInteraction,
1210  theTransportation);
1211  }
1212 }
1213 
1214 
1216 // Ownership Management Services //
1218 
1219 // 7.4
1221  ObjectInstanceHandle theObject,
1222  AttributeHandleSet const & offeredAttributes,
1223  VariableLengthData const & theUserSuppliedTag)
1224  throw (
1225  FederateInternalError)
1226 {
1227  if( myFedAmb )
1228  {
1229  myFedAmb->requestAttributeOwnershipAssumption(theObject,
1230  offeredAttributes,
1231  theUserSuppliedTag);
1232  }
1233 }
1234 
1235 // 7.5
1236 inline void DtFedAmbWrapper::requestDivestitureConfirmation (
1237  ObjectInstanceHandle theObject,
1238  AttributeHandleSet const & releasedAttributes)
1239  throw (
1240  FederateInternalError)
1241 {
1242  if( myFedAmb )
1243  {
1244  myFedAmb->requestDivestitureConfirmation(theObject,
1245  releasedAttributes);
1246  }
1247 }
1248 
1249 // 7.7
1251  ObjectInstanceHandle theObject,
1252  AttributeHandleSet const & securedAttributes,
1253  VariableLengthData const & theUserSuppliedTag)
1254  throw (
1255  FederateInternalError)
1256 {
1257  if( myFedAmb )
1258  {
1259  myFedAmb->attributeOwnershipAcquisitionNotification(theObject,
1260  securedAttributes,
1261  theUserSuppliedTag);
1262  }
1263 }
1264 
1265 // 7.10
1267  ObjectInstanceHandle theObject,
1268  AttributeHandleSet const & theAttributes)
1269  throw (
1270  FederateInternalError)
1271 {
1272  if( myFedAmb )
1273  {
1274  myFedAmb->attributeOwnershipUnavailable(theObject,
1275  theAttributes);
1276  }
1277 }
1278 
1279 // 7.11
1281  ObjectInstanceHandle theObject,
1282  AttributeHandleSet const & candidateAttributes,
1283  VariableLengthData const & theUserSuppliedTag)
1284  throw (
1285  FederateInternalError)
1286 {
1287  if( myFedAmb )
1288  {
1289  myFedAmb->requestAttributeOwnershipRelease(theObject,
1290  candidateAttributes,
1291  theUserSuppliedTag);
1292  }
1293 }
1294 
1295 // 7.16
1297  ObjectInstanceHandle theObject,
1298  AttributeHandleSet const & theAttributes)
1299  throw (
1300  FederateInternalError)
1301 {
1302  if( myFedAmb )
1303  {
1304  myFedAmb->confirmAttributeOwnershipAcquisitionCancellation(theObject,
1305  theAttributes);
1306  }
1307 }
1308 
1309 // 7.18
1311  ObjectInstanceHandle theObject,
1312  AttributeHandle theAttribute,
1313  FederateHandle theOwner)
1314  throw (
1315  FederateInternalError)
1316 {
1317  if( myFedAmb )
1318  {
1319  myFedAmb->informAttributeOwnership(theObject,
1320  theAttribute,
1321  theOwner);
1322  }
1323 }
1324 
1326  ObjectInstanceHandle theObject,
1327  AttributeHandle theAttribute)
1328  throw (
1329  FederateInternalError)
1330 {
1331  if( myFedAmb )
1332  {
1333  myFedAmb->attributeIsNotOwned(theObject,
1334  theAttribute);
1335  }
1336 }
1337 
1338 inline void DtFedAmbWrapper::attributeIsOwnedByRTI (
1339  ObjectInstanceHandle theObject,
1340  AttributeHandle theAttribute)
1341  throw (
1342  FederateInternalError)
1343 {
1344  if( myFedAmb )
1345  {
1346  myFedAmb->attributeIsOwnedByRTI(theObject,
1347  theAttribute);
1348  }
1349 }
1350 
1352 // Time Management Services //
1354 
1355 // 8.3
1357  LogicalTime const & theFederateTime)
1358  throw (
1359  FederateInternalError)
1360 {
1361  if( myFedAmb )
1362  {
1363  myFedAmb->timeRegulationEnabled(theFederateTime);
1364  }
1365 }
1366 
1367 // 8.6
1369  LogicalTime const & theFederateTime)
1370  throw (
1371  FederateInternalError)
1372 {
1373  if( myFedAmb )
1374  {
1375  myFedAmb->timeConstrainedEnabled(theFederateTime);
1376  }
1377 }
1378 
1379 // 8.13
1381  LogicalTime const & theTime)
1382  throw (
1383  FederateInternalError)
1384 {
1385  if( myFedAmb )
1386  {
1387  myFedAmb->timeAdvanceGrant(theTime);
1388  }
1389 }
1390 
1391 // 8.22
1393  MessageRetractionHandle theHandle)
1394  throw (
1395  FederateInternalError)
1396 {
1397  if( myFedAmb )
1398  {
1399  myFedAmb->requestRetraction( theHandle );
1400  }
1401 }
1402 
1403 
1404 #endif // DtIFSPEC1516E
1405 #endif // DtFedAmbWrapper_H_
virtual void requestAttributeOwnershipRelease(ObjectHandle theObject, const AttributeHandleSet &candidateAttributes, const char *theTag)=0
7.10
virtual void attributesOutOfScope(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
6.14
virtual void informAttributeOwnership(ObjectHandle theObject, AttributeHandle theAttribute, FederateHandle theOwner)=0
7.16
virtual void initiateFederateRestore(const char *label, FederateHandle handle)=0
4.19
virtual void confirmAttributeOwnershipAcquisitionCancellation(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
7.14
virtual void startRegistrationForObjectClass(ObjectClassHandle theClass)=0
! Declaration Management Services //!
virtual void requestRetraction(EventRetractionHandle theHandle)=0
8.22
virtual void synchronizationPointRegistrationFailed(const char *label)=0
supplied C4)
ULong InteractionClassHandle
Definition: RTItypes13.h:106
virtual void federationNotRestored()=0
virtual void attributesInScope(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
6.13
virtual void attributeOwnershipUnavailable(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
7.9
virtual void receiveInteraction(InteractionClassHandle theInteraction, const ParameterHandleValuePairSet &theParameters, const FedTime &theTime, const char *theTag, EventRetractionHandle theHandle)=0
6.7
virtual void removeObjectInstance(ObjectHandle theObject, const FedTime &theTime, const char *theTag, EventRetractionHandle theHandle)=0
6.9
virtual void synchronizationPointRegistrationSucceeded(const char *label)=0
RTI Parameter Passing Memory Conventions.
virtual void initiateFederateSave(const char *label)=0
4.12
virtual void timeAdvanceGrant(const FedTime &theTime)=0
8.13
virtual void announceSynchronizationPoint(const char *label, const char *tag)=0
4.8
virtual void requestFederationRestoreFailed(const char *label, const char *reason)=0
supplied C4
virtual void federationNotSaved()=0
virtual void federationSynchronized(const char *label)=0
4.10
virtual void discoverObjectInstance(ObjectHandle theObject, ObjectClassHandle theObjectClass, const char *theObjectName)=0
! Object Management Services //!
virtual void requestFederationRestoreSucceeded(const char *label)=0
4.17
virtual void attributeOwnershipAcquisitionNotification(ObjectHandle theObject, const AttributeHandleSet &securedAttributes)=0
7.6
virtual void reflectAttributeValues(ObjectHandle theObject, const AttributeHandleValuePairSet &theAttributes, const FedTime &theTime, const char *theTag, EventRetractionHandle theHandle)=0
6.5
virtual void turnInteractionsOff(InteractionClassHandle theHandle)=0
5.13
virtual void federationRestored()=0
4.21
virtual void provideAttributeValueUpdate(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
6.16
virtual void turnUpdatesOffForObjectInstance(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
6.18
ULong FederateHandle
Definition: RTItypes13.h:120
virtual void requestAttributeOwnershipAssumption(ObjectHandle theObject, const AttributeHandleSet &offeredAttributes, const char *theTag)=0
! Ownership Management Services //!
virtual Boolean throw(SpecifiedSaveLabelDoesNotExist, ConcurrentAccessAttempted, RTIinternalError)
virtual void turnUpdatesOnForObjectInstance(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
6.17
An abstract base class which must be implemented, and used by a federate.
virtual void stopRegistrationForObjectClass(ObjectClassHandle theClass)=0
5.11
virtual void attributeIsNotOwned(ObjectHandle theObject, AttributeHandle theAttribute)=0
supplied C1
#define DT_DLL_LRC
Definition: rtiMsConfig.h:126
virtual void federationRestoreBegun()=0
4.18
virtual void federationSaved()=0
4.15
ULong ObjectClassHandle
Definition: RTItypes13.h:104
virtual void timeConstrainedEnabled(const FedTime &theFederateTime)=0
8.6
OrderingHandle OrderType
Definition: RTItypes13.h:128
virtual void timeRegulationEnabled(const FedTime &theFederateTime)=0
! Time Management Services //!
virtual void turnInteractionsOn(InteractionClassHandle theHandle)=0
5.12
Handle AttributeHandle
Definition: RTItypes13.h:112

Document ID: Generated on Mon Sep 7 15:40:32 EDT 2020 from SVN revision 217499
Copyright © 2005-2020 MAK Technologies Inc. All Rights Reserved (www.mak.com)