MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ambImp.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2011 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
8 
9 #pragma once
10 
11 #ifdef DtIFSPEC13
12 
13 #include "rtiMsConfig.h"
14 #include "ambImpBase.h"
15 #ifdef DtIFSPEC13DLC
16 #include "RTI13.h"
17 #else
18 #include "RTI.hh"
19 #endif
20 
21 #ifdef DtIFSPEC13DLC
22 #define RTI rti13
23 #endif
24 
35 class DT_DLL_LRC DtRtiAmbassadorImplementor : public DtRtiAmbassadorBaseImplementor
36 {
37 public:
38 
40  typedef DtRtiAmbassadorImplementor*
41  (*DtRtiAmbassadorImplementorCreator)(RTI::RTIambassador* topLevelAmbPtr);
42 
43 protected:
44 
46  DtRtiAmbassadorImplementor(RTI::RTIambassador* topLevelAmbPtr)
47  throw (
48  RTI::MemoryExhausted,
49  RTI::RTIinternalError);
50 
51 public:
52 
54  virtual ~DtRtiAmbassadorImplementor();
55 
56 private:
57 
59  DtRtiAmbassadorImplementor(DtRtiAmbassadorImplementor const& );
60 
62  DtRtiAmbassadorImplementor& operator= (DtRtiAmbassadorImplementor const& );
63 
64 public:
65 
67  virtual void createFederationExecution (
68  const char *executionName,
69  const char *FED)
70  throw (
71  RTI::FederationExecutionAlreadyExists,
72  RTI::CouldNotOpenFED,
73  RTI::ErrorReadingFED,
74  RTI::ConcurrentAccessAttempted,
75  RTI::RTIinternalError);
76 
78  virtual void destroyFederationExecution (
79  const char *executionName)
80  throw (
81  RTI::FederatesCurrentlyJoined,
82  RTI::FederationExecutionDoesNotExist,
83  RTI::ConcurrentAccessAttempted,
84  RTI::RTIinternalError);
85 
87  virtual RTI::FederateHandle joinFederationExecution (
88  const char *yourName,
89  const char *executionName,
90  RTI::FederateAmbassador* federateAmbassadorReference,
91  unsigned long flags)
92  throw (
93  RTI::FederateAlreadyExecutionMember,
94  RTI::FederationExecutionDoesNotExist,
95  RTI::CouldNotOpenFED,
96  RTI::ErrorReadingFED,
97  RTI::ConcurrentAccessAttempted,
98  RTI::SaveInProgress,
99  RTI::RestoreInProgress,
100  RTI::RTIinternalError);
101 
103  virtual void resignFederationExecution (
104  RTI::ResignAction theAction)
105  throw (
106  RTI::FederateOwnsAttributes,
107  RTI::FederateNotExecutionMember,
108  RTI::InvalidResignAction,
109  RTI::ConcurrentAccessAttempted,
110  RTI::RTIinternalError);
111 
113  virtual void registerFederationSynchronizationPoint (
115  const char *label,
116  const char *theTag)
117  throw (
118  RTI::FederateNotExecutionMember,
119  RTI::ConcurrentAccessAttempted,
120  RTI::SaveInProgress,
121  RTI::RestoreInProgress,
122  RTI::RTIinternalError);
123 
124  virtual void registerFederationSynchronizationPoint (
125  const char *label,
126  const char *theTag,
127  const RTI::FederateHandleSet& syncSet)
128  throw (
129  RTI::FederateNotExecutionMember,
130  RTI::ConcurrentAccessAttempted,
131  RTI::SaveInProgress,
132  RTI::RestoreInProgress,
133  RTI::RTIinternalError);
135 
137  virtual void synchronizationPointAchieved (
138  const char *label)
139  throw (
140  RTI::SynchronizationPointLabelWasNotAnnounced,
141  RTI::FederateNotExecutionMember,
142  RTI::ConcurrentAccessAttempted,
143  RTI::SaveInProgress,
144  RTI::RestoreInProgress,
145  RTI::RTIinternalError);
146 
148  virtual void requestFederationSave (
150  const char *label,
151  const RTI::FedTime& theTime)
152  throw (
153  RTI::FederationTimeAlreadyPassed,
154  RTI::InvalidFederationTime,
155  RTI::FederateNotExecutionMember,
156  RTI::ConcurrentAccessAttempted,
157  RTI::SaveInProgress,
158  RTI::RestoreInProgress,
159  RTI::RTIinternalError);
160 
161  virtual void requestFederationSave (
162  const char *label)
163  throw (
164  RTI::FederateNotExecutionMember,
165  RTI::ConcurrentAccessAttempted,
166  RTI::SaveInProgress,
167  RTI::RestoreInProgress,
168  RTI::RTIinternalError);
170 
172  virtual void federateSaveBegun ()
173  throw (
174  RTI::SaveNotInitiated,
175  RTI::FederateNotExecutionMember,
176  RTI::ConcurrentAccessAttempted,
177  RTI::RestoreInProgress,
178  RTI::RTIinternalError);
179 
181  virtual void federateSaveComplete ()
183  throw (
184  RTI::SaveNotInitiated,
185  RTI::FederateNotExecutionMember,
186  RTI::ConcurrentAccessAttempted,
187  RTI::RestoreInProgress,
188  RTI::RTIinternalError);
189 
190  virtual void federateSaveNotComplete ()
191  throw (
192  RTI::SaveNotInitiated,
193  RTI::FederateNotExecutionMember,
194  RTI::ConcurrentAccessAttempted,
195  RTI::RestoreInProgress,
196  RTI::RTIinternalError);
198 
200  virtual void requestFederationRestore (
201  const char *label)
202  throw (
203  RTI::FederateNotExecutionMember,
204  RTI::ConcurrentAccessAttempted,
205  RTI::SaveInProgress,
206  RTI::RestoreInProgress,
207  RTI::RTIinternalError);
208 
210  virtual void federateRestoreComplete ()
212  throw (
213  RTI::RestoreNotRequested,
214  RTI::FederateNotExecutionMember,
215  RTI::ConcurrentAccessAttempted,
216  RTI::SaveInProgress,
217  RTI::RTIinternalError);
218 
219  virtual void federateRestoreNotComplete ()
220  throw (
221  RTI::RestoreNotRequested,
222  RTI::FederateNotExecutionMember,
223  RTI::ConcurrentAccessAttempted,
224  RTI::SaveInProgress,
225  RTI::RTIinternalError);
227 
228  //-----------------------------------
230  //----------------------------------
231 
233  virtual void publishObjectClass (
234  RTI::ObjectClassHandle theClass,
235  const RTI::AttributeHandleSet& attributeList)
236  throw (
237  RTI::ObjectClassNotDefined,
238  RTI::AttributeNotDefined,
239  RTI::OwnershipAcquisitionPending,
240  RTI::FederateNotExecutionMember,
241  RTI::ConcurrentAccessAttempted,
242  RTI::SaveInProgress,
243  RTI::RestoreInProgress,
244  RTI::RTIinternalError);
245 
247  virtual void unpublishObjectClass (
248  RTI::ObjectClassHandle theClass)
249  throw (
250  RTI::ObjectClassNotDefined,
251  RTI::ObjectClassNotPublished,
252  RTI::OwnershipAcquisitionPending,
253  RTI::FederateNotExecutionMember,
254  RTI::ConcurrentAccessAttempted,
255  RTI::SaveInProgress,
256  RTI::RestoreInProgress,
257  RTI::RTIinternalError);
258 
260  virtual void publishInteractionClass (
261  RTI::InteractionClassHandle theInteraction)
262  throw (
263  RTI::InteractionClassNotDefined,
264  RTI::FederateNotExecutionMember,
265  RTI::ConcurrentAccessAttempted,
266  RTI::SaveInProgress,
267  RTI::RestoreInProgress,
268  RTI::RTIinternalError);
269 
271  virtual void unpublishInteractionClass (
272  RTI::InteractionClassHandle theInteraction)
273  throw (
274  RTI::InteractionClassNotDefined,
275  RTI::InteractionClassNotPublished,
276  RTI::FederateNotExecutionMember,
277  RTI::ConcurrentAccessAttempted,
278  RTI::SaveInProgress,
279  RTI::RestoreInProgress,
280  RTI::RTIinternalError);
281 
283  virtual void subscribeObjectClassAttributes (
284  RTI::ObjectClassHandle theClass,
285  const RTI::AttributeHandleSet& attributeList,
286  RTI::Boolean active = RTI::RTI_TRUE)
287  throw (
288  RTI::ObjectClassNotDefined,
289  RTI::AttributeNotDefined,
290  RTI::FederateNotExecutionMember,
291  RTI::ConcurrentAccessAttempted,
292  RTI::SaveInProgress,
293  RTI::RestoreInProgress,
294  RTI::RTIinternalError);
295 
297  virtual void unsubscribeObjectClass (
298  RTI::ObjectClassHandle theClass)
299  throw (
300  RTI::ObjectClassNotDefined,
301  RTI::ObjectClassNotSubscribed,
302  RTI::FederateNotExecutionMember,
303  RTI::ConcurrentAccessAttempted,
304  RTI::SaveInProgress,
305  RTI::RestoreInProgress,
306  RTI::RTIinternalError);
307 
309  virtual void subscribeInteractionClass (
310  RTI::InteractionClassHandle theClass,
311  RTI::Boolean active = RTI::RTI_TRUE)
312  throw (
313  RTI::InteractionClassNotDefined,
314  RTI::FederateNotExecutionMember,
315  RTI::ConcurrentAccessAttempted,
316  RTI::FederateLoggingServiceCalls,
317  RTI::SaveInProgress,
318  RTI::RestoreInProgress,
319  RTI::RTIinternalError);
320 
322  virtual void unsubscribeInteractionClass (
323  RTI::InteractionClassHandle theClass)
324  throw (
325  RTI::InteractionClassNotDefined,
326  RTI::InteractionClassNotSubscribed,
327  RTI::FederateNotExecutionMember,
328  RTI::ConcurrentAccessAttempted,
329  RTI::SaveInProgress,
330  RTI::RestoreInProgress,
331  RTI::RTIinternalError);
332 
333  //-------------------------------
335  //-------------------------------
336 
338  virtual RTI::ObjectHandle registerObjectInstance (
340  RTI::ObjectClassHandle theClass,
341  const char *theObject)
342  throw (
343  RTI::ObjectClassNotDefined,
344  RTI::ObjectClassNotPublished,
345  RTI::ObjectAlreadyRegistered,
346  RTI::FederateNotExecutionMember,
347  RTI::ConcurrentAccessAttempted,
348  RTI::SaveInProgress,
349  RTI::RestoreInProgress,
350  RTI::RTIinternalError);
351 
352  virtual RTI::ObjectHandle registerObjectInstance (
353  RTI::ObjectClassHandle theClass)
354  throw (
355  RTI::ObjectClassNotDefined,
356  RTI::ObjectClassNotPublished,
357  RTI::FederateNotExecutionMember,
358  RTI::ConcurrentAccessAttempted,
359  RTI::SaveInProgress,
360  RTI::RestoreInProgress,
361  RTI::RTIinternalError);
363 
365  virtual RTI::EventRetractionHandle updateAttributeValues (
367  RTI::ObjectHandle theObject,
368  const RTI::AttributeHandleValuePairSet& theAttributes,
369  const RTI::FedTime& theTime,
370  const char *theTag)
371  throw (
372  RTI::ObjectNotKnown,
373  RTI::AttributeNotDefined,
374  RTI::AttributeNotOwned,
375  RTI::InvalidFederationTime,
376  RTI::FederateNotExecutionMember,
377  RTI::ConcurrentAccessAttempted,
378  RTI::SaveInProgress,
379  RTI::RestoreInProgress,
380  RTI::RTIinternalError);
381 
382  virtual void updateAttributeValues (
383  RTI::ObjectHandle theObject,
384  const RTI::AttributeHandleValuePairSet& theAttributes,
385  const char *theTag)
386  throw (
387  RTI::ObjectNotKnown,
388  RTI::AttributeNotDefined,
389  RTI::AttributeNotOwned,
390  RTI::FederateNotExecutionMember,
391  RTI::ConcurrentAccessAttempted,
392  RTI::SaveInProgress,
393  RTI::RestoreInProgress,
394  RTI::RTIinternalError);
396 
398  virtual RTI::EventRetractionHandle sendInteraction (
400  RTI::InteractionClassHandle theInteraction,
401  const RTI::ParameterHandleValuePairSet& theParameters,
402  const RTI::FedTime& theTime,
403  const char *theTag)
404  throw (
405  RTI::InteractionClassNotDefined,
406  RTI::InteractionClassNotPublished,
407  RTI::InteractionParameterNotDefined,
408  RTI::InvalidFederationTime,
409  RTI::FederateNotExecutionMember,
410  RTI::ConcurrentAccessAttempted,
411  RTI::SaveInProgress,
412  RTI::RestoreInProgress,
413  RTI::RTIinternalError);
414 
415  virtual void sendInteraction (
416  RTI::InteractionClassHandle theInteraction,
417  const RTI::ParameterHandleValuePairSet& theParameters,
418  const char *theTag)
419  throw (
420  RTI::InteractionClassNotDefined,
421  RTI::InteractionClassNotPublished,
422  RTI::InteractionParameterNotDefined,
423  RTI::FederateNotExecutionMember,
424  RTI::ConcurrentAccessAttempted,
425  RTI::SaveInProgress,
426  RTI::RestoreInProgress,
427  RTI::RTIinternalError);
429 
431  virtual RTI::EventRetractionHandle deleteObjectInstance (
433  RTI::ObjectHandle theObject,
434  const RTI::FedTime& theTime,
435  const char *theTag)
436  throw (
437  RTI::ObjectNotKnown,
438  RTI::DeletePrivilegeNotHeld,
439  RTI::InvalidFederationTime,
440  RTI::FederateNotExecutionMember,
441  RTI::ConcurrentAccessAttempted,
442  RTI::SaveInProgress,
443  RTI::RestoreInProgress,
444  RTI::RTIinternalError);
445 
446  virtual void deleteObjectInstance (
447  RTI::ObjectHandle theObject,
448  const char *theTag)
449  throw (
450  RTI::ObjectNotKnown,
451  RTI::DeletePrivilegeNotHeld,
452  RTI::FederateNotExecutionMember,
453  RTI::ConcurrentAccessAttempted,
454  RTI::SaveInProgress,
455  RTI::RestoreInProgress,
456  RTI::RTIinternalError);
458 
460  virtual void localDeleteObjectInstance (
461  RTI::ObjectHandle theObject)
462  throw (
463  RTI::ObjectNotKnown,
464  RTI::FederateOwnsAttributes,
465  RTI::FederateNotExecutionMember,
466  RTI::ConcurrentAccessAttempted,
467  RTI::SaveInProgress,
468  RTI::RestoreInProgress,
469  RTI::RTIinternalError);
470 
472  virtual void changeAttributeTransportationType (
473  RTI::ObjectHandle theObject,
474  const RTI::AttributeHandleSet& theAttributes,
475  RTI::TransportationHandle theType)
476  throw (
477  RTI::ObjectNotKnown,
478  RTI::AttributeNotDefined,
479  RTI::AttributeNotOwned,
480  RTI::InvalidTransportationHandle,
481  RTI::FederateNotExecutionMember,
482  RTI::ConcurrentAccessAttempted,
483  RTI::SaveInProgress,
484  RTI::RestoreInProgress,
485  RTI::RTIinternalError);
486 
488  virtual void changeInteractionTransportationType (
489  RTI::InteractionClassHandle theClass,
490  RTI::TransportationHandle theType)
491  throw (
492  RTI::InteractionClassNotDefined,
493  RTI::InteractionClassNotPublished,
494  RTI::InvalidTransportationHandle,
495  RTI::FederateNotExecutionMember,
496  RTI::ConcurrentAccessAttempted,
497  RTI::SaveInProgress,
498  RTI::RestoreInProgress,
499  RTI::RTIinternalError);
500 
502  virtual void requestObjectAttributeValueUpdate (
504  RTI::ObjectHandle theObject,
505  const RTI::AttributeHandleSet& theAttributes)
506  throw (
507  RTI::ObjectNotKnown,
508  RTI::AttributeNotDefined,
509  RTI::FederateNotExecutionMember,
510  RTI::ConcurrentAccessAttempted,
511  RTI::SaveInProgress,
512  RTI::RestoreInProgress,
513  RTI::RTIinternalError);
514 
515  virtual void requestClassAttributeValueUpdate (
516  RTI::ObjectClassHandle theClass,
517  const RTI::AttributeHandleSet& theAttributes)
518  throw (
519  RTI::ObjectClassNotDefined,
520  RTI::AttributeNotDefined,
521  RTI::FederateNotExecutionMember,
522  RTI::ConcurrentAccessAttempted,
523  RTI::SaveInProgress,
524  RTI::RestoreInProgress,
525  RTI::RTIinternalError);
527 
528  //---------------------------------
530  //---------------------------------
531 
533  virtual void unconditionalAttributeOwnershipDivestiture (
534  RTI::ObjectHandle theObject,
535  const RTI::AttributeHandleSet& theAttributes)
536  throw (
537  RTI::ObjectNotKnown,
538  RTI::AttributeNotDefined,
539  RTI::AttributeNotOwned,
540  RTI::FederateNotExecutionMember,
541  RTI::ConcurrentAccessAttempted,
542  RTI::SaveInProgress,
543  RTI::RestoreInProgress,
544  RTI::RTIinternalError);
545 
547  virtual void negotiatedAttributeOwnershipDivestiture (
548  RTI::ObjectHandle theObject,
549  const RTI::AttributeHandleSet& theAttributes,
550  const char *theTag)
551  throw (
552  RTI::ObjectNotKnown,
553  RTI::AttributeNotDefined,
554  RTI::AttributeNotOwned,
555  RTI::AttributeAlreadyBeingDivested,
556  RTI::FederateNotExecutionMember,
557  RTI::ConcurrentAccessAttempted,
558  RTI::SaveInProgress,
559  RTI::RestoreInProgress,
560  RTI::RTIinternalError);
561 
563  virtual void attributeOwnershipAcquisition (
564  RTI::ObjectHandle theObject,
565  const RTI::AttributeHandleSet& desiredAttributes,
566  const char *theTag)
567  throw (
568  RTI::ObjectNotKnown,
569  RTI::ObjectClassNotPublished,
570  RTI::AttributeNotDefined,
571  RTI::AttributeNotPublished,
572  RTI::FederateOwnsAttributes,
573  RTI::FederateNotExecutionMember,
574  RTI::ConcurrentAccessAttempted,
575  RTI::SaveInProgress,
576  RTI::RestoreInProgress,
577  RTI::RTIinternalError);
578 
580  virtual void attributeOwnershipAcquisitionIfAvailable (
581  RTI::ObjectHandle theObject,
582  const RTI::AttributeHandleSet& desiredAttributes)
583  throw (
584  RTI::ObjectNotKnown,
585  RTI::ObjectClassNotPublished,
586  RTI::AttributeNotDefined,
587  RTI::AttributeNotPublished,
588  RTI::FederateOwnsAttributes,
589  RTI::AttributeAlreadyBeingAcquired,
590  RTI::FederateNotExecutionMember,
591  RTI::ConcurrentAccessAttempted,
592  RTI::SaveInProgress,
593  RTI::RestoreInProgress,
594  RTI::RTIinternalError);
595 
597  virtual RTI::AttributeHandleSet* attributeOwnershipReleaseResponse (
598  RTI::ObjectHandle theObject,
599  const RTI::AttributeHandleSet& theAttributes)
600  throw (
601  RTI::ObjectNotKnown,
602  RTI::AttributeNotDefined,
603  RTI::AttributeNotOwned,
604  RTI::FederateWasNotAskedToReleaseAttribute,
605  RTI::FederateNotExecutionMember,
606  RTI::ConcurrentAccessAttempted,
607  RTI::SaveInProgress,
608  RTI::RestoreInProgress,
609  RTI::RTIinternalError);
610 
612  virtual void cancelNegotiatedAttributeOwnershipDivestiture (
613  RTI::ObjectHandle theObject,
614  const RTI::AttributeHandleSet& theAttributes)
615  throw (
616  RTI::ObjectNotKnown,
617  RTI::AttributeNotDefined,
618  RTI::AttributeNotOwned,
619  RTI::AttributeDivestitureWasNotRequested,
620  RTI::FederateNotExecutionMember,
621  RTI::ConcurrentAccessAttempted,
622  RTI::SaveInProgress,
623  RTI::RestoreInProgress,
624  RTI::RTIinternalError);
625 
627  virtual void cancelAttributeOwnershipAcquisition (
628  RTI::ObjectHandle theObject,
629  const RTI::AttributeHandleSet& theAttributes)
630  throw (
631  RTI::ObjectNotKnown,
632  RTI::AttributeNotDefined,
633  RTI::AttributeAlreadyOwned,
634  RTI::AttributeAcquisitionWasNotRequested,
635  RTI::FederateNotExecutionMember,
636  RTI::ConcurrentAccessAttempted,
637  RTI::SaveInProgress,
638  RTI::RestoreInProgress,
639  RTI::RTIinternalError);
640 
642  virtual void queryAttributeOwnership (
643  RTI::ObjectHandle theObject,
644  RTI::AttributeHandle theAttribute)
645  throw (
646  RTI::ObjectNotKnown,
647  RTI::AttributeNotDefined,
648  RTI::FederateNotExecutionMember,
649  RTI::ConcurrentAccessAttempted,
650  RTI::SaveInProgress,
651  RTI::RestoreInProgress,
652  RTI::RTIinternalError);
653 
655  virtual RTI::Boolean isAttributeOwnedByFederate (
656  RTI::ObjectHandle theObject,
657  RTI::AttributeHandle theAttribute)
658  throw (
659  RTI::ObjectNotKnown,
660  RTI::AttributeNotDefined,
661  RTI::FederateNotExecutionMember,
662  RTI::ConcurrentAccessAttempted,
663  RTI::SaveInProgress,
664  RTI::RestoreInProgress,
665  RTI::RTIinternalError);
666 
667  //----------------------------
669  //----------------------------
670 
672  virtual void enableTimeRegulation (
673  const RTI::FedTime& theFederateTime,
674  const RTI::FedTime& theLookahead)
675  throw (
676  RTI::TimeRegulationAlreadyEnabled,
677  RTI::EnableTimeRegulationPending,
678  RTI::TimeAdvanceAlreadyInProgress,
679  RTI::InvalidFederationTime,
680  RTI::InvalidLookahead,
681  RTI::ConcurrentAccessAttempted,
682  RTI::FederateNotExecutionMember,
683  RTI::SaveInProgress,
684  RTI::RestoreInProgress,
685  RTI::RTIinternalError);
686 
688  virtual void disableTimeRegulation ()
689  throw (
690  RTI::TimeRegulationWasNotEnabled,
691  RTI::ConcurrentAccessAttempted,
692  RTI::FederateNotExecutionMember,
693  RTI::SaveInProgress,
694  RTI::RestoreInProgress,
695  RTI::RTIinternalError);
696 
698  virtual void enableTimeConstrained ()
699  throw (
700  RTI::TimeConstrainedAlreadyEnabled,
701  RTI::EnableTimeConstrainedPending,
702  RTI::TimeAdvanceAlreadyInProgress,
703  RTI::FederateNotExecutionMember,
704  RTI::ConcurrentAccessAttempted,
705  RTI::SaveInProgress,
706  RTI::RestoreInProgress,
707  RTI::RTIinternalError);
708 
710  virtual void disableTimeConstrained ()
711  throw (
712  RTI::TimeConstrainedWasNotEnabled,
713  RTI::FederateNotExecutionMember,
714  RTI::ConcurrentAccessAttempted,
715  RTI::SaveInProgress,
716  RTI::RestoreInProgress,
717  RTI::RTIinternalError);
718 
720  virtual void timeAdvanceRequest (
721  const RTI::FedTime& theTime)
722  throw (
723  RTI::InvalidFederationTime,
724  RTI::FederationTimeAlreadyPassed,
725  RTI::TimeAdvanceAlreadyInProgress,
726  RTI::EnableTimeRegulationPending,
727  RTI::EnableTimeConstrainedPending,
728  RTI::FederateNotExecutionMember,
729  RTI::ConcurrentAccessAttempted,
730  RTI::SaveInProgress,
731  RTI::RestoreInProgress,
732  RTI::RTIinternalError);
733 
735  virtual void timeAdvanceRequestAvailable (
736  const RTI::FedTime& theTime)
737  throw (
738  RTI::InvalidFederationTime,
739  RTI::FederationTimeAlreadyPassed,
740  RTI::TimeAdvanceAlreadyInProgress,
741  RTI::EnableTimeRegulationPending,
742  RTI::EnableTimeConstrainedPending,
743  RTI::FederateNotExecutionMember,
744  RTI::ConcurrentAccessAttempted,
745  RTI::SaveInProgress,
746  RTI::RestoreInProgress,
747  RTI::RTIinternalError);
748 
750  virtual void nextEventRequest (
751  const RTI::FedTime& theTime)
752  throw (
753  RTI::InvalidFederationTime,
754  RTI::FederationTimeAlreadyPassed,
755  RTI::TimeAdvanceAlreadyInProgress,
756  RTI::EnableTimeRegulationPending,
757  RTI::EnableTimeConstrainedPending,
758  RTI::FederateNotExecutionMember,
759  RTI::ConcurrentAccessAttempted,
760  RTI::SaveInProgress,
761  RTI::RestoreInProgress,
762  RTI::RTIinternalError);
763 
765  virtual void nextEventRequestAvailable (
766  const RTI::FedTime& theTime)
767  throw (
768  RTI::InvalidFederationTime,
769  RTI::FederationTimeAlreadyPassed,
770  RTI::TimeAdvanceAlreadyInProgress,
771  RTI::EnableTimeRegulationPending,
772  RTI::EnableTimeConstrainedPending,
773  RTI::FederateNotExecutionMember,
774  RTI::ConcurrentAccessAttempted,
775  RTI::SaveInProgress,
776  RTI::RestoreInProgress,
777  RTI::RTIinternalError);
778 
780  virtual void flushQueueRequest (
781  const RTI::FedTime& theTime)
782  throw (
783  RTI::InvalidFederationTime,
784  RTI::FederationTimeAlreadyPassed,
785  RTI::TimeAdvanceAlreadyInProgress,
786  RTI::EnableTimeRegulationPending,
787  RTI::EnableTimeConstrainedPending,
788  RTI::FederateNotExecutionMember,
789  RTI::ConcurrentAccessAttempted,
790  RTI::SaveInProgress,
791  RTI::RestoreInProgress,
792  RTI::RTIinternalError);
793 
795  virtual void enableAsynchronousDelivery()
796  throw (
797  RTI::AsynchronousDeliveryAlreadyEnabled,
798  RTI::FederateNotExecutionMember,
799  RTI::ConcurrentAccessAttempted,
800  RTI::SaveInProgress,
801  RTI::RestoreInProgress,
802  RTI::RTIinternalError);
803 
805  virtual void disableAsynchronousDelivery()
806  throw (
807  RTI::AsynchronousDeliveryAlreadyDisabled,
808  RTI::FederateNotExecutionMember,
809  RTI::ConcurrentAccessAttempted,
810  RTI::SaveInProgress,
811  RTI::RestoreInProgress,
812  RTI::RTIinternalError);
813 
815  virtual void queryLBTS (
816  RTI::FedTime& theTime)
817  throw (
818  RTI::FederateNotExecutionMember,
819  RTI::ConcurrentAccessAttempted,
820  RTI::SaveInProgress,
821  RTI::RestoreInProgress,
822  RTI::RTIinternalError);
823 
825  virtual void queryFederateTime (
826  RTI::FedTime& theTime)
827  throw (
828  RTI::FederateNotExecutionMember,
829  RTI::ConcurrentAccessAttempted,
830  RTI::SaveInProgress,
831  RTI::RestoreInProgress,
832  RTI::RTIinternalError);
833 
835  virtual void queryMinNextEventTime (
836  RTI::FedTime& theTime)
837  throw (
838  RTI::FederateNotExecutionMember,
839  RTI::ConcurrentAccessAttempted,
840  RTI::SaveInProgress,
841  RTI::RestoreInProgress,
842  RTI::RTIinternalError);
843 
845  virtual void modifyLookahead (
846  const RTI::FedTime& theLookahead)
847  throw (
848  RTI::InvalidLookahead,
849  RTI::FederateNotExecutionMember,
850  RTI::ConcurrentAccessAttempted,
851  RTI::SaveInProgress,
852  RTI::RestoreInProgress,
853  RTI::RTIinternalError);
854 
856  virtual void queryLookahead (
857  RTI::FedTime& theTime)
858  throw (
859  RTI::FederateNotExecutionMember,
860  RTI::ConcurrentAccessAttempted,
861  RTI::SaveInProgress,
862  RTI::RestoreInProgress,
863  RTI::RTIinternalError);
864 
866  virtual void retract (
867  RTI::EventRetractionHandle theHandle)
868  throw (
869  RTI::InvalidRetractionHandle,
870  RTI::FederateNotExecutionMember,
871  RTI::ConcurrentAccessAttempted,
872  RTI::SaveInProgress,
873  RTI::RestoreInProgress,
874  RTI::RTIinternalError);
875 
877  virtual void changeAttributeOrderType (
878  RTI::ObjectHandle theObject,
879  const RTI::AttributeHandleSet& theAttributes,
880  RTI::OrderingHandle theType)
881  throw (
882  RTI::ObjectNotKnown,
883  RTI::AttributeNotDefined,
884  RTI::AttributeNotOwned,
885  RTI::InvalidOrderingHandle,
886  RTI::FederateNotExecutionMember,
887  RTI::ConcurrentAccessAttempted,
888  RTI::SaveInProgress,
889  RTI::RestoreInProgress,
890  RTI::RTIinternalError);
891 
893  virtual void changeInteractionOrderType (
894  RTI::InteractionClassHandle theClass,
895  RTI::OrderingHandle theType)
896  throw (
897  RTI::InteractionClassNotDefined,
898  RTI::InteractionClassNotPublished,
899  RTI::InvalidOrderingHandle,
900  RTI::FederateNotExecutionMember,
901  RTI::ConcurrentAccessAttempted,
902  RTI::SaveInProgress,
903  RTI::RestoreInProgress,
904  RTI::RTIinternalError);
905 
906  //--------------------------------
908  //--------------------------------
909 
911  virtual RTI::Region* createRegion (
912  RTI::SpaceHandle theSpace,
913  RTI::ULong numberOfExtents)
914  throw (
915  RTI::SpaceNotDefined,
916  RTI::InvalidExtents,
917  RTI::FederateNotExecutionMember,
918  RTI::ConcurrentAccessAttempted,
919  RTI::SaveInProgress,
920  RTI::RestoreInProgress,
921  RTI::RTIinternalError);
922 
924  virtual void notifyAboutRegionModification (
925  RTI::Region &theRegion)
926  throw (
927  RTI::RegionNotKnown,
928  RTI::InvalidExtents,
929  RTI::FederateNotExecutionMember,
930  RTI::ConcurrentAccessAttempted,
931  RTI::SaveInProgress,
932  RTI::RestoreInProgress,
933  RTI::RTIinternalError);
934 
936  virtual void deleteRegion (
937  RTI::Region *theRegion)
938  throw (
939  RTI::RegionNotKnown,
940  RTI::RegionInUse,
941  RTI::FederateNotExecutionMember,
942  RTI::ConcurrentAccessAttempted,
943  RTI::SaveInProgress,
944  RTI::RestoreInProgress,
945  RTI::RTIinternalError);
946 
948  virtual RTI::ObjectHandle registerObjectInstanceWithRegion (
950  RTI::ObjectClassHandle theClass,
951  const char *theObject,
952  RTI::AttributeHandle theAttributes[],
953  RTI::Region *theRegions[],
954  RTI::ULong theNumberOfHandles)
955  throw (
956  RTI::ObjectClassNotDefined,
957  RTI::ObjectClassNotPublished,
958  RTI::AttributeNotDefined,
959  RTI::AttributeNotPublished,
960  RTI::RegionNotKnown,
961  RTI::InvalidRegionContext,
962  RTI::ObjectAlreadyRegistered,
963  RTI::FederateNotExecutionMember,
964  RTI::ConcurrentAccessAttempted,
965  RTI::SaveInProgress,
966  RTI::RestoreInProgress,
967  RTI::RTIinternalError);
968 
969  virtual RTI::ObjectHandle registerObjectInstanceWithRegion (
970  RTI::ObjectClassHandle theClass,
971  RTI::AttributeHandle theAttributes[],
972  RTI::Region *theRegions[],
973  RTI::ULong theNumberOfHandles)
974  throw (
975  RTI::ObjectClassNotDefined,
976  RTI::ObjectClassNotPublished,
977  RTI::AttributeNotDefined,
978  RTI::AttributeNotPublished,
979  RTI::RegionNotKnown,
980  RTI::InvalidRegionContext,
981  RTI::FederateNotExecutionMember,
982  RTI::ConcurrentAccessAttempted,
983  RTI::SaveInProgress,
984  RTI::RestoreInProgress,
985  RTI::RTIinternalError);
987 
989  virtual void associateRegionForUpdates (
990  RTI::Region &theRegion,
991  RTI::ObjectHandle theObject,
992  const RTI::AttributeHandleSet &theAttributes)
993  throw (
994  RTI::ObjectNotKnown,
995  RTI::AttributeNotDefined,
996  RTI::InvalidRegionContext,
997  RTI::RegionNotKnown,
998  RTI::FederateNotExecutionMember,
999  RTI::ConcurrentAccessAttempted,
1000  RTI::SaveInProgress,
1001  RTI::RestoreInProgress,
1002  RTI::RTIinternalError);
1003 
1005  virtual void unassociateRegionForUpdates (
1006  RTI::Region &theRegion,
1007  RTI::ObjectHandle theObject)
1008  throw (
1009  RTI::ObjectNotKnown,
1010  RTI::InvalidRegionContext,
1011  RTI::RegionNotKnown,
1012  RTI::FederateNotExecutionMember,
1013  RTI::ConcurrentAccessAttempted,
1014  RTI::SaveInProgress,
1015  RTI::RestoreInProgress,
1016  RTI::RTIinternalError);
1017 
1019  virtual void subscribeObjectClassAttributesWithRegion (
1020  RTI::ObjectClassHandle theClass,
1021  RTI::Region &theRegion,
1022  const RTI::AttributeHandleSet &attributeList,
1023  RTI::Boolean active = RTI::RTI_TRUE)
1024  throw (
1025  RTI::ObjectClassNotDefined,
1026  RTI::AttributeNotDefined,
1027  RTI::RegionNotKnown,
1028  RTI::InvalidRegionContext,
1029  RTI::FederateNotExecutionMember,
1030  RTI::ConcurrentAccessAttempted,
1031  RTI::SaveInProgress,
1032  RTI::RestoreInProgress,
1033  RTI::RTIinternalError);
1034 
1036  virtual void unsubscribeObjectClassWithRegion (
1037  RTI::ObjectClassHandle theClass,
1038  RTI::Region &theRegion)
1039  throw (
1040  RTI::ObjectClassNotDefined,
1041  RTI::RegionNotKnown,
1042  RTI::ObjectClassNotSubscribed,
1043  RTI::FederateNotExecutionMember,
1044  RTI::ConcurrentAccessAttempted,
1045  RTI::SaveInProgress,
1046  RTI::RestoreInProgress,
1047  RTI::RTIinternalError);
1048 
1050  virtual void subscribeInteractionClassWithRegion (
1051  RTI::InteractionClassHandle theClass,
1052  RTI::Region &theRegion,
1053  RTI::Boolean active = RTI::RTI_TRUE)
1054  throw (
1055  RTI::InteractionClassNotDefined,
1056  RTI::RegionNotKnown,
1057  RTI::InvalidRegionContext,
1058  RTI::FederateLoggingServiceCalls,
1059  RTI::FederateNotExecutionMember,
1060  RTI::ConcurrentAccessAttempted,
1061  RTI::SaveInProgress,
1062  RTI::RestoreInProgress,
1063  RTI::RTIinternalError);
1064 
1066  virtual void unsubscribeInteractionClassWithRegion (
1067  RTI::InteractionClassHandle theClass,
1068  RTI::Region &theRegion)
1069  throw (
1070  RTI::InteractionClassNotDefined,
1071  RTI::InteractionClassNotSubscribed,
1072  RTI::RegionNotKnown,
1073  RTI::FederateNotExecutionMember,
1074  RTI::ConcurrentAccessAttempted,
1075  RTI::SaveInProgress,
1076  RTI::RestoreInProgress,
1077  RTI::RTIinternalError);
1078 
1080  virtual RTI::EventRetractionHandle sendInteractionWithRegion (
1082  RTI::InteractionClassHandle theInteraction,
1083  const RTI::ParameterHandleValuePairSet &theParameters,
1084  const RTI::FedTime& theTime,
1085  const char *theTag,
1086  const RTI::Region &theRegion)
1087  throw (
1088  RTI::InteractionClassNotDefined,
1089  RTI::InteractionClassNotPublished,
1090  RTI::InteractionParameterNotDefined,
1091  RTI::InvalidFederationTime,
1092  RTI::RegionNotKnown,
1093  RTI::InvalidRegionContext,
1094  RTI::FederateNotExecutionMember,
1095  RTI::ConcurrentAccessAttempted,
1096  RTI::SaveInProgress,
1097  RTI::RestoreInProgress,
1098  RTI::RTIinternalError);
1099 
1100  virtual void sendInteractionWithRegion (
1101  RTI::InteractionClassHandle theInteraction,
1102  const RTI::ParameterHandleValuePairSet &theParameters,
1103  const char *theTag,
1104  const RTI::Region &theRegion)
1105  throw (
1106  RTI::InteractionClassNotDefined,
1107  RTI::InteractionClassNotPublished,
1108  RTI::InteractionParameterNotDefined,
1109  RTI::RegionNotKnown,
1110  RTI::InvalidRegionContext,
1111  RTI::FederateNotExecutionMember,
1112  RTI::ConcurrentAccessAttempted,
1113  RTI::SaveInProgress,
1114  RTI::RestoreInProgress,
1115  RTI::RTIinternalError);
1117 
1119  virtual void requestClassAttributeValueUpdateWithRegion (
1120  RTI::ObjectClassHandle theClass,
1121  const RTI::AttributeHandleSet &theAttributes,
1122  const RTI::Region &theRegion)
1123  throw (
1124  RTI::ObjectClassNotDefined,
1125  RTI::AttributeNotDefined,
1126  RTI::RegionNotKnown,
1127  RTI::FederateNotExecutionMember,
1128  RTI::ConcurrentAccessAttempted,
1129  RTI::SaveInProgress,
1130  RTI::RestoreInProgress,
1131  RTI::RTIinternalError);
1132 
1133  //------------------------
1135  //------------------------
1136 
1138  virtual RTI::ObjectClassHandle getObjectClassHandle (
1139  const char *theName)
1140  throw (
1141  RTI::NameNotFound,
1142  RTI::FederateNotExecutionMember,
1143  RTI::ConcurrentAccessAttempted,
1144  RTI::RTIinternalError);
1145 
1147  virtual char * getObjectClassName (
1148  RTI::ObjectClassHandle theHandle)
1149  throw (
1150  RTI::ObjectClassNotDefined,
1151  RTI::FederateNotExecutionMember,
1152  RTI::ConcurrentAccessAttempted,
1153  RTI::RTIinternalError);
1154 
1156  virtual RTI::AttributeHandle getAttributeHandle (
1157  const char *theName,
1158  RTI::ObjectClassHandle whichClass)
1159  throw (
1160  RTI::ObjectClassNotDefined,
1161  RTI::NameNotFound,
1162  RTI::FederateNotExecutionMember,
1163  RTI::ConcurrentAccessAttempted,
1164  RTI::RTIinternalError);
1165 
1167  virtual char * getAttributeName (
1168  RTI::AttributeHandle theHandle,
1169  RTI::ObjectClassHandle whichClass)
1170  throw (
1171  RTI::ObjectClassNotDefined,
1172  RTI::AttributeNotDefined,
1173  RTI::FederateNotExecutionMember,
1174  RTI::ConcurrentAccessAttempted,
1175  RTI::RTIinternalError);
1176 
1178  virtual RTI::InteractionClassHandle getInteractionClassHandle (
1179  const char *theName)
1180  throw (
1181  RTI::NameNotFound,
1182  RTI::FederateNotExecutionMember,
1183  RTI::ConcurrentAccessAttempted,
1184  RTI::RTIinternalError);
1185 
1187  virtual char * getInteractionClassName (
1188  RTI::InteractionClassHandle theHandle)
1189  throw (
1190  RTI::InteractionClassNotDefined,
1191  RTI::FederateNotExecutionMember,
1192  RTI::ConcurrentAccessAttempted,
1193  RTI::RTIinternalError);
1194 
1196  virtual RTI::ParameterHandle getParameterHandle (
1197  const char *theName,
1198  RTI::InteractionClassHandle whichClass)
1199  throw (
1200  RTI::InteractionClassNotDefined,
1201  RTI::NameNotFound,
1202  RTI::FederateNotExecutionMember,
1203  RTI::ConcurrentAccessAttempted,
1204  RTI::RTIinternalError);
1205 
1207  virtual char * getParameterName (
1208  RTI::ParameterHandle theHandle,
1209  RTI::InteractionClassHandle whichClass)
1210  throw (
1211  RTI::InteractionClassNotDefined,
1212  RTI::InteractionParameterNotDefined,
1213  RTI::FederateNotExecutionMember,
1214  RTI::ConcurrentAccessAttempted,
1215  RTI::RTIinternalError);
1216 
1218  virtual RTI::ObjectHandle getObjectInstanceHandle (
1219  const char *theName)
1220  throw (
1221  RTI::ObjectNotKnown,
1222  RTI::FederateNotExecutionMember,
1223  RTI::ConcurrentAccessAttempted,
1224  RTI::RTIinternalError);
1225 
1227  virtual char * getObjectInstanceName (
1228  RTI::ObjectHandle theHandle)
1229  throw (
1230  RTI::ObjectNotKnown,
1231  RTI::FederateNotExecutionMember,
1232  RTI::ConcurrentAccessAttempted,
1233  RTI::RTIinternalError);
1234 
1236  virtual RTI::SpaceHandle getRoutingSpaceHandle (
1237  const char *theName)
1238  throw (
1239  RTI::NameNotFound,
1240  RTI::FederateNotExecutionMember,
1241  RTI::ConcurrentAccessAttempted,
1242  RTI::RTIinternalError);
1243 
1245  virtual char * getRoutingSpaceName (
1246  RTI::SpaceHandle theHandle)
1247  throw (
1248  RTI::SpaceNotDefined,
1249  RTI::FederateNotExecutionMember,
1250  RTI::ConcurrentAccessAttempted,
1251  RTI::RTIinternalError);
1252 
1254  virtual RTI::DimensionHandle getDimensionHandle (
1255  const char *theName,
1256  RTI::SpaceHandle whichSpace)
1257  throw (
1258  RTI::SpaceNotDefined,
1259  RTI::NameNotFound,
1260  RTI::FederateNotExecutionMember,
1261  RTI::ConcurrentAccessAttempted,
1262  RTI::RTIinternalError);
1263 
1265  virtual char * getDimensionName (
1266  RTI::DimensionHandle theHandle,
1267  RTI::SpaceHandle whichSpace)
1268  throw (
1269  RTI::SpaceNotDefined,
1270  RTI::DimensionNotDefined,
1271  RTI::FederateNotExecutionMember,
1272  RTI::ConcurrentAccessAttempted,
1273  RTI::RTIinternalError);
1274 
1276  virtual RTI::SpaceHandle getAttributeRoutingSpaceHandle (
1277  RTI::AttributeHandle theHandle,
1278  RTI::ObjectClassHandle whichClass)
1279  throw (
1280  RTI::ObjectClassNotDefined,
1281  RTI::AttributeNotDefined,
1282  RTI::FederateNotExecutionMember,
1283  RTI::ConcurrentAccessAttempted,
1284  RTI::RTIinternalError);
1285 
1287  virtual RTI::ObjectClassHandle getObjectClass (
1288  RTI::ObjectHandle theObject)
1289  throw (
1290  RTI::ObjectNotKnown,
1291  RTI::FederateNotExecutionMember,
1292  RTI::ConcurrentAccessAttempted,
1293  RTI::RTIinternalError);
1294 
1296  virtual RTI::SpaceHandle getInteractionRoutingSpaceHandle (
1297  RTI::InteractionClassHandle theHandle)
1298  throw (
1299  RTI::InteractionClassNotDefined,
1300  RTI::FederateNotExecutionMember,
1301  RTI::ConcurrentAccessAttempted,
1302  RTI::RTIinternalError);
1303 
1305  virtual RTI::TransportationHandle getTransportationHandle (
1306  const char *theName)
1307  throw (
1308  RTI::NameNotFound,
1309  RTI::FederateNotExecutionMember,
1310  RTI::ConcurrentAccessAttempted,
1311  RTI::RTIinternalError);
1312 
1314  virtual char * getTransportationName (
1315  RTI::TransportationHandle theHandle)
1316  throw (
1317  RTI::InvalidTransportationHandle,
1318  RTI::FederateNotExecutionMember,
1319  RTI::ConcurrentAccessAttempted,
1320  RTI::RTIinternalError);
1321 
1323  virtual RTI::OrderingHandle getOrderingHandle (
1324  const char *theName)
1325  throw (
1326  RTI::NameNotFound,
1327  RTI::FederateNotExecutionMember,
1328  RTI::ConcurrentAccessAttempted,
1329  RTI::RTIinternalError);
1330 
1332  virtual char * getOrderingName (
1333  RTI::OrderingHandle theHandle)
1334  throw (
1335  RTI::InvalidOrderingHandle,
1336  RTI::FederateNotExecutionMember,
1337  RTI::ConcurrentAccessAttempted,
1338  RTI::RTIinternalError);
1339 
1341  virtual void enableClassRelevanceAdvisorySwitch()
1342  throw(
1343  RTI::FederateNotExecutionMember,
1344  RTI::ConcurrentAccessAttempted,
1345  RTI::SaveInProgress,
1346  RTI::RestoreInProgress,
1347  RTI::RTIinternalError);
1348 
1350  virtual void disableClassRelevanceAdvisorySwitch()
1351  throw(
1352  RTI::FederateNotExecutionMember,
1353  RTI::ConcurrentAccessAttempted,
1354  RTI::SaveInProgress,
1355  RTI::RestoreInProgress,
1356  RTI::RTIinternalError);
1357 
1359  virtual void enableAttributeRelevanceAdvisorySwitch()
1360  throw(
1361  RTI::FederateNotExecutionMember,
1362  RTI::ConcurrentAccessAttempted,
1363  RTI::SaveInProgress,
1364  RTI::RestoreInProgress,
1365  RTI::RTIinternalError);
1366 
1368  virtual void disableAttributeRelevanceAdvisorySwitch()
1369  throw(
1370  RTI::FederateNotExecutionMember,
1371  RTI::ConcurrentAccessAttempted,
1372  RTI::SaveInProgress,
1373  RTI::RestoreInProgress,
1374  RTI::RTIinternalError);
1375 
1377  virtual void enableAttributeScopeAdvisorySwitch()
1378  throw(
1379  RTI::FederateNotExecutionMember,
1380  RTI::ConcurrentAccessAttempted,
1381  RTI::SaveInProgress,
1382  RTI::RestoreInProgress,
1383  RTI::RTIinternalError);
1384 
1386  virtual void disableAttributeScopeAdvisorySwitch()
1387  throw(
1388  RTI::FederateNotExecutionMember,
1389  RTI::ConcurrentAccessAttempted,
1390  RTI::SaveInProgress,
1391  RTI::RestoreInProgress,
1392  RTI::RTIinternalError);
1393 
1395  virtual void enableInteractionRelevanceAdvisorySwitch()
1396  throw(
1397  RTI::FederateNotExecutionMember,
1398  RTI::ConcurrentAccessAttempted,
1399  RTI::SaveInProgress,
1400  RTI::RestoreInProgress,
1401  RTI::RTIinternalError);
1402 
1404  virtual void disableInteractionRelevanceAdvisorySwitch()
1405  throw(
1406  RTI::FederateNotExecutionMember,
1407  RTI::ConcurrentAccessAttempted,
1408  RTI::SaveInProgress,
1409  RTI::RestoreInProgress,
1410  RTI::RTIinternalError);
1411 
1412  virtual RTI::Boolean tick ()
1413  throw (
1414  RTI::SpecifiedSaveLabelDoesNotExist,
1415  RTI::ConcurrentAccessAttempted,
1416  RTI::RTIinternalError);
1417 
1418  virtual RTI::Boolean tick (
1419  RTI::TickTime minimum,
1420  RTI::TickTime maximum,
1421  RTI::Boolean unlockWhileWaiting=RTI::RTI_FALSE)
1422  throw (
1423  RTI::SpecifiedSaveLabelDoesNotExist,
1424  RTI::ConcurrentAccessAttempted,
1425  RTI::RTIinternalError);
1426 
1427  virtual RTI::RegionToken getRegionToken(
1428  RTI::Region *)
1429  throw(
1430  RTI::FederateNotExecutionMember,
1431  RTI::ConcurrentAccessAttempted,
1432  RTI::RegionNotKnown,
1433  RTI::RTIinternalError);
1434 
1435  virtual RTI::Region * getRegion(
1436  RTI::RegionToken)
1437  throw(
1438  RTI::FederateNotExecutionMember,
1439  RTI::ConcurrentAccessAttempted,
1440  RTI::RegionNotKnown,
1441  RTI::RTIinternalError);
1442 
1443  //---------------------------------------------------------
1445  //---------------------------------------------------------
1446 
1447 
1448 public:
1449 
1453  static DtRtiAmbassadorImplementor* create(RTI::RTIambassador* topLevelAmbPtr);
1454 
1458  static void setCreatorFunction(DtRtiAmbassadorImplementorCreator creator);
1459 
1460 protected:
1461 
1463  virtual void throwInternalError(const MAKRti::DtString & errorMessage) const;
1464 
1466  virtual void throwNotConnected(const MAKRti::DtString & errorMessage) const;
1467 
1469  virtual void throwNotJoined(const MAKRti::DtString & errorMessage) const;
1470 
1471 protected:
1472 
1474  RTI::RTIambassador* myTopLevelAmb;
1475 
1477  bool myAccessingRtiAmb;
1478 
1479 protected:
1480 
1482  static DtRtiAmbassadorImplementorCreator theCreator;
1483 };
1484 
1486 class DtConcurrentAccessCheck
1487 {
1488 public:
1489 
1490  DtConcurrentAccessCheck(bool* accessFlag)
1491  {
1492  myAccessFlag = accessFlag;
1493  if(theAccessCheckRequired)
1494  {
1495  if(*myAccessFlag)
1496  {
1497  throw RTI::ConcurrentAccessAttempted("Concurrent RTIambassador access attempted.");
1498  }
1499  *myAccessFlag = true;
1500  }
1501  }
1502 
1503  ~DtConcurrentAccessCheck()
1504  {
1505  *myAccessFlag = false;
1506  }
1507 
1508  static void checkForConcurrentAccess(bool check)
1509  {
1510  theAccessCheckRequired = check;
1511  }
1512 
1513 protected:
1514 
1515  bool* myAccessFlag;
1516 
1517 protected:
1518 
1519  static bool theAccessCheckRequired;
1520 
1521 private:
1522  DtConcurrentAccessCheck(const DtConcurrentAccessCheck& orig);
1523  DtConcurrentAccessCheck& operator=(const DtConcurrentAccessCheck& orig);
1524 };
1525 
1526 #endif
This class is a base for the protocol specific DtRtiAmbassadorImplementor class.
Definition: ambImpBase.h:50
std::set< AttributeHandle > AttributeHandleSet
Definition: Typedefs.h:35
DtRtiAmbassadorBaseImplementor & operator=(const DtRtiAmbassadorBaseImplementor &)
Assignment not implemented – Assignment Not Allowed!
ResignAction
Definition: datatypes.pb.h:305
std::set< FederateHandle > FederateHandleSet
Definition: Typedefs.h:37
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
Contains the DtRtiAmbassadorBaseImplementor class declaration.

Document ID: Generated on Wed Jul 8 16:20:32 EDT 2026 from SVN revision 291616
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)