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

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