VR-Link API Documentation for DIS
dirRtiAmb1516.h
Go to the documentation of this file.
1 /*********************************************************************
2  ** Copyright (c) 1992-2010 VT MAK
3  ** All rights reserved.
4  *********************************************************************/
5 
8 
9 #pragma once
10 
11 #if DtHLA
12 #if DtHLA_1516
13 #ifndef DtHLA_1516_EVOLVED
14 #include <vlutil/vlMachineTypes.h>
15 #include "vrlRtiAmb1516.h"
16 #include "rtiNamespace.h"
17 
18 
19 using namespace RTI;
20 
21 
29 class DT_DLL_VL DtDirectRtiAmbassador : public DtVrlRtiAmbassador
30 {
31 
32 public:
33 
36  DtDirectRtiAmbassador(const std::vector<std::wstring>& createArguments =
37  std::vector<std::wstring>() )
38  throw(BadInitializationParameter,
39  RTIinternalError);
40 
41  virtual ~DtDirectRtiAmbassador();
42 
43 private:
45  DtDirectRtiAmbassador(const DtDirectRtiAmbassador &other);
46 
48  DtDirectRtiAmbassador& operator=(const DtDirectRtiAmbassador &other);
49 
50 public:
51 
53  virtual RTI::RTIambassador* rtiAmb();
54 
56  virtual void createFederationExecution
57  (std::wstring const & federationExecutionName,
58  std::wstring const & fullPathNameToTheFDDfile,
59  std::wstring const & logicalTimeImplementationName = L"")
60  throw (FederationExecutionAlreadyExists,
61  CouldNotOpenFDD,
62  ErrorReadingFDD,
63  RTIinternalError) ;
64 
66  virtual void destroyFederationExecution
67  (std::wstring const & federationExecutionName)
68  throw (FederatesCurrentlyJoined,
69  FederationExecutionDoesNotExist,
70  RTIinternalError);
71 
73  virtual FederateHandle joinFederationExecution
74  (std::wstring const & federateType,
75  std::wstring const & federationExecutionName,
76  FederateAmbassador & federateAmbassador)
77  throw (FederateAlreadyExecutionMember,
78  FederationExecutionDoesNotExist,
79  SaveInProgress,
80  RestoreInProgress,
81  RTIinternalError) ;
82 
84  virtual void resignFederationExecution
85  (ResignAction resignAction)
86  throw (OwnershipAcquisitionPending,
87  FederateOwnsAttributes,
88  FederateNotExecutionMember,
89  RTIinternalError) ;
90 
92  virtual void registerFederationSynchronizationPoint
93  (std::wstring const & label,
94  RTI::VariableLengthData const & aTag)
95  throw (FederateNotExecutionMember,
96  SaveInProgress,
97  RestoreInProgress,
98  RTIinternalError) ;
99 
100  virtual void registerFederationSynchronizationPoint
101  (std::wstring const & label,
102  RTI::VariableLengthData const & aTag,
103  FederateHandleSet const & syncSet)
104  throw (FederateNotExecutionMember,
105  SaveInProgress,
106  RestoreInProgress,
107  RTIinternalError) ;
108 
110  virtual void synchronizationPointAchieved
111  (std::wstring const & label)
112  throw (SynchronizationPointLabelNotAnnounced,
113  FederateNotExecutionMember,
114  SaveInProgress,
115  RestoreInProgress,
116  RTIinternalError) ;
117 
119  virtual void requestFederationSave
120  (std::wstring const & label)
121  throw (FederateNotExecutionMember,
122  SaveInProgress,
123  RestoreInProgress,
124  RTIinternalError) ;
125 
126  virtual void requestFederationSave
127  (std::wstring const & label,
128  LogicalTime const & theTime)
129  throw (LogicalTimeAlreadyPassed,
130  InvalidLogicalTime,
131  FederateUnableToUseTime,
132  FederateNotExecutionMember,
133  SaveInProgress,
134  RestoreInProgress,
135  RTIinternalError) ;
136 
138  virtual void federateSaveBegun ()
139  throw (SaveNotInitiated,
140  FederateNotExecutionMember,
141  RestoreInProgress,
142  RTIinternalError) ;
143 
145  virtual void federateSaveComplete ()
146  throw (FederateHasNotBegunSave,
147  FederateNotExecutionMember,
148  RestoreInProgress,
149  RTIinternalError) ;
150 
151  virtual void federateSaveNotComplete()
152  throw (FederateHasNotBegunSave,
153  FederateNotExecutionMember,
154  RestoreInProgress,
155  RTIinternalError) ;
156 
158  virtual void queryFederationSaveStatus ()
159  throw (FederateNotExecutionMember,
160  RestoreInProgress,
161  RTIinternalError) ;
162 
164  virtual void requestFederationRestore
165  (std::wstring const & label)
166  throw (FederateNotExecutionMember,
167  SaveInProgress,
168  RestoreInProgress,
169  RTIinternalError) ;
170 
172  virtual void federateRestoreComplete ()
173  throw (RestoreNotRequested,
174  FederateNotExecutionMember,
175  SaveInProgress,
176  RTIinternalError) ;
177 
178  virtual void federateRestoreNotComplete ()
179  throw (RestoreNotRequested,
180  FederateNotExecutionMember,
181  SaveInProgress,
182  RTIinternalError) ;
183 
185  virtual void queryFederationRestoreStatus ()
186  throw (FederateNotExecutionMember,
187  SaveInProgress,
188  RTIinternalError) ;
189 
193 
195  virtual void publishObjectClassAttributes
196  (ObjectClassHandle theClass,
197  AttributeHandleSet const & attributeList)
198  throw (ObjectClassNotDefined,
199  AttributeNotDefined,
200  FederateNotExecutionMember,
201  SaveInProgress,
202  RestoreInProgress,
203  RTIinternalError) ;
204 
206  virtual void unpublishObjectClass
207  (ObjectClassHandle theClass)
208  throw (ObjectClassNotDefined,
209  OwnershipAcquisitionPending,
210  FederateNotExecutionMember,
211  SaveInProgress,
212  RestoreInProgress,
213  RTIinternalError) ;
214 
215  virtual void unpublishObjectClassAttributes
216  (ObjectClassHandle theClass,
217  AttributeHandleSet const & attributeList)
218  throw (ObjectClassNotDefined,
219  AttributeNotDefined,
220  OwnershipAcquisitionPending,
221  FederateNotExecutionMember,
222  SaveInProgress,
223  RestoreInProgress,
224  RTIinternalError) ;
225 
227  virtual void publishInteractionClass
228  (InteractionClassHandle theInteraction)
229  throw (InteractionClassNotDefined,
230  FederateNotExecutionMember,
231  SaveInProgress,
232  RestoreInProgress,
233  RTIinternalError) ;
234 
236  virtual void unpublishInteractionClass
237  (InteractionClassHandle theInteraction)
238  throw (InteractionClassNotDefined,
239  FederateNotExecutionMember,
240  SaveInProgress,
241  RestoreInProgress,
242  RTIinternalError) ;
243 
245  virtual void subscribeObjectClassAttributes
246  (ObjectClassHandle theClass,
247  AttributeHandleSet const & attributeList,
248  bool active = true)
249  throw (ObjectClassNotDefined,
250  AttributeNotDefined,
251  FederateNotExecutionMember,
252  SaveInProgress,
253  RestoreInProgress,
254  RTIinternalError) ;
255 
257  virtual void unsubscribeObjectClass
258  (ObjectClassHandle theClass)
259  throw (ObjectClassNotDefined,
260  FederateNotExecutionMember,
261  SaveInProgress,
262  RestoreInProgress,
263  RTIinternalError) ;
264 
265  virtual void unsubscribeObjectClassAttributes
266  (ObjectClassHandle theClass,
267  AttributeHandleSet const & attributeList)
268  throw (ObjectClassNotDefined,
269  AttributeNotDefined,
270  FederateNotExecutionMember,
271  SaveInProgress,
272  RestoreInProgress,
273  RTIinternalError) ;
274 
276  virtual void subscribeInteractionClass
277  (InteractionClassHandle theClass,
278  bool active = true)
279  throw (InteractionClassNotDefined,
280  FederateServiceInvocationsAreBeingReportedViaMOM,
281  FederateNotExecutionMember,
282  SaveInProgress,
283  RestoreInProgress,
284  RTIinternalError) ;
285 
287  virtual void unsubscribeInteractionClass
288  (InteractionClassHandle theClass)
289  throw (InteractionClassNotDefined,
290  FederateNotExecutionMember,
291  SaveInProgress,
292  RestoreInProgress,
293  RTIinternalError) ;
294 
298 
300  virtual void reserveObjectInstanceName
301  (std::wstring const & theObjectInstanceName)
302  throw (IllegalName,
303  FederateNotExecutionMember,
304  SaveInProgress,
305  RestoreInProgress,
306  RTIinternalError) ;
307 
309  virtual ObjectInstanceHandle registerObjectInstance
310  (ObjectClassHandle theClass)
311  throw (ObjectClassNotDefined,
312  ObjectClassNotPublished,
313  FederateNotExecutionMember,
314  SaveInProgress,
315  RestoreInProgress,
316  RTIinternalError) ;
317 
318  virtual ObjectInstanceHandle registerObjectInstance
319  (ObjectClassHandle theClass,
320  std::wstring const & theObjectInstanceName)
321  throw (ObjectClassNotDefined,
322  ObjectClassNotPublished,
323  ObjectInstanceNameNotReserved,
324  ObjectInstanceNameInUse,
325  FederateNotExecutionMember,
326  SaveInProgress,
327  RestoreInProgress,
328  RTIinternalError) ;
329 
331  virtual void updateAttributeValues
332  (ObjectInstanceHandle theObject,
333  AttributeHandleValueMap const & theAttributeValues,
334  RTI::VariableLengthData const & aTag)
335  throw (ObjectInstanceNotKnown,
336  AttributeNotDefined,
337  AttributeNotOwned,
338  FederateNotExecutionMember,
339  SaveInProgress,
340  RestoreInProgress,
341  RTIinternalError) ;
342 
343  virtual MessageRetractionHandle updateAttributeValues
344  (ObjectInstanceHandle theObject,
345  AttributeHandleValueMap const & theAttributeValues,
346  RTI::VariableLengthData const & aTag,
347  LogicalTime const & theTime)
348  throw (ObjectInstanceNotKnown,
349  AttributeNotDefined,
350  AttributeNotOwned,
351  InvalidLogicalTime,
352  FederateNotExecutionMember,
353  SaveInProgress,
354  RestoreInProgress,
355  RTIinternalError) ;
356 
358  virtual void sendInteraction
359  (InteractionClassHandle theInteraction,
360  ParameterHandleValueMap const & theParameterValues,
361  RTI::VariableLengthData const & aTag)
362  throw (InteractionClassNotPublished,
363  InteractionClassNotDefined,
364  InteractionParameterNotDefined,
365  FederateNotExecutionMember,
366  SaveInProgress,
367  RestoreInProgress,
368  RTIinternalError) ;
369 
370  virtual MessageRetractionHandle sendInteraction
371  (InteractionClassHandle theInteraction,
372  ParameterHandleValueMap const & theParameterValues,
373  RTI::VariableLengthData const & aTag,
374  LogicalTime const & theTime)
375  throw (InteractionClassNotPublished,
376  InteractionClassNotDefined,
377  InteractionParameterNotDefined,
378  InvalidLogicalTime,
379  FederateNotExecutionMember,
380  SaveInProgress,
381  RestoreInProgress,
382  RTIinternalError) ;
383 
385  virtual void deleteObjectInstance
386  (ObjectInstanceHandle theObject,
387  RTI::VariableLengthData const & aTag)
388  throw (DeletePrivilegeNotHeld,
389  ObjectInstanceNotKnown,
390  FederateNotExecutionMember,
391  SaveInProgress,
392  RestoreInProgress,
393  RTIinternalError) ;
394 
395  virtual MessageRetractionHandle deleteObjectInstance
396  (ObjectInstanceHandle theObject,
397  RTI::VariableLengthData const & aTag,
398  LogicalTime const & theTime)
399  throw (DeletePrivilegeNotHeld,
400  ObjectInstanceNotKnown,
401  InvalidLogicalTime,
402  FederateNotExecutionMember,
403  SaveInProgress,
404  RestoreInProgress,
405  RTIinternalError) ;
406 
408  virtual void localDeleteObjectInstance
409  (ObjectInstanceHandle theObject)
410  throw (ObjectInstanceNotKnown,
411  FederateOwnsAttributes,
412  OwnershipAcquisitionPending,
413  FederateNotExecutionMember,
414  SaveInProgress,
415  RestoreInProgress,
416  RTIinternalError) ;
417 
419  virtual void changeAttributeTransportationType
420  (ObjectInstanceHandle theObject,
421  AttributeHandleSet const & theAttributes,
422  TransportationType theType)
423  throw (ObjectInstanceNotKnown,
424  AttributeNotDefined,
425  AttributeNotOwned,
426  FederateNotExecutionMember,
427  SaveInProgress,
428  RestoreInProgress,
429  RTIinternalError) ;
430 
432  virtual void changeInteractionTransportationType
433  (InteractionClassHandle theClass,
434  TransportationType theType)
435  throw (InteractionClassNotDefined,
436  InteractionClassNotPublished,
437  FederateNotExecutionMember,
438  SaveInProgress,
439  RestoreInProgress,
440  RTIinternalError) ;
441 
443  virtual void requestAttributeValueUpdate
444  (ObjectInstanceHandle theObject,
445  AttributeHandleSet const & theAttributes,
446  RTI::VariableLengthData const & aTag)
447  throw (ObjectInstanceNotKnown,
448  AttributeNotDefined,
449  FederateNotExecutionMember,
450  SaveInProgress,
451  RestoreInProgress,
452  RTIinternalError) ;
453 
454  virtual void requestAttributeValueUpdate
455  (ObjectClassHandle theClass,
456  AttributeHandleSet const & theAttributes,
457  RTI::VariableLengthData const & aTag)
458  throw (ObjectClassNotDefined,
459  AttributeNotDefined,
460  FederateNotExecutionMember,
461  SaveInProgress,
462  RestoreInProgress,
463  RTIinternalError) ;
464 
469  virtual void unconditionalAttributeOwnershipDivestiture
470  (ObjectInstanceHandle theObject,
471  AttributeHandleSet const & theAttributes)
472  throw (ObjectInstanceNotKnown,
473  AttributeNotDefined,
474  AttributeNotOwned,
475  FederateNotExecutionMember,
476  SaveInProgress,
477  RestoreInProgress,
478  RTIinternalError) ;
479 
481  virtual void negotiatedAttributeOwnershipDivestiture
482  (ObjectInstanceHandle theObject,
483  AttributeHandleSet const & theAttributes,
484  RTI::VariableLengthData const & aTag)
485  throw (ObjectInstanceNotKnown,
486  AttributeNotDefined,
487  AttributeNotOwned,
488  AttributeAlreadyBeingDivested,
489  FederateNotExecutionMember,
490  SaveInProgress,
491  RestoreInProgress,
492  RTIinternalError) ;
493 
495  virtual void confirmDivestiture
496  (ObjectInstanceHandle theObject,
497  AttributeHandleSet const & confirmedAttributes,
498  RTI::VariableLengthData const & aTag)
499  throw (ObjectInstanceNotKnown,
500  AttributeNotDefined,
501  AttributeNotOwned,
502  AttributeDivestitureWasNotRequested,
503  NoAcquisitionPending,
504  FederateNotExecutionMember,
505  SaveInProgress,
506  RestoreInProgress,
507  RTIinternalError) ;
508 
510  virtual void attributeOwnershipAcquisition
511  (ObjectInstanceHandle theObject,
512  AttributeHandleSet const & desiredAttributes,
513  RTI::VariableLengthData const & aTag)
514  throw (ObjectInstanceNotKnown,
515  ObjectClassNotPublished,
516  AttributeNotDefined,
517  AttributeNotPublished,
518  FederateOwnsAttributes,
519  FederateNotExecutionMember,
520  SaveInProgress,
521  RestoreInProgress,
522  RTIinternalError) ;
523 
525  virtual void attributeOwnershipAcquisitionIfAvailable
526  (ObjectInstanceHandle theObject,
527  AttributeHandleSet const & desiredAttributes)
528  throw (ObjectInstanceNotKnown,
529  ObjectClassNotPublished,
530  AttributeNotDefined,
531  AttributeNotPublished,
532  FederateOwnsAttributes,
533  AttributeAlreadyBeingAcquired,
534  FederateNotExecutionMember,
535  SaveInProgress,
536  RestoreInProgress,
537  RTIinternalError) ;
538 
540  virtual void attributeOwnershipDivestitureIfWanted(
541  ObjectInstanceHandle theObject,
542  AttributeHandleSet const & theAttributes,
543  AttributeHandleSet & theDivestedAttributes)
544  throw (ObjectInstanceNotKnown,
545  AttributeNotDefined,
546  AttributeNotOwned,
547  FederateNotExecutionMember,
548  SaveInProgress,
549  RestoreInProgress,
550  RTIinternalError) ;
551 
553  virtual void cancelNegotiatedAttributeOwnershipDivestiture
554  (ObjectInstanceHandle theObject,
555  AttributeHandleSet const & theAttributes)
556  throw (ObjectInstanceNotKnown,
557  AttributeNotDefined,
558  AttributeNotOwned,
559  AttributeDivestitureWasNotRequested,
560  FederateNotExecutionMember,
561  SaveInProgress,
562  RestoreInProgress,
563  RTIinternalError) ;
564 
566  virtual void cancelAttributeOwnershipAcquisition
567  (ObjectInstanceHandle theObject,
568  AttributeHandleSet const & theAttributes)
569  throw (ObjectInstanceNotKnown,
570  AttributeNotDefined,
571  AttributeAlreadyOwned,
572  AttributeAcquisitionWasNotRequested,
573  FederateNotExecutionMember,
574  SaveInProgress,
575  RestoreInProgress,
576  RTIinternalError) ;
577 
579  virtual void queryAttributeOwnership
580  (ObjectInstanceHandle theObject,
581  AttributeHandle theAttribute)
582  throw (ObjectInstanceNotKnown,
583  AttributeNotDefined,
584  FederateNotExecutionMember,
585  SaveInProgress,
586  RestoreInProgress,
587  RTIinternalError) ;
588 
590  virtual bool isAttributeOwnedByFederate
591  (ObjectInstanceHandle theObject,
592  AttributeHandle theAttribute)
593  throw (ObjectInstanceNotKnown,
594  AttributeNotDefined,
595  FederateNotExecutionMember,
596  SaveInProgress,
597  RestoreInProgress,
598  RTIinternalError) ;
599 
603 
605  virtual void enableTimeRegulation
606  (LogicalTimeInterval const & theLookahead)
607  throw (TimeRegulationAlreadyEnabled,
608  InvalidLookahead,
609  InTimeAdvancingState,
610  RequestForTimeRegulationPending,
611  FederateNotExecutionMember,
612  SaveInProgress,
613  RestoreInProgress,
614  RTIinternalError) ;
615 
617  virtual void disableTimeRegulation ()
618  throw (TimeRegulationIsNotEnabled,
619  FederateNotExecutionMember,
620  SaveInProgress,
621  RestoreInProgress,
622  RTIinternalError) ;
623 
625  virtual void enableTimeConstrained ()
626  throw (TimeConstrainedAlreadyEnabled,
627  InTimeAdvancingState,
628  RequestForTimeConstrainedPending,
629  FederateNotExecutionMember,
630  SaveInProgress,
631  RestoreInProgress,
632  RTIinternalError) ;
633 
635  virtual void disableTimeConstrained ()
636  throw (TimeConstrainedIsNotEnabled,
637  FederateNotExecutionMember,
638  SaveInProgress,
639  RestoreInProgress,
640  RTIinternalError) ;
641 
643  virtual void timeAdvanceRequest
644  (LogicalTime const & theTime)
645  throw (InvalidLogicalTime,
646  LogicalTimeAlreadyPassed,
647  InTimeAdvancingState,
648  RequestForTimeRegulationPending,
649  RequestForTimeConstrainedPending,
650  FederateNotExecutionMember,
651  SaveInProgress,
652  RestoreInProgress,
653  RTIinternalError) ;
654 
656  virtual void timeAdvanceRequestAvailable
657  (LogicalTime const & theTime)
658  throw (InvalidLogicalTime,
659  LogicalTimeAlreadyPassed,
660  InTimeAdvancingState,
661  RequestForTimeRegulationPending,
662  RequestForTimeConstrainedPending,
663  FederateNotExecutionMember,
664  SaveInProgress,
665  RestoreInProgress,
666  RTIinternalError) ;
667 
669  virtual void nextMessageRequest
670  (LogicalTime const & theTime)
671  throw (InvalidLogicalTime,
672  LogicalTimeAlreadyPassed,
673  InTimeAdvancingState,
674  RequestForTimeRegulationPending,
675  RequestForTimeConstrainedPending,
676  FederateNotExecutionMember,
677  SaveInProgress,
678  RestoreInProgress,
679  RTIinternalError) ;
680 
682  virtual void nextMessageRequestAvailable
683  (LogicalTime const & theTime)
684  throw (InvalidLogicalTime,
685  LogicalTimeAlreadyPassed,
686  InTimeAdvancingState,
687  RequestForTimeRegulationPending,
688  RequestForTimeConstrainedPending,
689  FederateNotExecutionMember,
690  SaveInProgress,
691  RestoreInProgress,
692  RTIinternalError) ;
693 
695  virtual void flushQueueRequest
696  (LogicalTime const & theTime)
697  throw (InvalidLogicalTime,
698  LogicalTimeAlreadyPassed,
699  InTimeAdvancingState,
700  RequestForTimeRegulationPending,
701  RequestForTimeConstrainedPending,
702  FederateNotExecutionMember,
703  SaveInProgress,
704  RestoreInProgress,
705  RTIinternalError) ;
706 
708  virtual void enableAsynchronousDelivery ()
709  throw (AsynchronousDeliveryAlreadyEnabled,
710  FederateNotExecutionMember,
711  SaveInProgress,
712  RestoreInProgress,
713  RTIinternalError) ;
714 
716  virtual void disableAsynchronousDelivery ()
717  throw (AsynchronousDeliveryAlreadyDisabled,
718  FederateNotExecutionMember,
719  SaveInProgress,
720  RestoreInProgress,
721  RTIinternalError) ;
722 
724  virtual bool queryGALT (LogicalTime & theTime)
725  throw (FederateNotExecutionMember,
726  SaveInProgress,
727  RestoreInProgress,
728  RTIinternalError) ;
729 
731  virtual void queryLogicalTime (LogicalTime & theTime)
732  throw (FederateNotExecutionMember,
733  SaveInProgress,
734  RestoreInProgress,
735  RTIinternalError) ;
736 
738  virtual bool queryLITS (LogicalTime & theTime)
739  throw (FederateNotExecutionMember,
740  SaveInProgress,
741  RestoreInProgress,
742  RTIinternalError) ;
743 
745  virtual void modifyLookahead
746  (LogicalTimeInterval const & theLookahead)
747  throw (TimeRegulationIsNotEnabled,
748  InvalidLookahead,
749  InTimeAdvancingState,
750  FederateNotExecutionMember,
751  SaveInProgress,
752  RestoreInProgress,
753  RTIinternalError) ;
754 
756  virtual void queryLookahead (LogicalTimeInterval & interval)
757  throw (TimeRegulationIsNotEnabled,
758  FederateNotExecutionMember,
759  SaveInProgress,
760  RestoreInProgress,
761  RTIinternalError) ;
762 
764  virtual void retract
765  (MessageRetractionHandle theHandle)
766  throw (InvalidRetractionHandle,
767  TimeRegulationIsNotEnabled,
768  MessageCanNoLongerBeRetracted,
769  FederateNotExecutionMember,
770  SaveInProgress,
771  RestoreInProgress,
772  RTIinternalError) ;
773 
775  virtual void changeAttributeOrderType
776  (ObjectInstanceHandle theObject,
777  AttributeHandleSet const & theAttributes,
778  OrderType theType)
779  throw (ObjectInstanceNotKnown,
780  AttributeNotDefined,
781  AttributeNotOwned,
782  FederateNotExecutionMember,
783  SaveInProgress,
784  RestoreInProgress,
785  RTIinternalError) ;
786 
788  virtual void changeInteractionOrderType
789  (InteractionClassHandle theClass,
790  OrderType theType)
791  throw (InteractionClassNotDefined,
792  InteractionClassNotPublished,
793  FederateNotExecutionMember,
794  SaveInProgress,
795  RestoreInProgress,
796  RTIinternalError) ;
797 
801 
803  virtual RegionHandle createRegion
804  (DimensionHandleSet const & theDimensions)
805  throw (InvalidDimensionHandle,
806  FederateNotExecutionMember,
807  SaveInProgress,
808  RestoreInProgress,
809  RTIinternalError) ;
810 
812  virtual void commitRegionModifications
813  (RegionHandleSet const & theRegionHandleSet)
814  throw (InvalidRegion,
815  RegionNotCreatedByThisFederate,
816  FederateNotExecutionMember,
817  SaveInProgress,
818  RestoreInProgress,
819  RTIinternalError) ;
820 
822  virtual void deleteRegion
823  (RegionHandle theRegion)
824  throw (InvalidRegion,
825  RegionNotCreatedByThisFederate,
826  RegionInUseForUpdateOrSubscription,
827  FederateNotExecutionMember,
828  SaveInProgress,
829  RestoreInProgress,
830  RTIinternalError) ;
831 
833  virtual ObjectInstanceHandle registerObjectInstanceWithRegions
834  (ObjectClassHandle theClass,
835  AttributeHandleSetRegionHandleSetPairVector const &
836  theAttributeHandleSetRegionHandleSetPairVector)
837  throw (ObjectClassNotDefined,
838  ObjectClassNotPublished,
839  AttributeNotDefined,
840  AttributeNotPublished,
841  InvalidRegion,
842  RegionNotCreatedByThisFederate,
843  InvalidRegionContext,
844  FederateNotExecutionMember,
845  SaveInProgress,
846  RestoreInProgress,
847  RTIinternalError) ;
848 
849  virtual ObjectInstanceHandle registerObjectInstanceWithRegions
850  (ObjectClassHandle theClass,
851  AttributeHandleSetRegionHandleSetPairVector const &
852  theAttributeHandleSetRegionHandleSetPairVector,
853  std::wstring const & theObjectInstanceName)
854  throw (ObjectClassNotDefined,
855  ObjectClassNotPublished,
856  AttributeNotDefined,
857  AttributeNotPublished,
858  InvalidRegion,
859  RegionNotCreatedByThisFederate,
860  InvalidRegionContext,
861  ObjectInstanceNameNotReserved,
862  ObjectInstanceNameInUse,
863  FederateNotExecutionMember,
864  SaveInProgress,
865  RestoreInProgress,
866  RTIinternalError) ;
867 
869  virtual void associateRegionsForUpdates
870  (ObjectInstanceHandle theObject,
871  AttributeHandleSetRegionHandleSetPairVector const &
872  theAttributeHandleSetRegionHandleSetPairVector)
873  throw (ObjectInstanceNotKnown,
874  AttributeNotDefined,
875  InvalidRegion,
876  RegionNotCreatedByThisFederate,
877  InvalidRegionContext,
878  FederateNotExecutionMember,
879  SaveInProgress,
880  RestoreInProgress,
881  RTIinternalError) ;
882 
884  virtual void unassociateRegionsForUpdates
885  (ObjectInstanceHandle theObject,
886  AttributeHandleSetRegionHandleSetPairVector const &
887  theAttributeHandleSetRegionHandleSetPairVector)
888  throw (ObjectInstanceNotKnown,
889  AttributeNotDefined,
890  InvalidRegion,
891  RegionNotCreatedByThisFederate,
892  FederateNotExecutionMember,
893  SaveInProgress,
894  RestoreInProgress,
895  RTIinternalError) ;
896 
898  virtual void subscribeObjectClassAttributesWithRegions
899  (ObjectClassHandle theClass,
900  AttributeHandleSetRegionHandleSetPairVector const &
901  theAttributeHandleSetRegionHandleSetPairVector,
902  bool active = true)
903  throw (ObjectClassNotDefined,
904  AttributeNotDefined,
905  InvalidRegion,
906  RegionNotCreatedByThisFederate,
907  InvalidRegionContext,
908  FederateNotExecutionMember,
909  SaveInProgress,
910  RestoreInProgress,
911  RTIinternalError) ;
912 
914  virtual void unsubscribeObjectClassAttributesWithRegions
915  (ObjectClassHandle theClass,
916  AttributeHandleSetRegionHandleSetPairVector const &
917  theAttributeHandleSetRegionHandleSetPairVector)
918  throw (ObjectClassNotDefined,
919  AttributeNotDefined,
920  InvalidRegion,
921  RegionNotCreatedByThisFederate,
922  FederateNotExecutionMember,
923  SaveInProgress,
924  RestoreInProgress,
925  RTIinternalError) ;
926 
928  virtual void subscribeInteractionClassWithRegions
929  (InteractionClassHandle theClass,
930  RegionHandleSet const & theRegionHandleSet,
931  bool active = true)
932  throw (InteractionClassNotDefined,
933  InvalidRegion,
934  RegionNotCreatedByThisFederate,
935  InvalidRegionContext,
936  FederateServiceInvocationsAreBeingReportedViaMOM,
937  FederateNotExecutionMember,
938  SaveInProgress,
939  RestoreInProgress,
940  RTIinternalError) ;
941 
943  virtual void unsubscribeInteractionClassWithRegions
944  (InteractionClassHandle theClass,
945  RegionHandleSet const & theRegionHandleSet)
946  throw (InteractionClassNotDefined,
947  InvalidRegion,
948  RegionNotCreatedByThisFederate,
949  FederateNotExecutionMember,
950  SaveInProgress,
951  RestoreInProgress,
952  RTIinternalError) ;
953 
955  virtual void sendInteractionWithRegions
956  (InteractionClassHandle theInteraction,
957  ParameterHandleValueMap const & theParameterValues,
958  RegionHandleSet const & theRegionHandleSet,
959  RTI::VariableLengthData const & aTag)
960  throw (InteractionClassNotDefined,
961  InteractionClassNotPublished,
962  InteractionParameterNotDefined,
963  InvalidRegion,
964  RegionNotCreatedByThisFederate,
965  InvalidRegionContext,
966  FederateNotExecutionMember,
967  SaveInProgress,
968  RestoreInProgress,
969  RTIinternalError) ;
970 
971  virtual MessageRetractionHandle sendInteractionWithRegions
972  (InteractionClassHandle theInteraction,
973  ParameterHandleValueMap const & theParameterValues,
974  RegionHandleSet const & theRegionHandleSet,
975  RTI::VariableLengthData const & aTag,
976  LogicalTime const & theTime)
977  throw (InteractionClassNotDefined,
978  InteractionClassNotPublished,
979  InteractionParameterNotDefined,
980  InvalidRegion,
981  RegionNotCreatedByThisFederate,
982  InvalidRegionContext,
983  InvalidLogicalTime,
984  FederateNotExecutionMember,
985  SaveInProgress,
986  RestoreInProgress,
987  RTIinternalError) ;
988 
990  virtual void requestAttributeValueUpdateWithRegions
991  (ObjectClassHandle theClass,
992  AttributeHandleSetRegionHandleSetPairVector const & theSet,
993  RTI::VariableLengthData const & aTag)
994  throw (ObjectClassNotDefined,
995  AttributeNotDefined,
996  InvalidRegion,
997  RegionNotCreatedByThisFederate,
998  InvalidRegionContext,
999  FederateNotExecutionMember,
1000  SaveInProgress,
1001  RestoreInProgress,
1002  RTIinternalError) ;
1003 
1007 
1009  virtual ObjectClassHandle getObjectClassHandle
1010  (std::wstring const & theName)
1011  throw (NameNotFound,
1012  FederateNotExecutionMember,
1013  RTIinternalError) ;
1014 
1016  virtual std::wstring getObjectClassName
1017  (ObjectClassHandle theClass)
1018  throw (InvalidObjectClassHandle,
1019  FederateNotExecutionMember,
1020  RTIinternalError) ;
1021 
1023  virtual AttributeHandle getAttributeHandle
1024  (ObjectClassHandle theClass,
1025  std::wstring const & theAttributeName)
1026  throw (InvalidObjectClassHandle,
1027  NameNotFound,
1028  FederateNotExecutionMember,
1029  RTIinternalError) ;
1030 
1032  virtual std::wstring getAttributeName
1033  (ObjectClassHandle theClass,
1034  AttributeHandle theHandle)
1035  throw (InvalidObjectClassHandle,
1036  InvalidAttributeHandle,
1037  AttributeNotDefined,
1038  FederateNotExecutionMember,
1039  RTIinternalError) ;
1040 
1042  virtual InteractionClassHandle getInteractionClassHandle
1043  (std::wstring const & theName)
1044  throw (NameNotFound,
1045  FederateNotExecutionMember,
1046  RTIinternalError) ;
1047 
1049  virtual std::wstring getInteractionClassName
1050  (InteractionClassHandle theHandle)
1051  throw (InvalidInteractionClassHandle,
1052  FederateNotExecutionMember,
1053  RTIinternalError) ;
1054 
1056  virtual ParameterHandle getParameterHandle
1057  (InteractionClassHandle whichClass,
1058  std::wstring const & theName)
1059  throw (InvalidInteractionClassHandle,
1060  NameNotFound,
1061  FederateNotExecutionMember,
1062  RTIinternalError) ;
1063 
1065  virtual std::wstring getParameterName
1066  (InteractionClassHandle whichClass,
1067  ParameterHandle theHandle)
1068  throw (InvalidInteractionClassHandle,
1069  InvalidParameterHandle,
1070  InteractionParameterNotDefined,
1071  FederateNotExecutionMember,
1072  RTIinternalError) ;
1073 
1075  virtual ObjectInstanceHandle getObjectInstanceHandle
1076  (std::wstring const & theName)
1077  throw (ObjectInstanceNotKnown,
1078  FederateNotExecutionMember,
1079  RTIinternalError) ;
1080 
1082  virtual std::wstring getObjectInstanceName
1083  (ObjectInstanceHandle theHandle)
1084  throw (ObjectInstanceNotKnown,
1085  FederateNotExecutionMember,
1086  RTIinternalError) ;
1087 
1089  virtual DimensionHandle getDimensionHandle
1090  (std::wstring const & theName)
1091  throw (NameNotFound,
1092  FederateNotExecutionMember,
1093  RTIinternalError) ;
1094 
1096  virtual std::wstring getDimensionName
1097  (DimensionHandle theHandle)
1098  throw (InvalidDimensionHandle,
1099  FederateNotExecutionMember,
1100  RTIinternalError) ;
1101 
1103  virtual unsigned long getDimensionUpperBound
1104  (DimensionHandle theHandle)
1105  throw (InvalidDimensionHandle,
1106  FederateNotExecutionMember,
1107  RTIinternalError) ;
1108 
1110  virtual DimensionHandleSet getAvailableDimensionsForClassAttribute
1111  (ObjectClassHandle theClass,
1112  AttributeHandle theHandle)
1113  throw (InvalidObjectClassHandle,
1114  InvalidAttributeHandle,
1115  AttributeNotDefined,
1116  FederateNotExecutionMember,
1117  RTIinternalError) ;
1118 
1120  virtual ObjectClassHandle getKnownObjectClassHandle
1121  (ObjectInstanceHandle theObject)
1122  throw (ObjectInstanceNotKnown,
1123  FederateNotExecutionMember,
1124  RTIinternalError) ;
1125 
1127  virtual DimensionHandleSet getAvailableDimensionsForInteractionClass
1128  (InteractionClassHandle theClass)
1129  throw (InvalidInteractionClassHandle,
1130  FederateNotExecutionMember,
1131  RTIinternalError) ;
1132 
1134  virtual TransportationType getTransportationType
1135  (std::wstring const & transportationName)
1136  throw (InvalidTransportationName,
1137  FederateNotExecutionMember,
1138  RTIinternalError) ;
1139 
1141  virtual std::wstring getTransportationName
1142  (TransportationType transportationType)
1143  throw (InvalidTransportationType,
1144  FederateNotExecutionMember,
1145  RTIinternalError) ;
1146 
1148  virtual OrderType getOrderType
1149  (std::wstring const & orderName)
1150  throw (InvalidOrderName,
1151  FederateNotExecutionMember,
1152  RTIinternalError) ;
1153 
1155  virtual std::wstring getOrderName
1156  (OrderType orderType)
1157  throw (InvalidOrderType,
1158  FederateNotExecutionMember,
1159  RTIinternalError) ;
1160 
1162  virtual void enableObjectClassRelevanceAdvisorySwitch ()
1163  throw (ObjectClassRelevanceAdvisorySwitchIsOn,
1164  FederateNotExecutionMember,
1165  SaveInProgress,
1166  RestoreInProgress,
1167  RTIinternalError) ;
1168 
1170  virtual void disableObjectClassRelevanceAdvisorySwitch ()
1171  throw (ObjectClassRelevanceAdvisorySwitchIsOff,
1172  FederateNotExecutionMember,
1173  SaveInProgress,
1174  RestoreInProgress,
1175  RTIinternalError) ;
1176 
1178  virtual void enableAttributeRelevanceAdvisorySwitch ()
1179  throw (AttributeRelevanceAdvisorySwitchIsOn,
1180  FederateNotExecutionMember,
1181  SaveInProgress,
1182  RestoreInProgress,
1183  RTIinternalError) ;
1184 
1186  virtual void disableAttributeRelevanceAdvisorySwitch ()
1187  throw (AttributeRelevanceAdvisorySwitchIsOff,
1188  FederateNotExecutionMember,
1189  SaveInProgress,
1190  RestoreInProgress,
1191  RTIinternalError) ;
1192 
1194  virtual void enableAttributeScopeAdvisorySwitch ()
1195  throw (AttributeScopeAdvisorySwitchIsOn,
1196  FederateNotExecutionMember,
1197  SaveInProgress,
1198  RestoreInProgress,
1199  RTIinternalError) ;
1200 
1202  virtual void disableAttributeScopeAdvisorySwitch ()
1203  throw (AttributeScopeAdvisorySwitchIsOff,
1204  FederateNotExecutionMember,
1205  SaveInProgress,
1206  RestoreInProgress,
1207  RTIinternalError) ;
1208 
1210  virtual void enableInteractionRelevanceAdvisorySwitch ()
1211  throw (InteractionRelevanceAdvisorySwitchIsOn,
1212  FederateNotExecutionMember,
1213  SaveInProgress,
1214  RestoreInProgress,
1215  RTIinternalError) ;
1216 
1218  virtual void disableInteractionRelevanceAdvisorySwitch ()
1219  throw (InteractionRelevanceAdvisorySwitchIsOff,
1220  FederateNotExecutionMember,
1221  SaveInProgress,
1222  RestoreInProgress,
1223  RTIinternalError) ;
1224 
1226  virtual
1227  DimensionHandleSet getDimensionHandleSet
1228  (RegionHandle theRegionHandle)
1229  throw (InvalidRegion,
1230  FederateNotExecutionMember,
1231  SaveInProgress,
1232  RestoreInProgress,
1233  RTIinternalError) ;
1234 
1236  virtual
1237  RangeBounds getRangeBounds
1238  (RegionHandle theRegionHandle,
1239  DimensionHandle theDimensionHandle)
1240  throw (InvalidRegion,
1241  RegionDoesNotContainSpecifiedDimension,
1242  FederateNotExecutionMember,
1243  SaveInProgress,
1244  RestoreInProgress,
1245  RTIinternalError) ;
1246 
1248  virtual void setRangeBounds
1249  (RegionHandle theRegionHandle,
1250  DimensionHandle theDimensionHandle,
1251  RangeBounds const & theRangeBounds)
1252  throw (InvalidRegion,
1253  RegionNotCreatedByThisFederate,
1254  RegionDoesNotContainSpecifiedDimension,
1255  InvalidRangeBound,
1256  FederateNotExecutionMember,
1257  SaveInProgress,
1258  RestoreInProgress,
1259  RTIinternalError) ;
1260 
1262  virtual unsigned long normalizeFederateHandle
1263  (FederateHandle theFederateHandle)
1264  throw (FederateNotExecutionMember,
1265  RTIinternalError) ;
1266 
1268  virtual unsigned long normalizeServiceGroup
1269  (ServiceGroupIndicator theServiceGroup)
1270  throw (FederateNotExecutionMember,
1271  InvalidServiceGroup,
1272  RTIinternalError) ;
1273 
1275  virtual bool evokeCallback(double approximateMinimumTimeInSeconds)
1276  throw (FederateNotExecutionMember,
1277  RTIinternalError) ;
1278 
1280  virtual bool evokeMultipleCallbacks(double approximateMinimumTimeInSeconds,
1281  double approximateMaximumTimeInSeconds)
1282  throw (FederateNotExecutionMember,
1283  RTIinternalError) ;
1284 
1286  virtual void enableCallbacks ()
1287  throw (FederateNotExecutionMember,
1288  SaveInProgress,
1289  RestoreInProgress,
1290  RTIinternalError) ;
1291 
1293  virtual void disableCallbacks ()
1294  throw (FederateNotExecutionMember,
1295  SaveInProgress,
1296  RestoreInProgress,
1297  RTIinternalError) ;
1298 
1299  virtual FederateHandle decodeFederateHandle(
1300  VariableLengthData const & encodedValue) const ;
1301 
1302  virtual ObjectClassHandle decodeObjectClassHandle(
1303  VariableLengthData const & encodedValue) const ;
1304 
1305  virtual InteractionClassHandle decodeInteractionClassHandle(
1306  VariableLengthData const & encodedValue) const ;
1307 
1308  virtual ObjectInstanceHandle decodeObjectInstanceHandle(
1309  VariableLengthData const & encodedValue) const ;
1310 
1311  virtual AttributeHandle decodeAttributeHandle(
1312  VariableLengthData const & encodedValue) const ;
1313 
1314  virtual ParameterHandle decodeParameterHandle(
1315  VariableLengthData const & encodedValue) const ;
1316 
1317  virtual DimensionHandle decodeDimensionHandle(
1318  VariableLengthData const & encodedValue) const ;
1319 
1320  virtual MessageRetractionHandle decodeMessageRetractionHandle(
1321  VariableLengthData const & encodedValue) const ;
1322 
1323  virtual RegionHandle decodeRegionHandle(
1324  VariableLengthData const & encodedValue) const ;
1325 
1326  virtual void rtiAmbCreationArgs(std::vector<std::wstring>& args) const;
1327 
1328 
1329 public:
1330 
1332  static DtVrlRtiAmbassador* create(const std::vector<std::wstring>& args);
1333 
1334 protected:
1335 
1336  std::auto_ptr<RTIambassador> myRtiAmb;
1337  FederateAmbassador *myFedAmb;
1338 
1339  std::vector<std::wstring> myRtiAmbCreationArgs;
1340 
1341 };
1342 
1343 #endif
1344 #endif
1345 #endif
1346 
1347 

Document ID: Generated on Wed Aug 14 15:35:11 EDT 2013 from SVN revision 130445
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)