MAK Data Logger API Documentation for DIS
serverRtiAmbassador1516.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2012 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #if DtHLA_1516
13 #if !DtHLA_1516_EVOLVED
14 
16 
17 #include <vl/vrlRtiAmb1516.h>
18 #include <vlutil/vlMachineTypes.h>
19 
20 namespace MAKTrafficClientServerExConn
21 {
22  class DtServerExerciseConnection;
23 
24  class DT_DLL_CSEC DtServerRtiAmbassador : public DtVrlRtiAmbassador
25  {
26 
27  public:
28 
31  DtServerRtiAmbassador(
32  const std::vector<std::wstring>& createArguments = std::vector<std::wstring>())
33  throw (
34  BadInitializationParameter,
35  RTIinternalError);
36 
37  virtual ~DtServerRtiAmbassador();
38 
39  private:
41  DtServerRtiAmbassador(const DtServerRtiAmbassador &other);
42 
44  DtServerRtiAmbassador& operator=(const DtServerRtiAmbassador &other);
45 
46  public:
47 
49  virtual void setServerExerciseConnection(DtServerExerciseConnection* exConn);
50 
52  virtual DtServerExerciseConnection* serverExerciseConnection();
53 
55  virtual RTIambassador* rtiAmb();
56 
57  virtual const RTIambassador* rtiAmb() const;
58 
59  virtual void getRtiAmbCreationArgs(std::vector<std::wstring>& args) const;
60 
64 
66  virtual void createFederationExecution
67  (std::wstring const & federationExecutionName,
68  std::wstring const & fullPathNameToTheFDDfile,
69  std::wstring const & logicalTimeImplementationName = L"")
70  throw (
71  FederationExecutionAlreadyExists,
72  CouldNotOpenFDD,
73  ErrorReadingFDD,
74  RTIinternalError);
75 
77  virtual void destroyFederationExecution
78  (std::wstring const & federationExecutionName)
79  throw (
80  FederatesCurrentlyJoined,
81  FederationExecutionDoesNotExist,
82  RTIinternalError);
83 
85  virtual FederateHandle joinFederationExecution
86  (std::wstring const & federateType,
87  std::wstring const & federationExecutionName,
88  FederateAmbassador & federateAmbassador)
89  throw (
90  FederateAlreadyExecutionMember,
91  FederationExecutionDoesNotExist,
92  SaveInProgress,
93  RestoreInProgress,
94  RTIinternalError);
95 
97  virtual void resignFederationExecution
98  (ResignAction resignAction)
99  throw (
100  OwnershipAcquisitionPending,
101  FederateOwnsAttributes,
102  FederateNotExecutionMember,
103  RTIinternalError);
104 
106  virtual void registerFederationSynchronizationPoint
107  (std::wstring const & label,
108  RTI::VariableLengthData const & aTag)
109  throw (
110  FederateNotExecutionMember,
111  SaveInProgress,
112  RestoreInProgress,
113  RTIinternalError);
114 
115  virtual void registerFederationSynchronizationPoint
116  (std::wstring const & label,
117  RTI::VariableLengthData const & aTag,
118  FederateHandleSet const & syncSet)
119  throw (
120  FederateNotExecutionMember,
121  SaveInProgress,
122  RestoreInProgress,
123  RTIinternalError);
124 
126  virtual void synchronizationPointAchieved
127  (std::wstring const & label)
128  throw (
129  SynchronizationPointLabelNotAnnounced,
130  FederateNotExecutionMember,
131  SaveInProgress,
132  RestoreInProgress,
133  RTIinternalError);
134 
136  virtual void requestFederationSave
137  (std::wstring const & label)
138  throw (
139  FederateNotExecutionMember,
140  SaveInProgress,
141  RestoreInProgress,
142  RTIinternalError);
143 
144  virtual void requestFederationSave
145  (std::wstring const & label,
146  LogicalTime const & theTime)
147  throw (
148  LogicalTimeAlreadyPassed,
149  InvalidLogicalTime,
150  FederateUnableToUseTime,
151  FederateNotExecutionMember,
152  SaveInProgress,
153  RestoreInProgress,
154  RTIinternalError);
155 
157  virtual void federateSaveBegun ()
158  throw (
159  SaveNotInitiated,
160  FederateNotExecutionMember,
161  RestoreInProgress,
162  RTIinternalError);
163 
165  virtual void federateSaveComplete ()
166  throw (
167  FederateHasNotBegunSave,
168  FederateNotExecutionMember,
169  RestoreInProgress,
170  RTIinternalError);
171 
172  virtual void federateSaveNotComplete()
173  throw (
174  FederateHasNotBegunSave,
175  FederateNotExecutionMember,
176  RestoreInProgress,
177  RTIinternalError);
178 
180  virtual void queryFederationSaveStatus ()
181  throw (
182  FederateNotExecutionMember,
183  RestoreInProgress,
184  RTIinternalError);
185 
187  virtual void requestFederationRestore
188  (std::wstring const & label)
189  throw (
190  FederateNotExecutionMember,
191  SaveInProgress,
192  RestoreInProgress,
193  RTIinternalError);
194 
196  virtual void federateRestoreComplete ()
197  throw (
198  RestoreNotRequested,
199  FederateNotExecutionMember,
200  SaveInProgress,
201  RTIinternalError);
202 
203  virtual void federateRestoreNotComplete ()
204  throw (
205  RestoreNotRequested,
206  FederateNotExecutionMember,
207  SaveInProgress,
208  RTIinternalError);
209 
211  virtual void queryFederationRestoreStatus ()
212  throw (
213  FederateNotExecutionMember,
214  SaveInProgress,
215  RTIinternalError);
216 
220 
222  virtual void publishObjectClassAttributes
223  (ObjectClassHandle theClass,
224  AttributeHandleSet const & attributeList)
225  throw (
226  ObjectClassNotDefined,
227  AttributeNotDefined,
228  FederateNotExecutionMember,
229  SaveInProgress,
230  RestoreInProgress,
231  RTIinternalError);
232 
234  virtual void unpublishObjectClass
235  (ObjectClassHandle theClass)
236  throw (
237  ObjectClassNotDefined,
238  OwnershipAcquisitionPending,
239  FederateNotExecutionMember,
240  SaveInProgress,
241  RestoreInProgress,
242  RTIinternalError);
243 
244  virtual void unpublishObjectClassAttributes
245  (ObjectClassHandle theClass,
246  AttributeHandleSet const & attributeList)
247  throw (
248  ObjectClassNotDefined,
249  AttributeNotDefined,
250  OwnershipAcquisitionPending,
251  FederateNotExecutionMember,
252  SaveInProgress,
253  RestoreInProgress,
254  RTIinternalError);
255 
257  virtual void publishInteractionClass
258  (InteractionClassHandle theInteraction)
259  throw (
260  InteractionClassNotDefined,
261  FederateNotExecutionMember,
262  SaveInProgress,
263  RestoreInProgress,
264  RTIinternalError);
265 
267  virtual void unpublishInteractionClass
268  (InteractionClassHandle theInteraction)
269  throw (
270  InteractionClassNotDefined,
271  FederateNotExecutionMember,
272  SaveInProgress,
273  RestoreInProgress,
274  RTIinternalError);
275 
277  virtual void subscribeObjectClassAttributes
278  (ObjectClassHandle theClass,
279  AttributeHandleSet const & attributeList,
280  bool active = true)
281  throw (
282  ObjectClassNotDefined,
283  AttributeNotDefined,
284  FederateNotExecutionMember,
285  SaveInProgress,
286  RestoreInProgress,
287  RTIinternalError);
288 
290  virtual void unsubscribeObjectClass
291  (ObjectClassHandle theClass)
292  throw (
293  ObjectClassNotDefined,
294  FederateNotExecutionMember,
295  SaveInProgress,
296  RestoreInProgress,
297  RTIinternalError);
298 
299  virtual void unsubscribeObjectClassAttributes
300  (ObjectClassHandle theClass,
301  AttributeHandleSet const & attributeList)
302  throw (
303  ObjectClassNotDefined,
304  AttributeNotDefined,
305  FederateNotExecutionMember,
306  SaveInProgress,
307  RestoreInProgress,
308  RTIinternalError);
309 
311  virtual void subscribeInteractionClass
312  (InteractionClassHandle theClass,
313  bool active = true)
314  throw (
315  InteractionClassNotDefined,
316  FederateServiceInvocationsAreBeingReportedViaMOM,
317  FederateNotExecutionMember,
318  SaveInProgress,
319  RestoreInProgress,
320  RTIinternalError);
321 
323  virtual void unsubscribeInteractionClass
324  (InteractionClassHandle theClass)
325  throw (
326  InteractionClassNotDefined,
327  FederateNotExecutionMember,
328  SaveInProgress,
329  RestoreInProgress,
330  RTIinternalError);
331 
335 
337  virtual void reserveObjectInstanceName
338  (std::wstring const & theObjectInstanceName)
339  throw (
340  IllegalName,
341  FederateNotExecutionMember,
342  SaveInProgress,
343  RestoreInProgress,
344  RTIinternalError);
345 
347  virtual ObjectInstanceHandle registerObjectInstance
348  (ObjectClassHandle theClass)
349  throw (
350  ObjectClassNotDefined,
351  ObjectClassNotPublished,
352  FederateNotExecutionMember,
353  SaveInProgress,
354  RestoreInProgress,
355  RTIinternalError);
356 
357  virtual ObjectInstanceHandle registerObjectInstanceSR(
358  unsigned int clientID,
359  ObjectClassHandle theClass);
360 
361  virtual ObjectInstanceHandle registerObjectInstance
362  (ObjectClassHandle theClass,
363  std::wstring const & theObjectInstanceName)
364  throw (
365  ObjectClassNotDefined,
366  ObjectClassNotPublished,
367  ObjectInstanceNameNotReserved,
368  ObjectInstanceNameInUse,
369  FederateNotExecutionMember,
370  SaveInProgress,
371  RestoreInProgress,
372  RTIinternalError);
373 
374  virtual ObjectInstanceHandle registerObjectInstanceSR(
375  unsigned int clientID,
376  ObjectClassHandle theClass,
377  std::wstring const & theObjectInstanceName);
378 
380  virtual void updateAttributeValues
381  (ObjectInstanceHandle theObject,
382  AttributeHandleValueMap const & theAttributeValues,
383  RTI::VariableLengthData const & aTag)
384  throw (
385  ObjectInstanceNotKnown,
386  AttributeNotDefined,
387  AttributeNotOwned,
388  FederateNotExecutionMember,
389  SaveInProgress,
390  RestoreInProgress,
391  RTIinternalError);
392 
393  virtual void updateAttributeValuesSR(
394  unsigned int clientID,
395  ObjectInstanceHandle theObject,
396  AttributeHandleValueMap const & theAttributeValues,
397  VariableLengthData const & theUserSuppliedTag);
398 
399  virtual MessageRetractionHandle updateAttributeValues
400  (ObjectInstanceHandle theObject,
401  AttributeHandleValueMap const & theAttributeValues,
402  RTI::VariableLengthData const & aTag,
403  LogicalTime const & theTime)
404  throw (
405  ObjectInstanceNotKnown,
406  AttributeNotDefined,
407  AttributeNotOwned,
408  InvalidLogicalTime,
409  FederateNotExecutionMember,
410  SaveInProgress,
411  RestoreInProgress,
412  RTIinternalError);
413 
414  virtual MessageRetractionHandle updateAttributeValuesSR(
415  unsigned int clientID,
416  ObjectInstanceHandle theObject,
417  AttributeHandleValueMap const & theAttributeValues,
418  VariableLengthData const & theUserSuppliedTag,
419  LogicalTime const & theTime);
420 
422  virtual void sendInteraction
423  (InteractionClassHandle theInteraction,
424  ParameterHandleValueMap const & theParameterValues,
425  RTI::VariableLengthData const & aTag)
426  throw (
427  InteractionClassNotPublished,
428  InteractionClassNotDefined,
429  InteractionParameterNotDefined,
430  FederateNotExecutionMember,
431  SaveInProgress,
432  RestoreInProgress,
433  RTIinternalError);
434 
435  virtual void sendInteractionSR(
436  unsigned int clientID,
437  InteractionClassHandle theInteraction,
438  ParameterHandleValueMap const & theParameterValues,
439  VariableLengthData const & theUserSuppliedTag);
440 
441  virtual MessageRetractionHandle sendInteraction
442  (InteractionClassHandle theInteraction,
443  ParameterHandleValueMap const & theParameterValues,
444  RTI::VariableLengthData const & aTag,
445  LogicalTime const & theTime)
446  throw (
447  InteractionClassNotPublished,
448  InteractionClassNotDefined,
449  InteractionParameterNotDefined,
450  InvalidLogicalTime,
451  FederateNotExecutionMember,
452  SaveInProgress,
453  RestoreInProgress,
454  RTIinternalError);
455 
456  virtual MessageRetractionHandle sendInteractionSR(
457  unsigned int clientID,
458  InteractionClassHandle theInteraction,
459  ParameterHandleValueMap const & theParameterValues,
460  VariableLengthData const & theUserSuppliedTag,
461  LogicalTime const & theTime);
462 
464  virtual void deleteObjectInstance
465  (ObjectInstanceHandle theObject,
466  RTI::VariableLengthData const & aTag)
467  throw (
468  DeletePrivilegeNotHeld,
469  ObjectInstanceNotKnown,
470  FederateNotExecutionMember,
471  SaveInProgress,
472  RestoreInProgress,
473  RTIinternalError);
474 
475  virtual void deleteObjectInstanceSR(
476  unsigned int clientID,
477  ObjectInstanceHandle theObject,
478  VariableLengthData const & theUserSuppliedTag);
479 
480  virtual MessageRetractionHandle deleteObjectInstance
481  (ObjectInstanceHandle theObject,
482  RTI::VariableLengthData const & aTag,
483  LogicalTime const & theTime)
484  throw (
485  DeletePrivilegeNotHeld,
486  ObjectInstanceNotKnown,
487  InvalidLogicalTime,
488  FederateNotExecutionMember,
489  SaveInProgress,
490  RestoreInProgress,
491  RTIinternalError);
492 
493  virtual MessageRetractionHandle deleteObjectInstanceSR(
494  unsigned int clientID,
495  ObjectInstanceHandle theObject,
496  VariableLengthData const & theUserSuppliedTag,
497  LogicalTime const & theTime);
498 
500  virtual void localDeleteObjectInstance
501  (ObjectInstanceHandle theObject)
502  throw (
503  ObjectInstanceNotKnown,
504  FederateOwnsAttributes,
505  OwnershipAcquisitionPending,
506  FederateNotExecutionMember,
507  SaveInProgress,
508  RestoreInProgress,
509  RTIinternalError);
510 
511  virtual void localDeleteObjectInstanceSR(
512  unsigned int clientID,
513  ObjectInstanceHandle theObject);
514 
516  virtual void changeAttributeTransportationType
517  (ObjectInstanceHandle theObject,
518  AttributeHandleSet const & theAttributes,
519  TransportationType theType)
520  throw (
521  ObjectInstanceNotKnown,
522  AttributeNotDefined,
523  AttributeNotOwned,
524  FederateNotExecutionMember,
525  SaveInProgress,
526  RestoreInProgress,
527  RTIinternalError);
528 
530  virtual void changeInteractionTransportationType
531  (InteractionClassHandle theClass,
532  TransportationType theType)
533  throw (
534  InteractionClassNotDefined,
535  InteractionClassNotPublished,
536  FederateNotExecutionMember,
537  SaveInProgress,
538  RestoreInProgress,
539  RTIinternalError);
540 
542  virtual void requestAttributeValueUpdate
543  (ObjectInstanceHandle theObject,
544  AttributeHandleSet const & theAttributes,
545  RTI::VariableLengthData const & aTag)
546  throw (
547  ObjectInstanceNotKnown,
548  AttributeNotDefined,
549  FederateNotExecutionMember,
550  SaveInProgress,
551  RestoreInProgress,
552  RTIinternalError);
553 
554  virtual void requestAttributeValueUpdate
555  (ObjectClassHandle theClass,
556  AttributeHandleSet const & theAttributes,
557  RTI::VariableLengthData const & aTag)
558  throw (
559  ObjectClassNotDefined,
560  AttributeNotDefined,
561  FederateNotExecutionMember,
562  SaveInProgress,
563  RestoreInProgress,
564  RTIinternalError);
565 
570  virtual void unconditionalAttributeOwnershipDivestiture
571  (ObjectInstanceHandle theObject,
572  AttributeHandleSet const & theAttributes)
573  throw (
574  ObjectInstanceNotKnown,
575  AttributeNotDefined,
576  AttributeNotOwned,
577  FederateNotExecutionMember,
578  SaveInProgress,
579  RestoreInProgress,
580  RTIinternalError);
581 
583  virtual void negotiatedAttributeOwnershipDivestiture
584  (ObjectInstanceHandle theObject,
585  AttributeHandleSet const & theAttributes,
586  RTI::VariableLengthData const & aTag)
587  throw (
588  ObjectInstanceNotKnown,
589  AttributeNotDefined,
590  AttributeNotOwned,
591  AttributeAlreadyBeingDivested,
592  FederateNotExecutionMember,
593  SaveInProgress,
594  RestoreInProgress,
595  RTIinternalError);
596 
598  virtual void confirmDivestiture
599  (ObjectInstanceHandle theObject,
600  AttributeHandleSet const & confirmedAttributes,
601  RTI::VariableLengthData const & aTag)
602  throw (
603  ObjectInstanceNotKnown,
604  AttributeNotDefined,
605  AttributeNotOwned,
606  AttributeDivestitureWasNotRequested,
607  NoAcquisitionPending,
608  FederateNotExecutionMember,
609  SaveInProgress,
610  RestoreInProgress,
611  RTIinternalError);
612 
614  virtual void attributeOwnershipAcquisition
615  (ObjectInstanceHandle theObject,
616  AttributeHandleSet const & desiredAttributes,
617  RTI::VariableLengthData const & aTag)
618  throw (
619  ObjectInstanceNotKnown,
620  ObjectClassNotPublished,
621  AttributeNotDefined,
622  AttributeNotPublished,
623  FederateOwnsAttributes,
624  FederateNotExecutionMember,
625  SaveInProgress,
626  RestoreInProgress,
627  RTIinternalError);
628 
630  virtual void attributeOwnershipAcquisitionIfAvailable
631  (ObjectInstanceHandle theObject,
632  AttributeHandleSet const & desiredAttributes)
633  throw (
634  ObjectInstanceNotKnown,
635  ObjectClassNotPublished,
636  AttributeNotDefined,
637  AttributeNotPublished,
638  FederateOwnsAttributes,
639  AttributeAlreadyBeingAcquired,
640  FederateNotExecutionMember,
641  SaveInProgress,
642  RestoreInProgress,
643  RTIinternalError);
644 
646  virtual void attributeOwnershipDivestitureIfWanted(
647  ObjectInstanceHandle theObject,
648  AttributeHandleSet const & theAttributes,
649  AttributeHandleSet & theDivestedAttributes)
650  throw (
651  ObjectInstanceNotKnown,
652  AttributeNotDefined,
653  AttributeNotOwned,
654  FederateNotExecutionMember,
655  SaveInProgress,
656  RestoreInProgress,
657  RTIinternalError);
658 
660  virtual void cancelNegotiatedAttributeOwnershipDivestiture
661  (ObjectInstanceHandle theObject,
662  AttributeHandleSet const & theAttributes)
663  throw (
664  ObjectInstanceNotKnown,
665  AttributeNotDefined,
666  AttributeNotOwned,
667  AttributeDivestitureWasNotRequested,
668  FederateNotExecutionMember,
669  SaveInProgress,
670  RestoreInProgress,
671  RTIinternalError);
672 
674  virtual void cancelAttributeOwnershipAcquisition
675  (ObjectInstanceHandle theObject,
676  AttributeHandleSet const & theAttributes)
677  throw (
678  ObjectInstanceNotKnown,
679  AttributeNotDefined,
680  AttributeAlreadyOwned,
681  AttributeAcquisitionWasNotRequested,
682  FederateNotExecutionMember,
683  SaveInProgress,
684  RestoreInProgress,
685  RTIinternalError);
686 
688  virtual void queryAttributeOwnership
689  (ObjectInstanceHandle theObject,
690  AttributeHandle theAttribute)
691  throw (
692  ObjectInstanceNotKnown,
693  AttributeNotDefined,
694  FederateNotExecutionMember,
695  SaveInProgress,
696  RestoreInProgress,
697  RTIinternalError);
698 
700  virtual bool isAttributeOwnedByFederate
701  (ObjectInstanceHandle theObject,
702  AttributeHandle theAttribute)
703  throw (
704  ObjectInstanceNotKnown,
705  AttributeNotDefined,
706  FederateNotExecutionMember,
707  SaveInProgress,
708  RestoreInProgress,
709  RTIinternalError);
710 
714 
716  virtual void enableTimeRegulation
717  (LogicalTimeInterval const & theLookahead)
718  throw (
719  TimeRegulationAlreadyEnabled,
720  InvalidLookahead,
721  InTimeAdvancingState,
722  RequestForTimeRegulationPending,
723  FederateNotExecutionMember,
724  SaveInProgress,
725  RestoreInProgress,
726  RTIinternalError);
727 
729  virtual void disableTimeRegulation ()
730  throw (
731  TimeRegulationIsNotEnabled,
732  FederateNotExecutionMember,
733  SaveInProgress,
734  RestoreInProgress,
735  RTIinternalError);
736 
738  virtual void enableTimeConstrained ()
739  throw (
740  TimeConstrainedAlreadyEnabled,
741  InTimeAdvancingState,
742  RequestForTimeConstrainedPending,
743  FederateNotExecutionMember,
744  SaveInProgress,
745  RestoreInProgress,
746  RTIinternalError);
747 
749  virtual void disableTimeConstrained ()
750  throw (
751  TimeConstrainedIsNotEnabled,
752  FederateNotExecutionMember,
753  SaveInProgress,
754  RestoreInProgress,
755  RTIinternalError);
756 
758  virtual void timeAdvanceRequest
759  (LogicalTime const & theTime)
760  throw (
761  InvalidLogicalTime,
762  LogicalTimeAlreadyPassed,
763  InTimeAdvancingState,
764  RequestForTimeRegulationPending,
765  RequestForTimeConstrainedPending,
766  FederateNotExecutionMember,
767  SaveInProgress,
768  RestoreInProgress,
769  RTIinternalError);
770 
772  virtual void timeAdvanceRequestAvailable
773  (LogicalTime const & theTime)
774  throw (
775  InvalidLogicalTime,
776  LogicalTimeAlreadyPassed,
777  InTimeAdvancingState,
778  RequestForTimeRegulationPending,
779  RequestForTimeConstrainedPending,
780  FederateNotExecutionMember,
781  SaveInProgress,
782  RestoreInProgress,
783  RTIinternalError);
784 
786  virtual void nextMessageRequest
787  (LogicalTime const & theTime)
788  throw (
789  InvalidLogicalTime,
790  LogicalTimeAlreadyPassed,
791  InTimeAdvancingState,
792  RequestForTimeRegulationPending,
793  RequestForTimeConstrainedPending,
794  FederateNotExecutionMember,
795  SaveInProgress,
796  RestoreInProgress,
797  RTIinternalError);
798 
800  virtual void nextMessageRequestAvailable
801  (LogicalTime const & theTime)
802  throw (
803  InvalidLogicalTime,
804  LogicalTimeAlreadyPassed,
805  InTimeAdvancingState,
806  RequestForTimeRegulationPending,
807  RequestForTimeConstrainedPending,
808  FederateNotExecutionMember,
809  SaveInProgress,
810  RestoreInProgress,
811  RTIinternalError);
812 
814  virtual void flushQueueRequest
815  (LogicalTime const & theTime)
816  throw (
817  InvalidLogicalTime,
818  LogicalTimeAlreadyPassed,
819  InTimeAdvancingState,
820  RequestForTimeRegulationPending,
821  RequestForTimeConstrainedPending,
822  FederateNotExecutionMember,
823  SaveInProgress,
824  RestoreInProgress,
825  RTIinternalError);
826 
828  virtual void enableAsynchronousDelivery ()
829  throw (
830  AsynchronousDeliveryAlreadyEnabled,
831  FederateNotExecutionMember,
832  SaveInProgress,
833  RestoreInProgress,
834  RTIinternalError);
835 
837  virtual void disableAsynchronousDelivery ()
838  throw (
839  AsynchronousDeliveryAlreadyDisabled,
840  FederateNotExecutionMember,
841  SaveInProgress,
842  RestoreInProgress,
843  RTIinternalError);
844 
846  virtual bool queryGALT (LogicalTime & theTime)
847  throw (
848  FederateNotExecutionMember,
849  SaveInProgress,
850  RestoreInProgress,
851  RTIinternalError);
852 
854  virtual void queryLogicalTime (LogicalTime & theTime)
855  throw (
856  FederateNotExecutionMember,
857  SaveInProgress,
858  RestoreInProgress,
859  RTIinternalError);
860 
862  virtual bool queryLITS (LogicalTime & theTime)
863  throw (
864  FederateNotExecutionMember,
865  SaveInProgress,
866  RestoreInProgress,
867  RTIinternalError);
868 
870  virtual void modifyLookahead
871  (LogicalTimeInterval const & theLookahead)
872  throw (
873  TimeRegulationIsNotEnabled,
874  InvalidLookahead,
875  InTimeAdvancingState,
876  FederateNotExecutionMember,
877  SaveInProgress,
878  RestoreInProgress,
879  RTIinternalError);
880 
882  virtual void queryLookahead (LogicalTimeInterval & interval)
883  throw (
884  TimeRegulationIsNotEnabled,
885  FederateNotExecutionMember,
886  SaveInProgress,
887  RestoreInProgress,
888  RTIinternalError);
889 
891  virtual void retract
892  (MessageRetractionHandle theHandle)
893  throw (
894  InvalidRetractionHandle,
895  TimeRegulationIsNotEnabled,
896  MessageCanNoLongerBeRetracted,
897  FederateNotExecutionMember,
898  SaveInProgress,
899  RestoreInProgress,
900  RTIinternalError);
901 
903  virtual void changeAttributeOrderType
904  (ObjectInstanceHandle theObject,
905  AttributeHandleSet const & theAttributes,
906  OrderType theType)
907  throw (
908  ObjectInstanceNotKnown,
909  AttributeNotDefined,
910  AttributeNotOwned,
911  FederateNotExecutionMember,
912  SaveInProgress,
913  RestoreInProgress,
914  RTIinternalError);
915 
917  virtual void changeInteractionOrderType
918  (InteractionClassHandle theClass,
919  OrderType theType)
920  throw (
921  InteractionClassNotDefined,
922  InteractionClassNotPublished,
923  FederateNotExecutionMember,
924  SaveInProgress,
925  RestoreInProgress,
926  RTIinternalError);
927 
931 
933  virtual RegionHandle createRegion
934  (DimensionHandleSet const & theDimensions)
935  throw (
936  InvalidDimensionHandle,
937  FederateNotExecutionMember,
938  SaveInProgress,
939  RestoreInProgress,
940  RTIinternalError);
941 
943  virtual void commitRegionModifications
944  (RegionHandleSet const & theRegionHandleSet)
945  throw (
946  InvalidRegion,
947  RegionNotCreatedByThisFederate,
948  FederateNotExecutionMember,
949  SaveInProgress,
950  RestoreInProgress,
951  RTIinternalError);
952 
954  virtual void deleteRegion
955  (RegionHandle theRegion)
956  throw (
957  InvalidRegion,
958  RegionNotCreatedByThisFederate,
959  RegionInUseForUpdateOrSubscription,
960  FederateNotExecutionMember,
961  SaveInProgress,
962  RestoreInProgress,
963  RTIinternalError);
964 
966  virtual ObjectInstanceHandle registerObjectInstanceWithRegions
967  (ObjectClassHandle theClass,
968  AttributeHandleSetRegionHandleSetPairVector const &
969  theAttributeHandleSetRegionHandleSetPairVector)
970  throw (
971  ObjectClassNotDefined,
972  ObjectClassNotPublished,
973  AttributeNotDefined,
974  AttributeNotPublished,
975  InvalidRegion,
976  RegionNotCreatedByThisFederate,
977  InvalidRegionContext,
978  FederateNotExecutionMember,
979  SaveInProgress,
980  RestoreInProgress,
981  RTIinternalError);
982 
983  virtual ObjectInstanceHandle registerObjectInstanceWithRegionsSR(
984  unsigned int clientID,
985  ObjectClassHandle theClass,
986  AttributeHandleSetRegionHandleSetPairVector const &
987  theAttributeHandleSetRegionHandleSetPairVector);
988 
989  virtual ObjectInstanceHandle registerObjectInstanceWithRegions
990  (ObjectClassHandle theClass,
991  AttributeHandleSetRegionHandleSetPairVector const &
992  theAttributeHandleSetRegionHandleSetPairVector,
993  std::wstring const & theObjectInstanceName)
994  throw (
995  ObjectClassNotDefined,
996  ObjectClassNotPublished,
997  AttributeNotDefined,
998  AttributeNotPublished,
999  InvalidRegion,
1000  RegionNotCreatedByThisFederate,
1001  InvalidRegionContext,
1002  ObjectInstanceNameNotReserved,
1003  ObjectInstanceNameInUse,
1004  FederateNotExecutionMember,
1005  SaveInProgress,
1006  RestoreInProgress,
1007  RTIinternalError);
1008 
1009  virtual ObjectInstanceHandle registerObjectInstanceWithRegionsSR(
1010  unsigned int clientID,
1011  ObjectClassHandle theClass,
1012  AttributeHandleSetRegionHandleSetPairVector const &
1013  theAttributeHandleSetRegionHandleSetPairVector,
1014  std::wstring const & theObjectInstanceName);
1015 
1017  virtual void associateRegionsForUpdates
1018  (ObjectInstanceHandle theObject,
1019  AttributeHandleSetRegionHandleSetPairVector const &
1020  theAttributeHandleSetRegionHandleSetPairVector)
1021  throw (
1022  ObjectInstanceNotKnown,
1023  AttributeNotDefined,
1024  InvalidRegion,
1025  RegionNotCreatedByThisFederate,
1026  InvalidRegionContext,
1027  FederateNotExecutionMember,
1028  SaveInProgress,
1029  RestoreInProgress,
1030  RTIinternalError);
1031 
1033  virtual void unassociateRegionsForUpdates
1034  (ObjectInstanceHandle theObject,
1035  AttributeHandleSetRegionHandleSetPairVector const &
1036  theAttributeHandleSetRegionHandleSetPairVector)
1037  throw (
1038  ObjectInstanceNotKnown,
1039  AttributeNotDefined,
1040  InvalidRegion,
1041  RegionNotCreatedByThisFederate,
1042  FederateNotExecutionMember,
1043  SaveInProgress,
1044  RestoreInProgress,
1045  RTIinternalError);
1046 
1048  virtual void subscribeObjectClassAttributesWithRegions
1049  (ObjectClassHandle theClass,
1050  AttributeHandleSetRegionHandleSetPairVector const &
1051  theAttributeHandleSetRegionHandleSetPairVector,
1052  bool active = true)
1053  throw (
1054  ObjectClassNotDefined,
1055  AttributeNotDefined,
1056  InvalidRegion,
1057  RegionNotCreatedByThisFederate,
1058  InvalidRegionContext,
1059  FederateNotExecutionMember,
1060  SaveInProgress,
1061  RestoreInProgress,
1062  RTIinternalError);
1063 
1065  virtual void unsubscribeObjectClassAttributesWithRegions
1066  (ObjectClassHandle theClass,
1067  AttributeHandleSetRegionHandleSetPairVector const &
1068  theAttributeHandleSetRegionHandleSetPairVector)
1069  throw (
1070  ObjectClassNotDefined,
1071  AttributeNotDefined,
1072  InvalidRegion,
1073  RegionNotCreatedByThisFederate,
1074  FederateNotExecutionMember,
1075  SaveInProgress,
1076  RestoreInProgress,
1077  RTIinternalError);
1078 
1080  virtual void subscribeInteractionClassWithRegions
1081  (InteractionClassHandle theClass,
1082  RegionHandleSet const & theRegionHandleSet,
1083  bool active = true)
1084  throw (
1085  InteractionClassNotDefined,
1086  InvalidRegion,
1087  RegionNotCreatedByThisFederate,
1088  InvalidRegionContext,
1089  FederateServiceInvocationsAreBeingReportedViaMOM,
1090  FederateNotExecutionMember,
1091  SaveInProgress,
1092  RestoreInProgress,
1093  RTIinternalError);
1094 
1096  virtual void unsubscribeInteractionClassWithRegions
1097  (InteractionClassHandle theClass,
1098  RegionHandleSet const & theRegionHandleSet)
1099  throw (
1100  InteractionClassNotDefined,
1101  InvalidRegion,
1102  RegionNotCreatedByThisFederate,
1103  FederateNotExecutionMember,
1104  SaveInProgress,
1105  RestoreInProgress,
1106  RTIinternalError);
1107 
1109  virtual void sendInteractionWithRegions
1110  (InteractionClassHandle theInteraction,
1111  ParameterHandleValueMap const & theParameterValues,
1112  RegionHandleSet const & theRegionHandleSet,
1113  RTI::VariableLengthData const & aTag)
1114  throw (
1115  InteractionClassNotDefined,
1116  InteractionClassNotPublished,
1117  InteractionParameterNotDefined,
1118  InvalidRegion,
1119  RegionNotCreatedByThisFederate,
1120  InvalidRegionContext,
1121  FederateNotExecutionMember,
1122  SaveInProgress,
1123  RestoreInProgress,
1124  RTIinternalError);
1125 
1126  virtual void sendInteractionWithRegionsSR(
1127  unsigned int clientID,
1128  InteractionClassHandle theInteraction,
1129  ParameterHandleValueMap const & theParameterValues,
1130  RegionHandleSet const & theRegionHandleSet,
1131  VariableLengthData const & theUserSuppliedTag);
1132 
1133  virtual MessageRetractionHandle sendInteractionWithRegions
1134  (InteractionClassHandle theInteraction,
1135  ParameterHandleValueMap const & theParameterValues,
1136  RegionHandleSet const & theRegionHandleSet,
1137  RTI::VariableLengthData const & aTag,
1138  LogicalTime const & theTime)
1139  throw (
1140  InteractionClassNotDefined,
1141  InteractionClassNotPublished,
1142  InteractionParameterNotDefined,
1143  InvalidRegion,
1144  RegionNotCreatedByThisFederate,
1145  InvalidRegionContext,
1146  InvalidLogicalTime,
1147  FederateNotExecutionMember,
1148  SaveInProgress,
1149  RestoreInProgress,
1150  RTIinternalError);
1151 
1152  virtual MessageRetractionHandle sendInteractionWithRegionsSR(
1153  unsigned int clientID,
1154  InteractionClassHandle theInteraction,
1155  ParameterHandleValueMap const & theParameterValues,
1156  RegionHandleSet const & theRegionHandleSet,
1157  VariableLengthData const & theUserSuppliedTag,
1158  LogicalTime const & theTime);
1159 
1161  virtual void requestAttributeValueUpdateWithRegions
1162  (ObjectClassHandle theClass,
1163  AttributeHandleSetRegionHandleSetPairVector const & theSet,
1164  RTI::VariableLengthData const & aTag)
1165  throw (
1166  ObjectClassNotDefined,
1167  AttributeNotDefined,
1168  InvalidRegion,
1169  RegionNotCreatedByThisFederate,
1170  InvalidRegionContext,
1171  FederateNotExecutionMember,
1172  SaveInProgress,
1173  RestoreInProgress,
1174  RTIinternalError);
1175 
1179 
1181  virtual ObjectClassHandle getObjectClassHandle
1182  (std::wstring const & theName)
1183  throw (
1184  NameNotFound,
1185  FederateNotExecutionMember,
1186  RTIinternalError);
1187 
1189  virtual std::wstring getObjectClassName
1190  (ObjectClassHandle theClass)
1191  throw (
1192  InvalidObjectClassHandle,
1193  FederateNotExecutionMember,
1194  RTIinternalError);
1195 
1197  virtual AttributeHandle getAttributeHandle
1198  (ObjectClassHandle theClass,
1199  std::wstring const & theAttributeName)
1200  throw (
1201  InvalidObjectClassHandle,
1202  NameNotFound,
1203  FederateNotExecutionMember,
1204  RTIinternalError);
1205 
1207  virtual std::wstring getAttributeName
1208  (ObjectClassHandle theClass,
1209  AttributeHandle theHandle)
1210  throw (
1211  InvalidObjectClassHandle,
1212  InvalidAttributeHandle,
1213  AttributeNotDefined,
1214  FederateNotExecutionMember,
1215  RTIinternalError);
1216 
1218  virtual InteractionClassHandle getInteractionClassHandle
1219  (std::wstring const & theName)
1220  throw (
1221  NameNotFound,
1222  FederateNotExecutionMember,
1223  RTIinternalError);
1224 
1226  virtual std::wstring getInteractionClassName
1227  (InteractionClassHandle theHandle)
1228  throw (
1229  InvalidInteractionClassHandle,
1230  FederateNotExecutionMember,
1231  RTIinternalError);
1232 
1234  virtual ParameterHandle getParameterHandle
1235  (InteractionClassHandle whichClass,
1236  std::wstring const & theName)
1237  throw (
1238  InvalidInteractionClassHandle,
1239  NameNotFound,
1240  FederateNotExecutionMember,
1241  RTIinternalError);
1242 
1244  virtual std::wstring getParameterName
1245  (InteractionClassHandle whichClass,
1246  ParameterHandle theHandle)
1247  throw (
1248  InvalidInteractionClassHandle,
1249  InvalidParameterHandle,
1250  InteractionParameterNotDefined,
1251  FederateNotExecutionMember,
1252  RTIinternalError);
1253 
1255  virtual ObjectInstanceHandle getObjectInstanceHandle
1256  (std::wstring const & theName)
1257  throw (
1258  ObjectInstanceNotKnown,
1259  FederateNotExecutionMember,
1260  RTIinternalError);
1261 
1263  virtual std::wstring getObjectInstanceName
1264  (ObjectInstanceHandle theHandle)
1265  throw (
1266  ObjectInstanceNotKnown,
1267  FederateNotExecutionMember,
1268  RTIinternalError);
1269 
1271  virtual DimensionHandle getDimensionHandle
1272  (std::wstring const & theName)
1273  throw (
1274  NameNotFound,
1275  FederateNotExecutionMember,
1276  RTIinternalError);
1277 
1279  virtual std::wstring getDimensionName
1280  (DimensionHandle theHandle)
1281  throw (
1282  InvalidDimensionHandle,
1283  FederateNotExecutionMember,
1284  RTIinternalError);
1285 
1287  virtual unsigned long getDimensionUpperBound
1288  (DimensionHandle theHandle)
1289  throw (
1290  InvalidDimensionHandle,
1291  FederateNotExecutionMember,
1292  RTIinternalError);
1293 
1295  virtual DimensionHandleSet getAvailableDimensionsForClassAttribute
1296  (ObjectClassHandle theClass,
1297  AttributeHandle theHandle)
1298  throw (
1299  InvalidObjectClassHandle,
1300  InvalidAttributeHandle,
1301  AttributeNotDefined,
1302  FederateNotExecutionMember,
1303  RTIinternalError);
1304 
1306  virtual ObjectClassHandle getKnownObjectClassHandle
1307  (ObjectInstanceHandle theObject)
1308  throw (
1309  ObjectInstanceNotKnown,
1310  FederateNotExecutionMember,
1311  RTIinternalError);
1312 
1314  virtual DimensionHandleSet getAvailableDimensionsForInteractionClass
1315  (InteractionClassHandle theClass)
1316  throw (
1317  InvalidInteractionClassHandle,
1318  FederateNotExecutionMember,
1319  RTIinternalError);
1320 
1322  virtual TransportationType getTransportationType
1323  (std::wstring const & transportationName)
1324  throw (
1325  InvalidTransportationName,
1326  FederateNotExecutionMember,
1327  RTIinternalError);
1328 
1330  virtual std::wstring getTransportationName
1331  (TransportationType transportationType)
1332  throw (
1333  InvalidTransportationType,
1334  FederateNotExecutionMember,
1335  RTIinternalError);
1336 
1338  virtual OrderType getOrderType
1339  (std::wstring const & orderName)
1340  throw (
1341  InvalidOrderName,
1342  FederateNotExecutionMember,
1343  RTIinternalError);
1344 
1346  virtual std::wstring getOrderName
1347  (OrderType orderType)
1348  throw (
1349  InvalidOrderType,
1350  FederateNotExecutionMember,
1351  RTIinternalError);
1352 
1354  virtual void enableObjectClassRelevanceAdvisorySwitch ()
1355  throw (
1356  ObjectClassRelevanceAdvisorySwitchIsOn,
1357  FederateNotExecutionMember,
1358  SaveInProgress,
1359  RestoreInProgress,
1360  RTIinternalError);
1361 
1363  virtual void disableObjectClassRelevanceAdvisorySwitch ()
1364  throw (
1365  ObjectClassRelevanceAdvisorySwitchIsOff,
1366  FederateNotExecutionMember,
1367  SaveInProgress,
1368  RestoreInProgress,
1369  RTIinternalError);
1370 
1372  virtual void enableAttributeRelevanceAdvisorySwitch ()
1373  throw (
1374  AttributeRelevanceAdvisorySwitchIsOn,
1375  FederateNotExecutionMember,
1376  SaveInProgress,
1377  RestoreInProgress,
1378  RTIinternalError);
1379 
1381  virtual void disableAttributeRelevanceAdvisorySwitch ()
1382  throw (
1383  AttributeRelevanceAdvisorySwitchIsOff,
1384  FederateNotExecutionMember,
1385  SaveInProgress,
1386  RestoreInProgress,
1387  RTIinternalError);
1388 
1390  virtual void enableAttributeScopeAdvisorySwitch ()
1391  throw (
1392  AttributeScopeAdvisorySwitchIsOn,
1393  FederateNotExecutionMember,
1394  SaveInProgress,
1395  RestoreInProgress,
1396  RTIinternalError);
1397 
1399  virtual void disableAttributeScopeAdvisorySwitch ()
1400  throw (
1401  AttributeScopeAdvisorySwitchIsOff,
1402  FederateNotExecutionMember,
1403  SaveInProgress,
1404  RestoreInProgress,
1405  RTIinternalError);
1406 
1408  virtual void enableInteractionRelevanceAdvisorySwitch ()
1409  throw (
1410  InteractionRelevanceAdvisorySwitchIsOn,
1411  FederateNotExecutionMember,
1412  SaveInProgress,
1413  RestoreInProgress,
1414  RTIinternalError);
1415 
1417  virtual void disableInteractionRelevanceAdvisorySwitch ()
1418  throw (
1419  InteractionRelevanceAdvisorySwitchIsOff,
1420  FederateNotExecutionMember,
1421  SaveInProgress,
1422  RestoreInProgress,
1423  RTIinternalError);
1424 
1426  virtual DimensionHandleSet getDimensionHandleSet
1427  (RegionHandle theRegionHandle)
1428  throw (
1429  InvalidRegion,
1430  FederateNotExecutionMember,
1431  SaveInProgress,
1432  RestoreInProgress,
1433  RTIinternalError);
1434 
1436  virtual RangeBounds getRangeBounds
1437  (RegionHandle theRegionHandle,
1438  DimensionHandle theDimensionHandle)
1439  throw (
1440  InvalidRegion,
1441  RegionDoesNotContainSpecifiedDimension,
1442  FederateNotExecutionMember,
1443  SaveInProgress,
1444  RestoreInProgress,
1445  RTIinternalError);
1446 
1448  virtual void setRangeBounds
1449  (RegionHandle theRegionHandle,
1450  DimensionHandle theDimensionHandle,
1451  RangeBounds const & theRangeBounds)
1452  throw (
1453  InvalidRegion,
1454  RegionNotCreatedByThisFederate,
1455  RegionDoesNotContainSpecifiedDimension,
1456  InvalidRangeBound,
1457  FederateNotExecutionMember,
1458  SaveInProgress,
1459  RestoreInProgress,
1460  RTIinternalError);
1461 
1463  virtual unsigned long normalizeFederateHandle
1464  (FederateHandle theFederateHandle)
1465  throw (
1466  FederateNotExecutionMember,
1467  RTIinternalError);
1468 
1470  virtual unsigned long normalizeServiceGroup
1471  (ServiceGroupIndicator theServiceGroup)
1472  throw (
1473  FederateNotExecutionMember,
1474  InvalidServiceGroup,
1475  RTIinternalError);
1476 
1478  virtual bool evokeCallback(double approximateMinimumTimeInSeconds)
1479  throw (
1480  FederateNotExecutionMember,
1481  RTIinternalError);
1482 
1484  virtual bool evokeMultipleCallbacks(double approximateMinimumTimeInSeconds,
1485  double approximateMaximumTimeInSeconds)
1486  throw (
1487  FederateNotExecutionMember,
1488  RTIinternalError);
1489 
1491  virtual void enableCallbacks ()
1492  throw (
1493  FederateNotExecutionMember,
1494  SaveInProgress,
1495  RestoreInProgress,
1496  RTIinternalError);
1497 
1499  virtual void disableCallbacks ()
1500  throw (
1501  FederateNotExecutionMember,
1502  SaveInProgress,
1503  RestoreInProgress,
1504  RTIinternalError);
1505 
1506  virtual FederateHandle decodeFederateHandle(
1507  VariableLengthData const & encodedValue) const;
1508 
1509  virtual ObjectClassHandle decodeObjectClassHandle(
1510  VariableLengthData const & encodedValue) const;
1511 
1512  virtual InteractionClassHandle decodeInteractionClassHandle(
1513  VariableLengthData const & encodedValue) const;
1514 
1515  virtual ObjectInstanceHandle decodeObjectInstanceHandle(
1516  VariableLengthData const & encodedValue) const;
1517 
1518  virtual AttributeHandle decodeAttributeHandle(
1519  VariableLengthData const & encodedValue) const;
1520 
1521  virtual ParameterHandle decodeParameterHandle(
1522  VariableLengthData const & encodedValue) const;
1523 
1524  virtual DimensionHandle decodeDimensionHandle(
1525  VariableLengthData const & encodedValue) const;
1526 
1527  virtual MessageRetractionHandle decodeMessageRetractionHandle(
1528  VariableLengthData const & encodedValue) const;
1529 
1530  virtual RegionHandle decodeRegionHandle(
1531  VariableLengthData const & encodedValue) const;
1532 
1533  public:
1534 
1536  static DtVrlRtiAmbassador* create(const std::vector<std::wstring>&);
1537 
1538  protected:
1539 
1541  virtual bool lockServiceCall() const;
1542 
1544  virtual void unlockServiceCall() const;
1545 
1547  virtual bool enterServiceCall() const;
1548 
1550  virtual void exitServiceCall() const;
1551 
1553  DtServerRtiAmbassador* self() const;
1554 
1555 
1556  protected:
1557 
1559  std::auto_ptr<RTIambassador> myRtiAmb;
1560 
1562  DtServerExerciseConnection* myServerExerciseConnection;
1563 
1565  FederateAmbassador* myFedAmb;
1566 
1568  std::vector<std::wstring> myCreateArgs;
1569 
1570  bool myIsJoined;
1571 
1572  };
1573 }
1574 
1575 #endif
1576 #endif
1577 
1578 

Document ID: Generated on Sun Dec 15 18:04:30 EST 2013 from SVN revision 134418
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)