MAK RTIspy API Documentation for HLA Evolved
 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  The IEEE hereby grants a general, royalty-free license to copy, distribute,
3  display and make derivative works from this material, for all purposes,
4  provided that any use of the material contains the following
5  attribution: "Reprinted with permission from IEEE 1516.1(TM)-2010".
6  Should you require additional information, contact the Manager, Standards
7  Intellectual Property, IEEE Standards Association (stds-ipr@ieee.org).
8 ***********************************************************************/
9 /***********************************************************************
10  IEEE 1516.1 High Level Architecture Interface Specification C++ API
11  File: RTI/FederateAmbassador.h
12 ***********************************************************************/
13 
14 // This is a pure abstract interface that must be implemented by the
15 // federate to receive callbacks from the RTI.
16 
17 #ifndef RTI_FederateAmbassador_h
18 #define RTI_FederateAmbassador_h
19 
20 namespace rti1516e
21 {
22  class LogicalTime;
23 }
24 
25 #include <RTI/SpecificConfig.h>
26 #include <RTI/Exception.h>
27 #include <RTI/Typedefs.h>
28 #include <RTI/Enums.h>
29 
30 namespace rti1516e
31 {
33  {
34  protected:
36  throw (
37  FederateInternalError);
38 
39  public:
40  virtual ~FederateAmbassador ()
41  throw () = 0;
42 
43  // 4.4
44  virtual void connectionLost (
45  std::wstring const & faultDescription)
46  throw (
47  FederateInternalError) = 0;
48 
49  // 4.8
50  virtual void reportFederationExecutions (
52  theFederationExecutionInformationList)
53  throw (
54  FederateInternalError) = 0;
55 
56  // 4.12
58  std::wstring const & label)
59  throw (
60  FederateInternalError) = 0;
61 
63  std::wstring const & label,
65  throw (
66  FederateInternalError) = 0;
67 
68  // 4.13
69  virtual void announceSynchronizationPoint (
70  std::wstring const & label,
71  VariableLengthData const & theUserSuppliedTag)
72  throw (
73  FederateInternalError) = 0;
74 
75  // 4.15
76  virtual void federationSynchronized (
77  std::wstring const & label,
78  FederateHandleSet const& failedToSyncSet)
79  throw (
80  FederateInternalError) = 0;
81 
82  // 4.17
83  virtual void initiateFederateSave (
84  std::wstring const & label)
85  throw (
86  FederateInternalError) = 0;
87 
88  virtual void initiateFederateSave (
89  std::wstring const & label,
90  LogicalTime const & theTime)
91  throw (
92  FederateInternalError) = 0;
93 
94  // 4.20
95  virtual void federationSaved ()
96  throw (
97  FederateInternalError) = 0;
98 
99  virtual void federationNotSaved (
100  SaveFailureReason theSaveFailureReason)
101  throw (
102  FederateInternalError) = 0;
103 
104 
105  // 4.23
106  virtual void federationSaveStatusResponse (
108  theFederateStatusVector)
109  throw (
110  FederateInternalError) = 0;
111 
112  // 4.25
113  virtual void requestFederationRestoreSucceeded (
114  std::wstring const & label)
115  throw (
116  FederateInternalError) = 0;
117 
118  virtual void requestFederationRestoreFailed (
119  std::wstring const & label)
120  throw (
121  FederateInternalError) = 0;
122 
123  // 4.26
124  virtual void federationRestoreBegun ()
125  throw (
126  FederateInternalError) = 0;
127 
128  // 4.27
129  virtual void initiateFederateRestore (
130  std::wstring const & label,
131  std::wstring const & federateName,
132  FederateHandle handle)
133  throw (
134  FederateInternalError) = 0;
135 
136  // 4.29
137  virtual void federationRestored ()
138  throw (
139  FederateInternalError) = 0;
140 
141  virtual void federationNotRestored (
142  RestoreFailureReason theRestoreFailureReason)
143  throw (
144  FederateInternalError) = 0;
145 
146  // 4.32
147  virtual void federationRestoreStatusResponse (
149  theFederateRestoreStatusVector)
150  throw (
151  FederateInternalError) = 0;
152 
154  // Declaration Management Services //
156 
157  // 5.10
158  virtual void startRegistrationForObjectClass (
159  ObjectClassHandle theClass)
160  throw (
161  FederateInternalError) = 0;
162 
163  // 5.11
164  virtual void stopRegistrationForObjectClass (
165  ObjectClassHandle theClass)
166  throw (
167  FederateInternalError) = 0;
168 
169  // 5.12
170  virtual void turnInteractionsOn (
171  InteractionClassHandle theHandle)
172  throw (
173  FederateInternalError) = 0;
174 
175  // 5.13
176  virtual void turnInteractionsOff (
177  InteractionClassHandle theHandle)
178  throw (
179  FederateInternalError) = 0;
180 
182  // Object Management Services //
184 
185  // 6.3
186  virtual void objectInstanceNameReservationSucceeded (
187  std::wstring const & theObjectInstanceName)
188  throw (
189  FederateInternalError) = 0;
190 
191  virtual void objectInstanceNameReservationFailed (
192  std::wstring const & theObjectInstanceName)
193  throw (
194  FederateInternalError) = 0;
195 
196  // 6.6
197  virtual void multipleObjectInstanceNameReservationSucceeded (
198  std::set<std::wstring> const & theObjectInstanceNames)
199  throw (
200  FederateInternalError) = 0;
201 
202  virtual void multipleObjectInstanceNameReservationFailed (
203  std::set<std::wstring> const & theObjectInstanceNames)
204  throw (
205  FederateInternalError) = 0;
206 
207 
208  // 6.9
209  virtual void discoverObjectInstance (
210  ObjectInstanceHandle theObject,
211  ObjectClassHandle theObjectClass,
212  std::wstring const & theObjectInstanceName)
213  throw (
214  FederateInternalError) = 0;
215 
216  virtual void discoverObjectInstance (
217  ObjectInstanceHandle theObject,
218  ObjectClassHandle theObjectClass,
219  std::wstring const & theObjectInstanceName,
220  FederateHandle producingFederate)
221  throw (
222  FederateInternalError) = 0;
223 
224  // 6.11
225  virtual void reflectAttributeValues (
226  ObjectInstanceHandle theObject,
227  AttributeHandleValueMap const & theAttributeValues,
228  VariableLengthData const & theUserSuppliedTag,
229  OrderType sentOrder,
230  TransportationType theType,
231  SupplementalReflectInfo theReflectInfo)
232  throw (
233  FederateInternalError) = 0;
234 
235  virtual void reflectAttributeValues (
236  ObjectInstanceHandle theObject,
237  AttributeHandleValueMap const & theAttributeValues,
238  VariableLengthData const & theUserSuppliedTag,
239  OrderType sentOrder,
240  TransportationType theType,
241  LogicalTime const & theTime,
242  OrderType receivedOrder,
243  SupplementalReflectInfo theReflectInfo)
244  throw (
245  FederateInternalError) = 0;
246 
247  virtual void reflectAttributeValues (
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  MessageRetractionHandle theHandle,
256  SupplementalReflectInfo theReflectInfo)
257  throw (
258  FederateInternalError) = 0;
259 
260  // 6.13
261  virtual void receiveInteraction (
262  InteractionClassHandle theInteraction,
263  ParameterHandleValueMap const & theParameterValues,
264  VariableLengthData const & theUserSuppliedTag,
265  OrderType sentOrder,
266  TransportationType theType,
267  SupplementalReceiveInfo theReceiveInfo)
268  throw (
269  FederateInternalError) = 0;
270 
271  virtual void receiveInteraction (
272  InteractionClassHandle theInteraction,
273  ParameterHandleValueMap const & theParameterValues,
274  VariableLengthData const & theUserSuppliedTag,
275  OrderType sentOrder,
276  TransportationType theType,
277  LogicalTime const & theTime,
278  OrderType receivedOrder,
279  SupplementalReceiveInfo theReceiveInfo)
280  throw (
281  FederateInternalError) = 0;
282 
283  virtual void receiveInteraction (
284  InteractionClassHandle theInteraction,
285  ParameterHandleValueMap const & theParameterValues,
286  VariableLengthData const & theUserSuppliedTag,
287  OrderType sentOrder,
288  TransportationType theType,
289  LogicalTime const & theTime,
290  OrderType receivedOrder,
291  MessageRetractionHandle theHandle,
292  SupplementalReceiveInfo theReceiveInfo)
293  throw (
294  FederateInternalError) = 0;
295 
296  // 6.15
297  virtual void removeObjectInstance (
298  ObjectInstanceHandle theObject,
299  VariableLengthData const & theUserSuppliedTag,
300  OrderType sentOrder,
301  SupplementalRemoveInfo theRemoveInfo)
302  throw (
303  FederateInternalError) = 0;
304 
305  virtual void removeObjectInstance (
306  ObjectInstanceHandle theObject,
307  VariableLengthData const & theUserSuppliedTag,
308  OrderType sentOrder,
309  LogicalTime const & theTime,
310  OrderType receivedOrder,
311  SupplementalRemoveInfo theRemoveInfo)
312  throw (
313  FederateInternalError) = 0;
314 
315  virtual void removeObjectInstance (
316  ObjectInstanceHandle theObject,
317  VariableLengthData const & theUserSuppliedTag,
318  OrderType sentOrder,
319  LogicalTime const & theTime,
320  OrderType receivedOrder,
321  MessageRetractionHandle theHandle,
322  SupplementalRemoveInfo theRemoveInfo)
323  throw (
324  FederateInternalError) = 0;
325 
326  // 6.17
327  virtual void attributesInScope (
328  ObjectInstanceHandle theObject,
329  AttributeHandleSet const & theAttributes)
330  throw (
331  FederateInternalError) = 0;
332 
333  // 6.18
334  virtual void attributesOutOfScope (
335  ObjectInstanceHandle theObject,
336  AttributeHandleSet const & theAttributes)
337  throw (
338  FederateInternalError) = 0;
339 
340  // 6.20
341  virtual void provideAttributeValueUpdate (
342  ObjectInstanceHandle theObject,
343  AttributeHandleSet const & theAttributes,
344  VariableLengthData const & theUserSuppliedTag)
345  throw (
346  FederateInternalError) = 0;
347 
348  // 6.21
349  virtual void turnUpdatesOnForObjectInstance (
350  ObjectInstanceHandle theObject,
351  AttributeHandleSet const & theAttributes)
352  throw (
353  FederateInternalError) = 0;
354 
355  virtual void turnUpdatesOnForObjectInstance (
356  ObjectInstanceHandle theObject,
357  AttributeHandleSet const & theAttributes,
358  std::wstring const & updateRateDesignator)
359  throw (
360  FederateInternalError) = 0;
361 
362  // 6.22
363  virtual void turnUpdatesOffForObjectInstance (
364  ObjectInstanceHandle theObject,
365  AttributeHandleSet const & theAttributes)
366  throw (
367  FederateInternalError) = 0;
368 
369  // 6.24
370  virtual void confirmAttributeTransportationTypeChange (
371  ObjectInstanceHandle theObject,
372  AttributeHandleSet theAttributes,
373  TransportationType theTransportation)
374  throw (
375  FederateInternalError) = 0;
376 
377  // 6.26
378  virtual void reportAttributeTransportationType (
379  ObjectInstanceHandle theObject,
380  AttributeHandle theAttribute,
381  TransportationType theTransportation)
382  throw (
383  FederateInternalError) = 0;
384 
385  // 6.28
386  virtual void confirmInteractionTransportationTypeChange (
387  InteractionClassHandle theInteraction,
388  TransportationType theTransportation)
389  throw (
390  FederateInternalError) = 0;
391 
392  // 6.30
393  virtual void reportInteractionTransportationType (
394  FederateHandle federateHandle,
395  InteractionClassHandle theInteraction,
396  TransportationType theTransportation)
397  throw (
398  FederateInternalError) = 0;
399 
400 
402  // Ownership Management Services //
404 
405  // 7.4
407  ObjectInstanceHandle theObject,
408  AttributeHandleSet const & offeredAttributes,
409  VariableLengthData const & theUserSuppliedTag)
410  throw (
411  FederateInternalError) = 0;
412 
413  // 7.5
414  virtual void requestDivestitureConfirmation (
415  ObjectInstanceHandle theObject,
416  AttributeHandleSet const & releasedAttributes)
417  throw (
418  FederateInternalError) = 0;
419 
420  // 7.7
422  ObjectInstanceHandle theObject,
423  AttributeHandleSet const & securedAttributes,
424  VariableLengthData const & theUserSuppliedTag)
425  throw (
426  FederateInternalError) = 0;
427 
428  // 7.10
429  virtual void attributeOwnershipUnavailable (
430  ObjectInstanceHandle theObject,
431  AttributeHandleSet const & theAttributes)
432  throw (
433  FederateInternalError) = 0;
434 
435  // 7.11
436  virtual void requestAttributeOwnershipRelease (
437  ObjectInstanceHandle theObject,
438  AttributeHandleSet const & candidateAttributes,
439  VariableLengthData const & theUserSuppliedTag)
440  throw (
441  FederateInternalError) = 0;
442 
443  // 7.16
445  ObjectInstanceHandle theObject,
446  AttributeHandleSet const & theAttributes)
447  throw (
448  FederateInternalError) = 0;
449 
450  // 7.18
451  virtual void informAttributeOwnership (
452  ObjectInstanceHandle theObject,
453  AttributeHandle theAttribute,
454  FederateHandle theOwner)
455  throw (
456  FederateInternalError) = 0;
457 
458  virtual void attributeIsNotOwned (
459  ObjectInstanceHandle theObject,
460  AttributeHandle theAttribute)
461  throw (
462  FederateInternalError) = 0;
463 
464  virtual void attributeIsOwnedByRTI (
465  ObjectInstanceHandle theObject,
466  AttributeHandle theAttribute)
467  throw (
468  FederateInternalError) = 0;
469 
471  // Time Management Services //
473 
474  // 8.3
475  virtual void timeRegulationEnabled (
476  LogicalTime const & theFederateTime)
477  throw (
478  FederateInternalError) = 0;
479 
480  // 8.6
481  virtual void timeConstrainedEnabled (
482  LogicalTime const & theFederateTime)
483  throw (
484  FederateInternalError) = 0;
485 
486  // 8.13
487  virtual void timeAdvanceGrant (
488  LogicalTime const & theTime)
489  throw (
490  FederateInternalError) = 0;
491 
492  // 8.22
493  virtual void requestRetraction (
494  MessageRetractionHandle theHandle)
495  throw (
496  FederateInternalError) = 0;
497  };
498 }
499 
500 #endif // RTI_FederateAmbassador_h
RestoreFailureReason
Definition: Enums.h:43
Definition: Typedefs.h:101
SynchronizationPointFailureReason
Definition: Enums.h:91
#define RTI_EXPORT
Definition: SpecificConfig.h:63
virtual void requestAttributeOwnershipRelease(ObjectHandle theObject, const AttributeHandleSet &candidateAttributes, const char *theTag)=0
7.10
Definition: Typedefs.h:138
virtual void attributesOutOfScope(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
6.14
std::set< AttributeHandle > AttributeHandleSet
Definition: Typedefs.h:35
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
Definition: LogicalTime.h:35
virtual void startRegistrationForObjectClass(ObjectClassHandle theClass)=0
! Declaration Management Services //!
virtual void requestRetraction(EventRetractionHandle theHandle)=0
8.22
virtual ~FederateAmbassador()
Definition: fedAmbServ.h:394
virtual void synchronizationPointRegistrationFailed(const char *label)=0
supplied C4)
virtual void federationNotRestored()=0
SaveFailureReason
Definition: Enums.h:62
virtual void attributesInScope(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
6.13
virtual void attributeOwnershipUnavailable(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
7.9
Definition: Typedefs.h:119
std::vector< FederationExecutionInformation > FederationExecutionInformationVector
Definition: Typedefs.h:99
virtual void receiveInteraction(InteractionClassHandle theInteraction, const ParameterHandleValuePairSet &theParameters, const FedTime &theTime, const char *theTag, EventRetractionHandle theHandle)=0
6.7
Definition: VariableLengthData.h:34
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.
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
virtual void discoverObjectInstance(ObjectHandle theObject, ObjectClassHandle theObjectClass, const char *theObjectName)=0
! Object Management Services //!
virtual void requestFederationRestoreSucceeded(const char *label)=0
4.17
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::vector< FederateHandleSaveStatusPair > FederateHandleSaveStatusPairVector
Definition: Typedefs.h:65
OrderType
Definition: Enums.h:27
virtual void turnInteractionsOff(InteractionClassHandle theHandle)=0
5.13
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
std::map< AttributeHandle, VariableLengthData > AttributeHandleValueMap
Definition: Typedefs.h:44
virtual void requestAttributeOwnershipAssumption(ObjectHandle theObject, const AttributeHandleSet &offeredAttributes, const char *theTag)=0
! Ownership Management Services //!
std::set< FederateHandle > FederateHandleSet
Definition: Typedefs.h:37
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
An abstract base class which must be implemented, and used by a federate.
Definition: FederateAmbassador.h:32
virtual void stopRegistrationForObjectClass(ObjectClassHandle theClass)=0
5.11
virtual void attributeIsNotOwned(ObjectHandle theObject, AttributeHandle theAttribute)=0
supplied C1
virtual void federationRestoreBegun()=0
4.18
virtual void federationSaved()=0
4.15
TransportationType
Definition: Enums.h:97
virtual void timeConstrainedEnabled(const FedTime &theFederateTime)=0
8.6
virtual void timeRegulationEnabled(const FedTime &theFederateTime)=0
! Time Management Services //!
std::vector< FederateRestoreStatus > FederateRestoreStatusVector
Definition: Typedefs.h:83
virtual void turnInteractionsOn(InteractionClassHandle theHandle)=0
5.12
std::map< ParameterHandle, VariableLengthData > ParameterHandleValueMap
Definition: Typedefs.h:49

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)