7 #ifndef DtVrlFederateAmbassador_H_
8 #define DtVrlFederateAmbassador_H_
59 throw( RTI::FederateInternalError );
82 virtual
void addReflectAttributeValuesCb( RTI::ObjectHandle
id,
84 virtual
void removeReflectAttributeValuesCb( RTI::ObjectHandle
id,
89 virtual
void addDiscoverObjectCb( RTI::ObjectClassHandle hand,
91 virtual
void removeDiscoverObjectCb( RTI::ObjectClassHandle hand,
96 virtual
void addRemoveObjectCb( RTI::ObjectHandle
id,
98 virtual
void removeRemoveObjectCb( RTI::ObjectHandle
id,
103 virtual
void addStartRegCb( RTI::ObjectClassHandle hand,
105 virtual
void removeStartRegCb( RTI::ObjectClassHandle hand,
110 virtual
void addStopRegCb( RTI::ObjectClassHandle hand,
112 virtual
void removeStopRegCb( RTI::ObjectClassHandle hand,
117 virtual
void addUpdatesOnCb( RTI::ObjectHandle hand,
119 virtual
void removeUpdatesOnCb( RTI::ObjectHandle hand,
124 virtual
void addUpdatesOffCb( RTI::ObjectHandle hand,
126 virtual
void removeUpdatesOffCb( RTI::ObjectHandle hand,
131 virtual
void addStartInteractionsCb( RTI::InteractionClassHandle hand,
133 virtual
void removeStartInteractionsCb( RTI::InteractionClassHandle hand,
138 virtual
void addStopInteractionsCb( RTI::InteractionClassHandle hand,
140 virtual
void removeStopInteractionsCb( RTI::InteractionClassHandle hand,
145 virtual
void addReceiveInteractionCb( RTI::InteractionClassHandle hand,
147 virtual
void removeReceiveInteractionCb( RTI::InteractionClassHandle hand,
152 virtual
void addTimeAdvanceGrantCb(
DtFedTimeCb cb,
void* usr );
153 virtual
void removeTimeAdvanceGrantCb(
DtFedTimeCb cb,
void* usr );
157 virtual
void addTimeRegulationEnabledCb(
DtFedTimeCb cb,
void* usr );
158 virtual
void removeTimeRegulationEnabledCb(
DtFedTimeCb cb,
void* usr );
162 virtual
void addTimeConstrainedEnabledCb(
DtFedTimeCb cb,
void* usr );
163 virtual
void removeTimeConstrainedEnabledCb(
DtFedTimeCb cb,
void* usr );
165 virtual
void setRemoveObjectOnAttOutOfScope(
bool remove);
166 virtual
bool removeObjectOnAttOutOfScope() const;
172 virtual
void addFederateSaveCb(const
DtString& label,
177 virtual
void removeFederateSaveCb(const
DtString& label,
185 virtual
void addFederateRestoreCb(const
DtString& label,
190 virtual
void removeFederateRestoreCb(const
DtString& label,
196 virtual
bool waitingForSaveOrRestore() const;
205 virtual
void timeAdvanceGrant( const RTI::FedTime& theTime )
206 throw( RTI::InvalidFederationTime,
207 RTI::TimeAdvanceWasNotInProgress,
208 RTI::FederateInternalError );
210 virtual
void timeRegulationEnabled( const RTI::FedTime& theTime )
211 throw( RTI::InvalidFederationTime,
212 RTI::EnableTimeRegulationWasNotPending,
213 RTI::FederateInternalError );
215 virtual
void timeConstrainedEnabled( const RTI::FedTime& theTime )
216 throw( RTI::InvalidFederationTime,
217 RTI::EnableTimeConstrainedWasNotPending,
218 RTI::FederateInternalError );
220 virtual
void startRegistrationForObjectClass(
221 RTI::ObjectClassHandle theClass )
222 throw( RTI::ObjectClassNotPublished,
223 RTI::FederateInternalError );
225 virtual
void stopRegistrationForObjectClass(
226 RTI::ObjectClassHandle theClass )
227 throw( RTI::ObjectClassNotPublished,
228 RTI::FederateInternalError );
230 virtual
void turnInteractionsOn(
231 RTI::InteractionClassHandle theHandle )
232 throw( RTI::InteractionClassNotPublished,
233 RTI::FederateInternalError );
235 virtual
void turnInteractionsOff(
236 RTI::InteractionClassHandle theHandle )
237 throw( RTI::InteractionClassNotPublished,
238 RTI::FederateInternalError );
240 virtual
void discoverObjectInstance(
241 RTI::ObjectHandle theObject,
242 RTI::ObjectClassHandle theObjectClass,
243 const
char* theObjectName )
244 throw( RTI::CouldNotDiscover,
245 RTI::ObjectClassNotKnown,
246 RTI::FederateInternalError );
248 virtual
void reflectAttributeValues(
249 RTI::ObjectHandle theObject,
250 const RTI::AttributeHandleValuePairSet& theAttributes,
251 const RTI::FedTime& theTime,
253 RTI::EventRetractionHandle theHandle )
254 throw( RTI::ObjectNotKnown,
255 RTI::AttributeNotKnown,
256 RTI::FederateOwnsAttributes,
257 RTI::InvalidFederationTime,
258 RTI::FederateInternalError );
260 virtual
void reflectAttributeValues(
261 RTI::ObjectHandle theObject,
262 const RTI::AttributeHandleValuePairSet& theAttributes,
264 throw( RTI::ObjectNotKnown,
265 RTI::AttributeNotKnown,
266 RTI::FederateOwnsAttributes,
267 RTI::FederateInternalError);
269 virtual
void receiveInteraction(
270 RTI::InteractionClassHandle theInteraction,
271 const RTI::ParameterHandleValuePairSet& theParameters,
272 const RTI::FedTime& theTime,
274 RTI::EventRetractionHandle theHandle )
275 throw( RTI::InteractionClassNotKnown,
276 RTI::InteractionParameterNotKnown,
277 RTI::InvalidFederationTime,
278 RTI::FederateInternalError );
280 virtual
void receiveInteraction(
281 RTI::InteractionClassHandle theInteraction,
282 const RTI::ParameterHandleValuePairSet& theParameters,
284 throw( RTI::InteractionClassNotKnown,
285 RTI::InteractionParameterNotKnown,
286 RTI::FederateInternalError );
288 virtual
void removeObjectInstance(
289 RTI::ObjectHandle theObject,
290 const RTI::FedTime& theTime,
292 RTI::EventRetractionHandle theHandle )
293 throw( RTI::ObjectNotKnown,
294 RTI::InvalidFederationTime,
295 RTI::FederateInternalError );
297 virtual
void removeObjectInstance(
298 RTI::ObjectHandle theObject,
300 throw( RTI::ObjectNotKnown,
301 RTI::FederateInternalError );
303 virtual
void attributesInScope (
304 RTI::ObjectHandle theObject,
305 const RTI::AttributeHandleSet& theAttributes)
306 throw ( RTI::ObjectNotKnown,
307 RTI::AttributeNotKnown,
308 RTI::FederateInternalError);
310 virtual
void attributesOutOfScope (
311 RTI::ObjectHandle theObject,
312 const RTI::AttributeHandleSet& theAttributes)
313 throw ( RTI::ObjectNotKnown,
314 RTI::AttributeNotKnown,
315 RTI::FederateInternalError);
318 virtual
void provideAttributeValueUpdate(
319 RTI::ObjectHandle theObject,
320 const RTI::AttributeHandleSet& theAttributes )
321 throw( RTI::ObjectNotKnown,
322 RTI::AttributeNotKnown,
323 RTI::AttributeNotOwned,
324 RTI::FederateInternalError );
326 virtual
void turnUpdatesOnForObjectInstance(
327 RTI::ObjectHandle theObject,
328 const RTI::AttributeHandleSet& theAttributes )
329 throw( RTI::ObjectNotKnown,
330 RTI::AttributeNotOwned,
331 RTI::FederateInternalError );
333 virtual
void turnUpdatesOffForObjectInstance(
334 RTI::ObjectHandle theObject,
335 const RTI::AttributeHandleSet& theAttributes )
336 throw( RTI::ObjectNotKnown,
337 RTI::AttributeNotOwned,
338 RTI::FederateInternalError );
341 virtual
void requestAttributeOwnershipAssumption(
342 RTI::ObjectHandle theObject,
343 const RTI::AttributeHandleSet& offeredAttributes,
345 throw( RTI::ObjectNotKnown,
346 RTI::AttributeNotKnown,
347 RTI::AttributeAlreadyOwned,
348 RTI::AttributeNotPublished,
349 RTI::FederateInternalError );
351 virtual
void attributeOwnershipDivestitureNotification(
352 RTI::ObjectHandle theObject,
353 const RTI::AttributeHandleSet& releasedAttributes )
354 throw( RTI::ObjectNotKnown,
355 RTI::AttributeNotKnown,
356 RTI::AttributeNotOwned,
357 RTI::AttributeDivestitureWasNotRequested,
358 RTI::FederateInternalError );
360 virtual
void attributeOwnershipAcquisitionNotification(
361 RTI::ObjectHandle theObject,
362 const RTI::AttributeHandleSet& securedAttributes )
363 throw( RTI::ObjectNotKnown,
364 RTI::AttributeNotKnown,
365 RTI::AttributeAcquisitionWasNotRequested,
366 RTI::AttributeAlreadyOwned,
367 RTI::AttributeNotPublished,
368 RTI::FederateInternalError );
370 virtual
void attributeOwnershipUnavailable(
371 RTI::ObjectHandle theObject,
372 const RTI::AttributeHandleSet& theAttributes )
373 throw( RTI::ObjectNotKnown,
374 RTI::AttributeNotKnown,
375 RTI::AttributeAlreadyOwned,
376 RTI::AttributeAcquisitionWasNotRequested,
377 RTI::FederateInternalError );
379 virtual
void requestAttributeOwnershipRelease(
380 RTI::ObjectHandle theObject,
381 const RTI::AttributeHandleSet& candidateAttributes,
383 throw( RTI::ObjectNotKnown,
384 RTI::AttributeNotKnown,
385 RTI::AttributeNotOwned,
386 RTI::FederateInternalError );
388 virtual
void confirmAttributeOwnershipAcquisitionCancellation(
389 RTI::ObjectHandle theObject,
390 const RTI::AttributeHandleSet& theAttributes )
391 throw( RTI::ObjectNotKnown,
392 RTI::AttributeNotKnown,
393 RTI::AttributeAlreadyOwned,
394 RTI::AttributeAcquisitionWasNotCanceled,
395 RTI::FederateInternalError );
397 virtual
void informAttributeOwnership(
398 RTI::ObjectHandle theObject,
399 RTI::AttributeHandle theAttribute,
400 RTI::FederateHandle theOwner )
401 throw( RTI::ObjectNotKnown,
402 RTI::AttributeNotKnown,
403 RTI::FederateInternalError );
405 virtual
void attributeIsNotOwned(
406 RTI::ObjectHandle theObject,
407 RTI::AttributeHandle theAttribute )
408 throw( RTI::ObjectNotKnown,
409 RTI::AttributeNotKnown,
410 RTI::FederateInternalError );
412 virtual
void attributeOwnedByRTI(
413 RTI::ObjectHandle theObject,
414 RTI::AttributeHandle theAttribute )
415 throw( RTI::ObjectNotKnown,
416 RTI::AttributeNotKnown,
417 RTI::FederateInternalError);
422 virtual
void initiateFederateSave(
424 throw( RTI::UnableToPerformSave,
425 RTI::FederateInternalError );
427 virtual
void federationSaved()
428 throw( RTI::FederateInternalError);
430 virtual
void federationNotSaved()
431 throw( RTI::FederateInternalError );
437 virtual
void initiateFederateRestore (
439 RTI::FederateHandle handle)
441 RTI::SpecifiedSaveLabelDoesNotExist,
442 RTI::CouldNotRestore,
443 RTI::FederateInternalError);
445 virtual
void federationRestored ()
447 RTI::FederateInternalError);
451 virtual
void synchronizationPointRegistrationSucceeded( const
char* label )
452 throw( RTI::FederateInternalError );
454 virtual
void synchronizationPointRegistrationFailed( const
char* label )
455 throw( RTI::FederateInternalError );
457 virtual
void federationSynchronized( const
char* label )
458 throw( RTI::FederateInternalError );
460 virtual
void announceSynchronizationPoint(
461 const
char* label, const
char* tag )
462 throw( RTI::FederateInternalError );
465 virtual
void addSynchPointRegSucceededCb(const
DtString& label,
470 virtual
void removeSynchPointRegSucceededCb(const
DtString& label,
475 virtual
void addSynchPointRegFailedCb(const
DtString& label,
480 virtual
void removeSynchPointRegFailedCb(const
DtString& label,
485 virtual
void addFederationSynchedCb(const
DtString& label,
490 virtual
void removeFederationSynchedCb(const
DtString& label,
495 virtual
void addAnnounceSynchPointCb(const
DtString& label,
500 virtual
void removeAnnounceSynchPointCb(const
DtString& label,
507 virtual const RTI::Region* getRegionFromAttributes(
508 const RTI::AttributeHandleValuePairSet& theAttributes ) const;
510 virtual const RTI::Region* getRegionFromParameters(
511 const RTI::ParameterHandleValuePairSet& theAttributes ) const;
565 static void attributesOutOfScopeCb(
void* usr);
567 virtual void processAttributesOutOfScope(RTI::ObjectHandle handle);
603 virtual void applyFedsSynchedCallbacks(
const char* label);
604 virtual void applyRegistrationSucceededCallbacks(
const char* label);
605 virtual void applyRegistrationFailedCallbacks(
const char* label);
608 virtual bool applyAnnounceCallbacks(
const char* label,
const char* tag);
DtStopRegCbList myStopRegCbList
Definition: vrlFederateAmbassador13.h:577
void(* DtFederateSaveCb)(const char *label, void *usr)
Definition: vrlFederateAmbassador13.h:25
Instances of DtRegControlCbList are used to provide a list of callbacks (DtRegControlCbInfo) which ar...
Definition: regControlCbList.h:32
std::list< DtLabelledAnnounceCbInfo > myLabAnnounceSynchPointCbList
Definition: vrlFederateAmbassador13.h:593
Definition: vrlFederateAmbassador13.h:47
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnHLA.h:61
RTI::ObjectHandle handle
Definition: vrlFederateAmbassador13.h:50
DtUpdatesOffCbList myUpdatesOffCbList
Definition: vrlFederateAmbassador13.h:575
Adapted from the DMSO RTI 1.3.4 file NullFederateAmbassador.hh.
DtUpdatesOnCbList myUpdatesOnCbList
Definition: vrlFederateAmbassador13.h:574
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
std::list< DtFederateRestoreCbInfo > myFederateRestoreCbList
Definition: vrlFederateAmbassador13.h:587
void(* DtAnnounceSynchPointCb)(const char *label, const char *tag, void *usr)
Definition: vrlFederateAmbassador13.h:37
DtHlaObjectManager * myHlaObjectManager
Definition: vrlFederateAmbassador13.h:571
Definition: vrlFederateAmbassador13.h:45
Definition: vrlFederateAmbassador13.h:532
DtRegControlCb DtStopRegCb
Definition: regControlCbList.h:25
void * userData
Definition: vrlFederateAmbassador13.h:529
Definition: vrlFederateAmbassador13.h:552
void(* DtDiscoverObjectCb)(DtHlaObject *obj, void *usr)
Definition: discoverObjectCbInfo.h:20
DtUpdateControlCb DtUpdatesOnCb
Definition: updateControlCbInfo.h:29
void(* DtStartStopInterCb)(RTI::InteractionClassHandle intClass, void *usr)
Definition: startStopInterCbList.h:21
DtStartStopInterCbList myStopIntCbList
Definition: vrlFederateAmbassador13.h:579
void(* DtReflectAttributeValuesCb)(const DtStateMsg &stateMsg, void *usr)
Definition: reflectAttributeValuesCbList.h:24
Definition: vrlFederateAmbassador13.h:519
void(* DtFederateRestoreCb)(const char *label, void *usr)
Definition: vrlFederateAmbassador13.h:29
Definition: vrlFederateAmbassador13.h:539
DtString label
Definition: vrlFederateAmbassador13.h:547
std::list< DtLabelledSynchPointCbInfo > myLabFederationSynchedCbList
Definition: vrlFederateAmbassador13.h:592
DtRegControlCb DtStartRegCb
Definition: regControlCbList.h:24
class DtStartStopInterCbList:
Definition: startStopInterCbList.h:32
DtFedTimeCbList myRegulationEnabledCbList
Definition: vrlFederateAmbassador13.h:581
DtFederateRestoreCb cbFunction
Definition: vrlFederateAmbassador13.h:521
Definition: vrlFederateAmbassador13.h:558
DtFedTimeCbList myConstrainedEnabledCbList
Definition: vrlFederateAmbassador13.h:582
DtSynchPointCb cbFunction
Definition: vrlFederateAmbassador13.h:548
DtString label
Definition: vrlFederateAmbassador13.h:527
void * userData
Definition: vrlFederateAmbassador13.h:542
void(* DtReceiveInteractionCb)(DtInteraction *inter, void *usr)
Definition: receiveInteractionCbInfo.h:23
DtExerciseConn * myExConn
Definition: vrlFederateAmbassador13.h:569
bool myRemoveObjectOnAttOutOfScope
Definition: vrlFederateAmbassador13.h:600
std::list< DtGeneralSynchPointCbInfo > myFederationSynchedCbList
Definition: vrlFederateAmbassador13.h:597
DtStartStopInterCbList myStartIntCbList
Definition: vrlFederateAmbassador13.h:578
class DtInteractionManager:
Definition: interactionManager.h:25
Instances of DtUpdateControlCbList are used to provide a list of callbacks (DtUpdateControlCbInfo) wh...
Definition: updateControlCbList.h:33
void * userData
Definition: vrlFederateAmbassador13.h:516
void * userData
Definition: vrlFederateAmbassador13.h:555
void * userData
Definition: vrlFederateAmbassador13.h:536
DtStartRegCbList myStartRegCbList
Definition: vrlFederateAmbassador13.h:576
DtBoost::shared_ptr< DtDDMRegion > DtDDMRegionSP
Definition: region13.h:31
DtVrlFederateAmbassador * fedAmb
Definition: vrlFederateAmbassador13.h:49
DtAnnounceSynchPointCb cbFunction
Definition: vrlFederateAmbassador13.h:561
class DtFedTimeCbList:
Definition: fedTimeCbList.h:35
DtString label
Definition: vrlFederateAmbassador13.h:560
std::list< DtGeneralSynchPointCbInfo > mySynchPtRegFailedCbList
Definition: vrlFederateAmbassador13.h:596
void * userData
Definition: vrlFederateAmbassador13.h:522
DtInteractionManager * myInteractionManager
Definition: vrlFederateAmbassador13.h:570
std::list< DtGeneralSynchPointCbInfo > mySynchPtRegSucceededCbList
Definition: vrlFederateAmbassador13.h:595
Definition: vrlFederateAmbassador13.h:525
DtAnnounceSynchPointCb cbFunction
Definition: vrlFederateAmbassador13.h:554
Definition: vrlFederateAmbassador13.h:545
void(* DtFedTimeCb)(const RTI::FedTime &theFedTime, void *theUserData)
Definition: fedTimeCbList.h:21
bool myWaitingForSave
Definition: vrlFederateAmbassador13.h:612
class DtHlaObjectManager:
Definition: hlaObjectManager.h:30
DtReflectAttributeValuesCbList myRavCbList
Definition: vrlFederateAmbassador13.h:573
void(* DtSynchPointCb)(const char *label, void *usr)
Definition: vrlFederateAmbassador13.h:33
std::list< DtLabelledSynchPointCbInfo > myLabSynchPtRegSucceededCbList
Definition: vrlFederateAmbassador13.h:590
DtSynchPointCb cbFunction
Definition: vrlFederateAmbassador13.h:541
DtFederateSaveCb cbFunction
Definition: vrlFederateAmbassador13.h:528
Definition: nullFederateAmbassador13.h:25
std::list< DtGeneralAnnounceCbInfo > myAnnounceSynchPointCbList
Definition: vrlFederateAmbassador13.h:598
std::list< DtLabelledFederateRestoreCbInfo > myLabFederateRestoreCbList
Definition: vrlFederateAmbassador13.h:588
std::list< DtLabelledSynchPointCbInfo > myLabSynchPtRegFailedCbList
Definition: vrlFederateAmbassador13.h:591
void * userData
Definition: vrlFederateAmbassador13.h:549
std::list< DtFederateSaveCbInfo > myFederateSaveCbList
Lists for specific callbacks registered with VR-Link.
Definition: vrlFederateAmbassador13.h:585
bool myWaitingForRestore
Definition: vrlFederateAmbassador13.h:613
DtFederateRestoreCb cbFunction
Definition: vrlFederateAmbassador13.h:535
Instances of DtString are used to represent strings.
Definition: vlString.h:29
Instances of DtReflectAttributeValuesCbList are used to provide a list of callbacks (DtReflectAttribu...
Definition: reflectAttributeValuesCbList.h:31
DtUpdateControlCb DtUpdatesOffCb
Definition: updateControlCbInfo.h:30
This file is used as a convenience to group RTI related callbacks together.
std::list< DtLabelledFederateSaveCbInfo > myLabFederateSaveCbList
Definition: vrlFederateAmbassador13.h:586
DtFederateSaveCb cbFunction
Definition: vrlFederateAmbassador13.h:515
DtString label
Definition: vrlFederateAmbassador13.h:534
void * userData
Definition: vrlFederateAmbassador13.h:562
void(* DtRemoveObjectCb)(DtHlaObject *obj, void *usr)
Definition: removeObjectCbInfo.h:22
DtFedTimeCbList myTimeAdvanceGrantCbList
Definition: vrlFederateAmbassador13.h:580
Definition: vrlFederateAmbassador13.h:513