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

Document ID: Generated on Wed Oct 23 22:25:48 EDT 2013 from SVN revision 132765
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)