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

Document ID: Generated on Fri Sep 27 00:57:56 EDT 2019 from SVN revision 201708
Copyright © 2005-2018 VT MÄK Inc. All Rights Reserved (www.mak.com)