MAK RTIspy API Documentation for HLA Evolved
RTI/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
148  throw (ObjectClassNotPublished,
149  FederateInternalError) = 0;
150 
151  // 5.11
152  virtual
153  void
155  throw (ObjectClassNotPublished,
156  FederateInternalError) = 0;
157 
158  // 5.12
159  virtual
160  void
162  throw (InteractionClassNotPublished,
163  FederateInternalError) = 0;
164 
165  // 5.13
166  virtual
167  void
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

Document ID: Generated on Fri Mar 14 19:08:55 EDT 2014 from SVN revision 137085
Copyright © 2005-2014 VT MÄK Inc. All Rights Reserved (www.mak.com)