MAK RTIspy API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
FederateAmbassador.h
Go to the documentation of this file.
1 /***********************************************************************
2  IEEE 1516.1 High Level Architecture Interface Specification C++ API
3  File: RTI/FederateAmbassador.h
4 ***********************************************************************/
5 
6 // This is a pure abstract interface that must be implemented by the
7 // federate to receive callbacks from the RTI.
8 
9 #ifndef RTI_FederateAmbassador_h
10 #define RTI_FederateAmbassador_h
11 
12 namespace rti1516
13 {
14  class LogicalTime;
15 }
16 
17 #include <RTI/SpecificConfig.h>
18 #include <RTI/Exception.h>
19 #include <RTI/Typedefs.h>
20 #include <RTI/Enums.h>
21 
22 namespace rti1516
23 {
25  {
26  protected:
28  throw (FederateInternalError);
29 
30  public:
31  virtual
33  throw ();
34 
35  // 4.7
36  virtual
37  void
38  synchronizationPointRegistrationSucceeded(std::wstring const & label)
39  throw (FederateInternalError) = 0;
40 
41  virtual
42  void
43  synchronizationPointRegistrationFailed(std::wstring const & label,
45  throw (FederateInternalError) = 0;
46 
47  // 4.8
48  virtual
49  void
50  announceSynchronizationPoint(std::wstring const & label,
51  VariableLengthData const & theUserSuppliedTag)
52  throw (FederateInternalError) = 0;
53 
54  // 4.10
55  virtual
56  void
57  federationSynchronized(std::wstring const & label)
58  throw (FederateInternalError) = 0;
59 
60  // 4.12
61  virtual
62  void
63  initiateFederateSave(std::wstring const & label)
64  throw (UnableToPerformSave,
65  FederateInternalError) = 0;
66 
67  virtual
68  void
69  initiateFederateSave(std::wstring const & label,
70  LogicalTime const & theTime)
71  throw (UnableToPerformSave,
72  InvalidLogicalTime,
73  FederateInternalError) = 0;
74 
75  // 4.15
76  virtual
77  void
79  throw (FederateInternalError) = 0;
80 
81  virtual
82  void
83  federationNotSaved(SaveFailureReason theSaveFailureReason)
84  throw (FederateInternalError) = 0;
85 
86 
87  // 4.17
88  virtual
89  void
90  federationSaveStatusResponse(
92  theFederateStatusVector)
93  throw (FederateInternalError) = 0;
94 
95  // 4.19
96  virtual
97  void
98  requestFederationRestoreSucceeded(std::wstring const & label)
99  throw (FederateInternalError) = 0;
100 
101  virtual
102  void
103  requestFederationRestoreFailed(std::wstring const & label)
104  throw (FederateInternalError) = 0;
105 
106  // 4.20
107  virtual
108  void
110  throw (FederateInternalError) = 0;
111 
112  // 4.21
113  virtual
114  void
115  initiateFederateRestore(std::wstring const & label,
116  FederateHandle handle)
117  throw (SpecifiedSaveLabelDoesNotExist,
118  CouldNotInitiateRestore,
119  FederateInternalError) = 0;
120 
121  // 4.23
122  virtual
123  void
125  throw (FederateInternalError) = 0;
126 
127  virtual
128  void
129  federationNotRestored(RestoreFailureReason theRestoreFailureReason)
130  throw (FederateInternalError) = 0;
131 
132  // 4.25
133  virtual
134  void
135  federationRestoreStatusResponse(
137  theFederateStatusVector)
138  throw (FederateInternalError) = 0;
139 
141  // Declaration Management Services //
143 
144  // 5.10
145  virtual
146  void
147  startRegistrationForObjectClass(ObjectClassHandle theClass)
148  throw (ObjectClassNotPublished,
149  FederateInternalError) = 0;
150 
151  // 5.11
152  virtual
153  void
154  stopRegistrationForObjectClass(ObjectClassHandle theClass)
155  throw (ObjectClassNotPublished,
156  FederateInternalError) = 0;
157 
158  // 5.12
159  virtual
160  void
161  turnInteractionsOn(InteractionClassHandle theHandle)
162  throw (InteractionClassNotPublished,
163  FederateInternalError) = 0;
164 
165  // 5.13
166  virtual
167  void
168  turnInteractionsOff(InteractionClassHandle theHandle)
169  throw (InteractionClassNotPublished,
170  FederateInternalError) = 0;
171 
173  // Object Management Services //
175 
176  // 6.3
177  virtual
178  void
179  objectInstanceNameReservationSucceeded(std::wstring const &
180  theObjectInstanceName)
181  throw (UnknownName,
182  FederateInternalError) = 0;
183 
184  virtual
185  void
186  objectInstanceNameReservationFailed(std::wstring const &
187  theObjectInstanceName)
188  throw (UnknownName,
189  FederateInternalError) = 0;
190 
191 
192  // 6.5
193  virtual
194  void
195  discoverObjectInstance(ObjectInstanceHandle theObject,
196  ObjectClassHandle theObjectClass,
197  std::wstring const & theObjectInstanceName)
198  throw (CouldNotDiscover,
199  ObjectClassNotKnown,
200  FederateInternalError) = 0;
201 
202  // 6.7
203  virtual
204  void
206  (ObjectInstanceHandle theObject,
207  AttributeHandleValueMap const & theAttributeValues,
208  VariableLengthData const & theUserSuppliedTag,
209  OrderType sentOrder,
210  TransportationType theType)
211  throw (ObjectInstanceNotKnown,
212  AttributeNotRecognized,
213  AttributeNotSubscribed,
214  FederateInternalError) = 0;
215 
216  virtual
217  void
219  (ObjectInstanceHandle theObject,
220  AttributeHandleValueMap const & theAttributeValues,
221  VariableLengthData const & theUserSuppliedTag,
222  OrderType sentOrder,
223  TransportationType theType,
224  RegionHandleSet const & theSentRegionHandleSet)
225  throw (ObjectInstanceNotKnown,
226  AttributeNotRecognized,
227  AttributeNotSubscribed,
228  FederateInternalError) = 0;
229 
230  virtual
231  void
233  (ObjectInstanceHandle theObject,
234  AttributeHandleValueMap const & theAttributeValues,
235  VariableLengthData const & theUserSuppliedTag,
236  OrderType sentOrder,
237  TransportationType theType,
238  LogicalTime const & theTime,
239  OrderType receivedOrder)
240  throw (ObjectInstanceNotKnown,
241  AttributeNotRecognized,
242  AttributeNotSubscribed,
243  FederateInternalError) = 0;
244 
245  virtual
246  void
248  (ObjectInstanceHandle theObject,
249  AttributeHandleValueMap const & theAttributeValues,
250  VariableLengthData const & theUserSuppliedTag,
251  OrderType sentOrder,
252  TransportationType theType,
253  LogicalTime const & theTime,
254  OrderType receivedOrder,
255  RegionHandleSet const & theSentRegionHandleSet)
256  throw (ObjectInstanceNotKnown,
257  AttributeNotRecognized,
258  AttributeNotSubscribed,
259  FederateInternalError) = 0;
260 
261  virtual
262  void
264  (ObjectInstanceHandle theObject,
265  AttributeHandleValueMap const & theAttributeValues,
266  VariableLengthData const & theUserSuppliedTag,
267  OrderType sentOrder,
268  TransportationType theType,
269  LogicalTime const & theTime,
270  OrderType receivedOrder,
271  MessageRetractionHandle theHandle)
272  throw (ObjectInstanceNotKnown,
273  AttributeNotRecognized,
274  AttributeNotSubscribed,
275  InvalidLogicalTime,
276  FederateInternalError) = 0;
277 
278  virtual
279  void
281  (ObjectInstanceHandle theObject,
282  AttributeHandleValueMap const & theAttributeValues,
283  VariableLengthData const & theUserSuppliedTag,
284  OrderType sentOrder,
285  TransportationType theType,
286  LogicalTime const & theTime,
287  OrderType receivedOrder,
288  MessageRetractionHandle theHandle,
289  RegionHandleSet const & theSentRegionHandleSet)
290  throw (ObjectInstanceNotKnown,
291  AttributeNotRecognized,
292  AttributeNotSubscribed,
293  InvalidLogicalTime,
294  FederateInternalError) = 0;
295 
296  // 6.9
297  virtual
298  void
300  (InteractionClassHandle theInteraction,
301  ParameterHandleValueMap const & theParameterValues,
302  VariableLengthData const & theUserSuppliedTag,
303  OrderType sentOrder,
304  TransportationType theType)
305  throw (InteractionClassNotRecognized,
306  InteractionParameterNotRecognized,
307  InteractionClassNotSubscribed,
308  FederateInternalError) = 0;
309 
310  virtual
311  void
313  (InteractionClassHandle theInteraction,
314  ParameterHandleValueMap const & theParameterValues,
315  VariableLengthData const & theUserSuppliedTag,
316  OrderType sentOrder,
317  TransportationType theType,
318  RegionHandleSet const & theSentRegionHandleSet)
319  throw (InteractionClassNotRecognized,
320  InteractionParameterNotRecognized,
321  InteractionClassNotSubscribed,
322  FederateInternalError) = 0;
323 
324  virtual
325  void
327  (InteractionClassHandle theInteraction,
328  ParameterHandleValueMap const & theParameterValues,
329  VariableLengthData const & theUserSuppliedTag,
330  OrderType sentOrder,
331  TransportationType theType,
332  LogicalTime const & theTime,
333  OrderType receivedOrder)
334  throw (InteractionClassNotRecognized,
335  InteractionParameterNotRecognized,
336  InteractionClassNotSubscribed,
337  FederateInternalError) = 0;
338 
339  virtual
340  void
342  (InteractionClassHandle theInteraction,
343  ParameterHandleValueMap const & theParameterValues,
344  VariableLengthData const & theUserSuppliedTag,
345  OrderType sentOrder,
346  TransportationType theType,
347  LogicalTime const & theTime,
348  OrderType receivedOrder,
349  RegionHandleSet const & theSentRegionHandleSet)
350  throw (InteractionClassNotRecognized,
351  InteractionParameterNotRecognized,
352  InteractionClassNotSubscribed,
353  FederateInternalError) = 0;
354 
355  virtual
356  void
358  (InteractionClassHandle theInteraction,
359  ParameterHandleValueMap const & theParameterValues,
360  VariableLengthData const & theUserSuppliedTag,
361  OrderType sentOrder,
362  TransportationType theType,
363  LogicalTime const & theTime,
364  OrderType receivedOrder,
365  MessageRetractionHandle theHandle)
366  throw (InteractionClassNotRecognized,
367  InteractionParameterNotRecognized,
368  InteractionClassNotSubscribed,
369  InvalidLogicalTime,
370  FederateInternalError) = 0;
371 
372  virtual
373  void
375  (InteractionClassHandle theInteraction,
376  ParameterHandleValueMap const & theParameterValues,
377  VariableLengthData const & theUserSuppliedTag,
378  OrderType sentOrder,
379  TransportationType theType,
380  LogicalTime const & theTime,
381  OrderType receivedOrder,
382  MessageRetractionHandle theHandle,
383  RegionHandleSet const & theSentRegionHandleSet)
384  throw (InteractionClassNotRecognized,
385  InteractionParameterNotRecognized,
386  InteractionClassNotSubscribed,
387  InvalidLogicalTime,
388  FederateInternalError) = 0;
389 
390  // 6.11
391  virtual
392  void
393  removeObjectInstance(ObjectInstanceHandle theObject,
394  VariableLengthData const & theUserSuppliedTag,
395  OrderType sentOrder)
396  throw (ObjectInstanceNotKnown,
397  FederateInternalError) = 0;
398 
399  virtual
400  void
401  removeObjectInstance(ObjectInstanceHandle theObject,
402  VariableLengthData const & theUserSuppliedTag,
403  OrderType sentOrder,
404  LogicalTime const & theTime,
405  OrderType receivedOrder)
406  throw (ObjectInstanceNotKnown,
407  FederateInternalError) = 0;
408 
409  virtual
410  void
411  removeObjectInstance(ObjectInstanceHandle theObject,
412  VariableLengthData const & theUserSuppliedTag,
413  OrderType sentOrder,
414  LogicalTime const & theTime,
415  OrderType receivedOrder,
416  MessageRetractionHandle theHandle)
417  throw (ObjectInstanceNotKnown,
418  InvalidLogicalTime,
419  FederateInternalError) = 0;
420 
421  // 6.15
422  virtual
423  void
425  (ObjectInstanceHandle theObject,
426  AttributeHandleSet const & theAttributes)
427  throw (ObjectInstanceNotKnown,
428  AttributeNotRecognized,
429  AttributeNotSubscribed,
430  FederateInternalError) = 0;
431 
432  // 6.16
433  virtual
434  void
436  (ObjectInstanceHandle theObject,
437  AttributeHandleSet const & theAttributes)
438  throw (ObjectInstanceNotKnown,
439  AttributeNotRecognized,
440  AttributeNotSubscribed,
441  FederateInternalError) = 0;
442 
443  // 6.18
444  virtual
445  void
447  (ObjectInstanceHandle theObject,
448  AttributeHandleSet const & theAttributes,
449  VariableLengthData const & theUserSuppliedTag)
450  throw (ObjectInstanceNotKnown,
451  AttributeNotRecognized,
452  AttributeNotOwned,
453  FederateInternalError) = 0;
454 
455  // 6.19
456  virtual
457  void
459  (ObjectInstanceHandle theObject,
460  AttributeHandleSet const & theAttributes)
461  throw (ObjectInstanceNotKnown,
462  AttributeNotRecognized,
463  AttributeNotOwned,
464  FederateInternalError) = 0;
465 
466  // 6.20
467  virtual
468  void
470  (ObjectInstanceHandle theObject,
471  AttributeHandleSet const & theAttributes)
472  throw (ObjectInstanceNotKnown,
473  AttributeNotRecognized,
474  AttributeNotOwned,
475  FederateInternalError) = 0;
476 
478  // Ownership Management Services //
480 
481  // 7.4
482  virtual
483  void
485  (ObjectInstanceHandle theObject,
486  AttributeHandleSet const & offeredAttributes,
487  VariableLengthData const & theUserSuppliedTag)
488  throw (ObjectInstanceNotKnown,
489  AttributeNotRecognized,
490  AttributeAlreadyOwned,
491  AttributeNotPublished,
492  FederateInternalError) = 0;
493 
494  // 7.5
495  virtual
496  void
497  requestDivestitureConfirmation
498  (ObjectInstanceHandle theObject,
499  AttributeHandleSet const & releasedAttributes)
500  throw (ObjectInstanceNotKnown,
501  AttributeNotRecognized,
502  AttributeNotOwned,
503  AttributeDivestitureWasNotRequested,
504  FederateInternalError) = 0;
505 
506  // 7.7
507  virtual
508  void
510  (ObjectInstanceHandle theObject,
511  AttributeHandleSet const & securedAttributes,
512  VariableLengthData const & theUserSuppliedTag)
513  throw (ObjectInstanceNotKnown,
514  AttributeNotRecognized,
515  AttributeAcquisitionWasNotRequested,
516  AttributeAlreadyOwned,
517  AttributeNotPublished,
518  FederateInternalError) = 0;
519 
520  // 7.10
521  virtual
522  void
524  (ObjectInstanceHandle theObject,
525  AttributeHandleSet const & theAttributes)
526  throw (ObjectInstanceNotKnown,
527  AttributeNotRecognized,
528  AttributeAlreadyOwned,
529  AttributeAcquisitionWasNotRequested,
530  FederateInternalError) = 0;
531 
532  // 7.11
533  virtual
534  void
536  (ObjectInstanceHandle theObject,
537  AttributeHandleSet const & candidateAttributes,
538  VariableLengthData const & theUserSuppliedTag)
539  throw (ObjectInstanceNotKnown,
540  AttributeNotRecognized,
541  AttributeNotOwned,
542  FederateInternalError) = 0;
543 
544  // 7.15
545  virtual
546  void
548  (ObjectInstanceHandle theObject,
549  AttributeHandleSet const & theAttributes)
550  throw (ObjectInstanceNotKnown,
551  AttributeNotRecognized,
552  AttributeAlreadyOwned,
553  AttributeAcquisitionWasNotCanceled,
554  FederateInternalError) = 0;
555 
556  // 7.17
557  virtual
558  void
559  informAttributeOwnership(ObjectInstanceHandle theObject,
560  AttributeHandle theAttribute,
561  FederateHandle theOwner)
562  throw (ObjectInstanceNotKnown,
563  AttributeNotRecognized,
564  FederateInternalError) = 0;
565 
566  virtual
567  void
568  attributeIsNotOwned(ObjectInstanceHandle theObject,
569  AttributeHandle theAttribute)
570  throw (ObjectInstanceNotKnown,
571  AttributeNotRecognized,
572  FederateInternalError) = 0;
573 
574  virtual
575  void
576  attributeIsOwnedByRTI(ObjectInstanceHandle theObject,
577  AttributeHandle theAttribute)
578  throw (ObjectInstanceNotKnown,
579  AttributeNotRecognized,
580  FederateInternalError) = 0;
581 
583  // Time Management Services //
585 
586  // 8.3
587  virtual
588  void
589  timeRegulationEnabled(LogicalTime const & theFederateTime)
590  throw (InvalidLogicalTime,
591  NoRequestToEnableTimeRegulationWasPending,
592  FederateInternalError) = 0;
593 
594  // 8.6
595  virtual
596  void
597  timeConstrainedEnabled(LogicalTime const & theFederateTime)
598  throw (InvalidLogicalTime,
599  NoRequestToEnableTimeConstrainedWasPending,
600  FederateInternalError) = 0;
601 
602  // 8.13
603  virtual
604  void
605  timeAdvanceGrant(LogicalTime const & theTime)
606  throw (InvalidLogicalTime,
607  JoinedFederateIsNotInTimeAdvancingState,
608  FederateInternalError) = 0;
609 
610  // 8.22
611  virtual
612  void
613  requestRetraction(MessageRetractionHandle theHandle)
614  throw (FederateInternalError) = 0;
615  };
616 }
617 
618 #endif // RTI_FederateAmbassador_h
std::vector< FederateHandleSaveStatusPair > FederateHandleSaveStatusPairVector
Definition: Typedefs.h:57
#define RTI_EXPORT
Definition: SpecificConfig.h:55
virtual void requestAttributeOwnershipRelease(ObjectHandle theObject, const AttributeHandleSet &candidateAttributes, const char *theTag)=0
7.10
virtual void attributesOutOfScope(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
6.14
virtual void informAttributeOwnership(ObjectHandle theObject, AttributeHandle theAttribute, FederateHandle theOwner)=0
7.16
virtual void initiateFederateRestore(const char *label, FederateHandle handle)=0
4.19
virtual void confirmAttributeOwnershipAcquisitionCancellation(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
7.14
virtual void startRegistrationForObjectClass(ObjectClassHandle theClass)=0
! Declaration Management Services //!
virtual void requestRetraction(EventRetractionHandle theHandle)=0
8.22
virtual ~FederateAmbassador()
Definition: fedAmbServ.h:394
OrderType
Definition: Enums.h:13
virtual void synchronizationPointRegistrationFailed(const char *label)=0
supplied C4)
std::set< RegionHandle > RegionHandleSet
Definition: Typedefs.h:31
virtual void federationNotRestored()=0
virtual void attributesInScope(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
6.13
virtual void attributeOwnershipUnavailable(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
7.9
virtual void receiveInteraction(InteractionClassHandle theInteraction, const ParameterHandleValuePairSet &theParameters, const FedTime &theTime, const char *theTag, EventRetractionHandle theHandle)=0
6.7
virtual void removeObjectInstance(ObjectHandle theObject, const FedTime &theTime, const char *theTag, EventRetractionHandle theHandle)=0
6.9
virtual void synchronizationPointRegistrationSucceeded(const char *label)=0
RTI Parameter Passing Memory Conventions.
std::vector< FederateHandleRestoreStatusPair > FederateHandleRestoreStatusPairVector
Definition: Typedefs.h:65
virtual void initiateFederateSave(const char *label)=0
4.12
virtual void timeAdvanceGrant(const FedTime &theTime)=0
8.13
virtual void announceSynchronizationPoint(const char *label, const char *tag)=0
4.8
virtual void requestFederationRestoreFailed(const char *label, const char *reason)=0
supplied C4
virtual void federationNotSaved()=0
This file contains the standard RTI types that are defined in namespace rti1516.
virtual void federationSynchronized(const char *label)=0
4.10
std::map< ParameterHandle, VariableLengthData > ParameterHandleValueMap
Definition: Typedefs.h:41
SynchronizationFailureReason
Definition: Enums.h:75
virtual void discoverObjectInstance(ObjectHandle theObject, ObjectClassHandle theObjectClass, const char *theObjectName)=0
! Object Management Services //!
virtual void requestFederationRestoreSucceeded(const char *label)=0
4.17
RestoreFailureReason
Definition: Enums.h:29
virtual void attributeOwnershipAcquisitionNotification(ObjectHandle theObject, const AttributeHandleSet &securedAttributes)=0
7.6
virtual void reflectAttributeValues(ObjectHandle theObject, const AttributeHandleValuePairSet &theAttributes, const FedTime &theTime, const char *theTag, EventRetractionHandle theHandle)=0
6.5
std::map< AttributeHandle, VariableLengthData > AttributeHandleValueMap
Definition: Typedefs.h:36
virtual void turnInteractionsOff(InteractionClassHandle theHandle)=0
5.13
std::set< AttributeHandle > AttributeHandleSet
Definition: Typedefs.h:27
Definition: FederateAmbassador.h:24
virtual void federationRestored()=0
4.21
virtual void provideAttributeValueUpdate(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
6.16
virtual void turnUpdatesOffForObjectInstance(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
6.18
virtual void requestAttributeOwnershipAssumption(ObjectHandle theObject, const AttributeHandleSet &offeredAttributes, const char *theTag)=0
! Ownership Management Services //!
This file contains enumerations used by the interface.
This file contains definitions that are used to isolate platform-specific elements of the API...
virtual void turnUpdatesOnForObjectInstance(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
6.17
Definition: VariableLengthData.h:22
virtual void stopRegistrationForObjectClass(ObjectClassHandle theClass)=0
5.11
virtual void attributeIsNotOwned(ObjectHandle theObject, AttributeHandle theAttribute)=0
supplied C1
Definition: LogicalTime.h:27
virtual void federationRestoreBegun()=0
4.18
virtual void federationSaved()=0
4.15
virtual void timeConstrainedEnabled(const FedTime &theFederateTime)=0
8.6
virtual void timeRegulationEnabled(const FedTime &theFederateTime)=0
! Time Management Services //!
virtual void turnInteractionsOn(InteractionClassHandle theHandle)=0
5.12
TransportationType
Definition: Enums.h:84
SaveFailureReason
Definition: Enums.h:47

Document ID: Generated on Sun Jul 20 16:15:30 EDT 2025 from SVN revision 277985
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)