![]() |
MAK RTIspy API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 1998 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: fedAmbWrap.h,v $ $Revision: 1.12 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtFedAmbWrapper_H_ 00013 #define DtFedAmbWrapper_H_ 00014 00015 #ifdef DtIFSPEC13 00016 00017 #include "rtiMsConfig.h" 00018 00019 #ifdef DtIFSPEC13DLC 00020 #include "NullFederateAmbassador13.h" 00021 #define RTI rti13 00022 #else 00023 #include "NullFederateAmbassador.hh" 00024 #endif 00025 00026 class DtFedAmbWrapper; 00027 00028 typedef DtFedAmbWrapper* (*DtFedAmbWrapperCreator) 00029 (RTI::FederateAmbassador* fedAmb); 00030 00037 00038 #ifdef DtIFSPEC13DLC 00039 class DT_DLL_LRC DtFedAmbWrapper : public rti13::NullFederateAmbassador 00040 #else 00041 class DT_DLL_LRC DtFedAmbWrapper : public NullFederateAmbassador 00042 #endif 00043 { 00044 public: 00045 DtFedAmbWrapper(RTI::FederateAmbassador* fedAmb) : 00046 NullFederateAmbassador(), myFedAmb(fedAmb) {} 00047 00048 virtual ~DtFedAmbWrapper() throw (RTI::FederateInternalError) {} 00049 00050 virtual RTI::FederateAmbassador* fedAmb(); 00051 virtual void setFedAmb(RTI::FederateAmbassador* f); 00052 00053 protected: 00054 RTI::FederateAmbassador* myFedAmb; 00055 00056 public: 00057 00059 00060 00061 virtual void synchronizationPointRegistrationSucceeded ( 00062 const char *label) 00063 throw ( 00064 RTI::FederateInternalError); 00065 00066 virtual void synchronizationPointRegistrationFailed ( 00067 const char *label) 00068 throw ( 00069 RTI::FederateInternalError); 00070 00071 virtual void announceSynchronizationPoint ( 00072 const char *label, 00073 const char *tag) 00074 throw ( 00075 RTI::FederateInternalError); 00076 00077 virtual void federationSynchronized ( 00078 const char *label) 00079 throw ( 00080 RTI::FederateInternalError); 00081 00082 virtual void initiateFederateSave ( 00083 const char *label) 00084 throw ( 00085 RTI::UnableToPerformSave, 00086 RTI::FederateInternalError); 00087 00088 virtual void federationSaved () 00089 throw ( 00090 RTI::FederateInternalError); 00091 00092 virtual void federationNotSaved () 00093 throw ( 00094 RTI::FederateInternalError); 00095 00096 virtual void requestFederationRestoreSucceeded ( 00097 const char *label) 00098 throw ( 00099 RTI::FederateInternalError); 00100 00101 virtual void requestFederationRestoreFailed ( 00102 const char *label, 00103 const char *reason) 00104 throw ( 00105 RTI::FederateInternalError); 00106 00107 virtual void federationRestoreBegun () 00108 throw ( 00109 RTI::FederateInternalError); 00110 00111 virtual void initiateFederateRestore ( 00112 const char *label, 00113 RTI::FederateHandle handle) 00114 throw ( 00115 RTI::SpecifiedSaveLabelDoesNotExist, 00116 RTI::CouldNotRestore, 00117 RTI::FederateInternalError); 00118 00119 virtual void federationRestored () 00120 throw ( 00121 RTI::FederateInternalError); 00122 00123 virtual void federationNotRestored () 00124 throw ( 00125 RTI::FederateInternalError); 00126 00128 00130 00131 00132 virtual void startRegistrationForObjectClass ( 00133 RTI::ObjectClassHandle theClass) 00134 throw ( 00135 RTI::ObjectClassNotPublished, 00136 RTI::FederateInternalError); 00137 00138 virtual void stopRegistrationForObjectClass ( 00139 RTI::ObjectClassHandle theClass) 00140 throw ( 00141 RTI::ObjectClassNotPublished, 00142 RTI::FederateInternalError); 00143 00144 virtual void turnInteractionsOn ( 00145 RTI::InteractionClassHandle theHandle) 00146 throw ( 00147 RTI::InteractionClassNotPublished, 00148 RTI::FederateInternalError); 00149 00150 virtual void turnInteractionsOff ( 00151 RTI::InteractionClassHandle theHandle) 00152 throw ( 00153 RTI::InteractionClassNotPublished, 00154 RTI::FederateInternalError); 00155 00157 00159 00160 00161 virtual void discoverObjectInstance ( 00162 RTI::ObjectHandle theObject, 00163 RTI::ObjectClassHandle theObjectClass, 00164 const char* theObjectName) 00165 throw ( 00166 RTI::CouldNotDiscover, 00167 RTI::ObjectClassNotKnown, 00168 RTI::FederateInternalError); 00169 00170 virtual void reflectAttributeValues ( 00171 RTI::ObjectHandle theObject, 00172 const RTI::AttributeHandleValuePairSet& theAttributes, 00173 const RTI::FedTime& theTime, 00174 const char *theTag, 00175 RTI::EventRetractionHandle theHandle) 00176 throw ( 00177 RTI::ObjectNotKnown, 00178 RTI::AttributeNotKnown, 00179 RTI::FederateOwnsAttributes, 00180 RTI::InvalidFederationTime, 00181 RTI::FederateInternalError); 00182 00183 virtual void reflectAttributeValues ( 00184 RTI::ObjectHandle theObject, 00185 const RTI::AttributeHandleValuePairSet& theAttributes, 00186 const char *theTag) 00187 throw ( 00188 RTI::ObjectNotKnown, 00189 RTI::AttributeNotKnown, 00190 RTI::FederateOwnsAttributes, 00191 RTI::FederateInternalError); 00192 00193 virtual void receiveInteraction ( 00194 RTI::InteractionClassHandle theInteraction, 00195 const RTI::ParameterHandleValuePairSet& theParameters, 00196 const RTI::FedTime& theTime, 00197 const char *theTag, 00198 RTI::EventRetractionHandle theHandle) 00199 throw ( 00200 RTI::InteractionClassNotKnown, 00201 RTI::InteractionParameterNotKnown, 00202 RTI::InvalidFederationTime, 00203 RTI::FederateInternalError); 00204 00205 virtual void receiveInteraction ( 00206 RTI::InteractionClassHandle theInteraction, 00207 const RTI::ParameterHandleValuePairSet& theParameters, 00208 const char *theTag) 00209 throw ( 00210 RTI::InteractionClassNotKnown, 00211 RTI::InteractionParameterNotKnown, 00212 RTI::FederateInternalError); 00213 00214 virtual void removeObjectInstance ( 00215 RTI::ObjectHandle theObject, 00216 const RTI::FedTime& theTime, 00217 const char *theTag, 00218 RTI::EventRetractionHandle theHandle) 00219 throw ( 00220 RTI::ObjectNotKnown, 00221 RTI::InvalidFederationTime, 00222 RTI::FederateInternalError); 00223 00224 virtual void removeObjectInstance ( 00225 RTI::ObjectHandle theObject, 00226 const char *theTag) 00227 throw ( 00228 RTI::ObjectNotKnown, 00229 RTI::FederateInternalError); 00230 00231 virtual void attributesInScope ( 00232 RTI::ObjectHandle theObject, 00233 const RTI::AttributeHandleSet& theAttributes) 00234 throw ( 00235 RTI::ObjectNotKnown, 00236 RTI::AttributeNotKnown, 00237 RTI::FederateInternalError); 00238 00239 virtual void attributesOutOfScope ( 00240 RTI::ObjectHandle theObject, 00241 const RTI::AttributeHandleSet& theAttributes) 00242 throw ( 00243 RTI::ObjectNotKnown, 00244 RTI::AttributeNotKnown, 00245 RTI::FederateInternalError); 00246 00247 virtual void provideAttributeValueUpdate ( 00248 RTI::ObjectHandle theObject, 00249 const RTI::AttributeHandleSet& theAttributes) 00250 throw ( 00251 RTI::ObjectNotKnown, 00252 RTI::AttributeNotKnown, 00253 RTI::AttributeNotOwned, 00254 RTI::FederateInternalError); 00255 00256 virtual void turnUpdatesOnForObjectInstance ( 00257 RTI::ObjectHandle theObject, 00258 const RTI::AttributeHandleSet& theAttributes) 00259 throw ( 00260 RTI::ObjectNotKnown, 00261 RTI::AttributeNotOwned, 00262 RTI::FederateInternalError); 00263 00264 virtual void turnUpdatesOffForObjectInstance ( 00265 RTI::ObjectHandle theObject, 00266 const RTI::AttributeHandleSet& theAttributes) 00267 throw ( 00268 RTI::ObjectNotKnown, 00269 RTI::AttributeNotOwned, 00270 RTI::FederateInternalError); 00271 00273 00275 00276 00277 virtual void requestAttributeOwnershipAssumption ( 00278 RTI::ObjectHandle theObject, 00279 const RTI::AttributeHandleSet& offeredAttributes, 00280 const char *theTag) 00281 throw ( 00282 RTI::ObjectNotKnown, 00283 RTI::AttributeNotKnown, 00284 RTI::AttributeAlreadyOwned, 00285 RTI::AttributeNotPublished, 00286 RTI::FederateInternalError); 00287 00288 virtual void attributeOwnershipDivestitureNotification ( 00289 RTI::ObjectHandle theObject, 00290 const RTI::AttributeHandleSet& releasedAttributes) 00291 throw ( 00292 RTI::ObjectNotKnown, 00293 RTI::AttributeNotKnown, 00294 RTI::AttributeNotOwned, 00295 RTI::AttributeDivestitureWasNotRequested, 00296 RTI::FederateInternalError); 00297 00298 virtual void attributeOwnershipAcquisitionNotification ( 00299 RTI::ObjectHandle theObject, 00300 const RTI::AttributeHandleSet& securedAttributes) 00301 throw ( 00302 RTI::ObjectNotKnown, 00303 RTI::AttributeNotKnown, 00304 RTI::AttributeAcquisitionWasNotRequested, 00305 RTI::AttributeAlreadyOwned, 00306 RTI::AttributeNotPublished, 00307 RTI::FederateInternalError); 00308 00309 virtual void attributeOwnershipUnavailable ( 00310 RTI::ObjectHandle theObject, 00311 const RTI::AttributeHandleSet& theAttributes) 00312 throw ( 00313 RTI::ObjectNotKnown, 00314 RTI::AttributeNotKnown, 00315 RTI::AttributeAlreadyOwned, 00316 RTI::AttributeAcquisitionWasNotRequested, 00317 RTI::FederateInternalError); 00318 00319 virtual void requestAttributeOwnershipRelease ( 00320 RTI::ObjectHandle theObject, 00321 const RTI::AttributeHandleSet& candidateAttributes, 00322 const char *theTag) 00323 throw ( 00324 RTI::ObjectNotKnown, 00325 RTI::AttributeNotKnown, 00326 RTI::AttributeNotOwned, 00327 RTI::FederateInternalError); 00328 00329 virtual void confirmAttributeOwnershipAcquisitionCancellation ( 00330 RTI::ObjectHandle theObject, 00331 const RTI::AttributeHandleSet& theAttributes) 00332 throw ( 00333 RTI::ObjectNotKnown, 00334 RTI::AttributeNotKnown, 00335 RTI::AttributeAlreadyOwned, 00336 RTI::AttributeAcquisitionWasNotCanceled, 00337 RTI::FederateInternalError); 00338 00339 virtual void informAttributeOwnership ( 00340 RTI::ObjectHandle theObject, 00341 RTI::AttributeHandle theAttribute, 00342 RTI::FederateHandle theOwner) 00343 throw ( 00344 RTI::ObjectNotKnown, 00345 RTI::AttributeNotKnown, 00346 RTI::FederateInternalError); 00347 00348 virtual void attributeIsNotOwned ( 00349 RTI::ObjectHandle theObject, 00350 RTI::AttributeHandle theAttribute) 00351 throw ( 00352 RTI::ObjectNotKnown, 00353 RTI::AttributeNotKnown, 00354 RTI::FederateInternalError); 00355 00356 virtual void attributeOwnedByRTI ( 00357 RTI::ObjectHandle theObject, 00358 RTI::AttributeHandle theAttribute) 00359 throw ( 00360 RTI::ObjectNotKnown, 00361 RTI::AttributeNotKnown, 00362 RTI::FederateInternalError); 00363 00365 00367 00368 00369 virtual void timeRegulationEnabled ( 00370 const RTI::FedTime& theFederateTime) 00371 throw ( 00372 RTI::InvalidFederationTime, 00373 RTI::EnableTimeRegulationWasNotPending, 00374 RTI::FederateInternalError); 00375 00376 virtual void timeConstrainedEnabled ( 00377 const RTI::FedTime& theFederateTime) 00378 throw ( 00379 RTI::InvalidFederationTime, 00380 RTI::EnableTimeConstrainedWasNotPending, 00381 RTI::FederateInternalError); 00382 00383 virtual void timeAdvanceGrant ( 00384 const RTI::FedTime& theTime) 00385 throw ( 00386 RTI::InvalidFederationTime, 00387 RTI::TimeAdvanceWasNotInProgress, 00388 RTI::FederateInternalError); 00389 00390 virtual void requestRetraction ( 00391 RTI::EventRetractionHandle theHandle) 00392 throw ( 00393 RTI::EventNotKnown, 00394 RTI::FederateInternalError); 00395 00397 }; 00398 00399 inline RTI::FederateAmbassador* DtFedAmbWrapper::fedAmb() 00400 { 00401 return myFedAmb; 00402 } 00403 00404 inline void DtFedAmbWrapper::setFedAmb(RTI::FederateAmbassador* f) 00405 { 00406 myFedAmb = f; 00407 } 00408 00409 inline void DtFedAmbWrapper::synchronizationPointRegistrationSucceeded ( 00410 const char *label) 00411 throw ( 00412 RTI::FederateInternalError) 00413 { 00414 if (myFedAmb) 00415 { 00416 myFedAmb->synchronizationPointRegistrationSucceeded(label); 00417 } 00418 } 00419 00420 inline void DtFedAmbWrapper::synchronizationPointRegistrationFailed ( 00421 const char *label) 00422 throw ( 00423 RTI::FederateInternalError) 00424 { 00425 if (myFedAmb) 00426 { 00427 myFedAmb-> synchronizationPointRegistrationFailed(label); 00428 } 00429 } 00430 00431 inline void DtFedAmbWrapper::announceSynchronizationPoint ( 00432 const char *label, 00433 const char *tag) 00434 throw ( 00435 RTI::FederateInternalError) 00436 { 00437 if (myFedAmb) 00438 { 00439 myFedAmb-> announceSynchronizationPoint(label, tag); 00440 } 00441 } 00442 00443 inline void DtFedAmbWrapper::federationSynchronized ( 00444 const char *label) 00445 throw ( 00446 RTI::FederateInternalError) 00447 { 00448 if (myFedAmb) 00449 { 00450 myFedAmb-> federationSynchronized(label); 00451 } 00452 } 00453 00454 inline void DtFedAmbWrapper::initiateFederateSave ( 00455 const char *label) 00456 throw ( 00457 RTI::UnableToPerformSave, 00458 RTI::FederateInternalError) 00459 { 00460 if (myFedAmb) 00461 { 00462 myFedAmb-> initiateFederateSave(label); 00463 } 00464 } 00465 00466 inline void DtFedAmbWrapper::federationSaved () 00467 throw ( 00468 RTI::FederateInternalError) 00469 { 00470 if (myFedAmb) 00471 { 00472 myFedAmb-> federationSaved(); 00473 } 00474 } 00475 00476 inline void DtFedAmbWrapper::federationNotSaved () 00477 throw ( 00478 RTI::FederateInternalError) 00479 { 00480 if (myFedAmb) 00481 { 00482 myFedAmb-> federationNotSaved(); 00483 } 00484 } 00485 00486 inline void DtFedAmbWrapper::requestFederationRestoreSucceeded ( 00487 const char *label) 00488 throw ( 00489 RTI::FederateInternalError) 00490 { 00491 if (myFedAmb) 00492 { 00493 myFedAmb-> requestFederationRestoreSucceeded(label); 00494 } 00495 } 00496 00497 inline void DtFedAmbWrapper::requestFederationRestoreFailed ( 00498 const char *label, const char *reason) 00499 throw ( 00500 RTI::FederateInternalError) 00501 { 00502 if (myFedAmb) 00503 { 00504 myFedAmb-> requestFederationRestoreFailed(label, reason); 00505 } 00506 } 00507 00508 inline void DtFedAmbWrapper::federationRestoreBegun () 00509 throw ( 00510 RTI::FederateInternalError) 00511 { 00512 if (myFedAmb) 00513 { 00514 myFedAmb-> federationRestoreBegun(); 00515 } 00516 } 00517 00518 inline void DtFedAmbWrapper::initiateFederateRestore ( 00519 const char *label, RTI::FederateHandle handle) 00520 throw ( 00521 RTI::SpecifiedSaveLabelDoesNotExist, 00522 RTI::CouldNotRestore, 00523 RTI::FederateInternalError) 00524 { 00525 if (myFedAmb) 00526 { 00527 myFedAmb-> initiateFederateRestore(label, handle); 00528 } 00529 } 00530 00531 00532 inline void DtFedAmbWrapper::federationRestored () 00533 throw ( 00534 RTI::FederateInternalError) 00535 { 00536 if (myFedAmb) 00537 { 00538 myFedAmb-> federationRestored(); 00539 } 00540 } 00541 00542 inline void DtFedAmbWrapper::federationNotRestored () 00543 throw ( 00544 RTI::FederateInternalError) 00545 { 00546 if (myFedAmb) 00547 { 00548 myFedAmb-> federationNotRestored(); 00549 } 00550 } 00551 00552 inline void DtFedAmbWrapper::startRegistrationForObjectClass ( 00553 RTI::ObjectClassHandle theClass) 00554 throw ( 00555 RTI::ObjectClassNotPublished, 00556 RTI::FederateInternalError) 00557 { 00558 if (myFedAmb) 00559 { 00560 myFedAmb-> startRegistrationForObjectClass(theClass); 00561 } 00562 } 00563 00564 inline void DtFedAmbWrapper::stopRegistrationForObjectClass ( 00565 RTI::ObjectClassHandle theClass) 00566 throw ( 00567 RTI::ObjectClassNotPublished, 00568 RTI::FederateInternalError) 00569 { 00570 if (myFedAmb) 00571 { 00572 myFedAmb-> stopRegistrationForObjectClass(theClass); 00573 } 00574 } 00575 00576 inline void DtFedAmbWrapper::turnInteractionsOn ( 00577 RTI::InteractionClassHandle theHandle) 00578 throw ( 00579 RTI::InteractionClassNotPublished, 00580 RTI::FederateInternalError) 00581 { 00582 if (myFedAmb) 00583 { 00584 myFedAmb-> turnInteractionsOn(theHandle); 00585 } 00586 } 00587 00588 00589 inline void DtFedAmbWrapper::turnInteractionsOff ( 00590 RTI::InteractionClassHandle theHandle) 00591 throw ( 00592 RTI::InteractionClassNotPublished, 00593 RTI::FederateInternalError) 00594 { 00595 if (myFedAmb) 00596 { 00597 myFedAmb-> turnInteractionsOff(theHandle); 00598 } 00599 } 00600 00601 00602 inline void DtFedAmbWrapper::discoverObjectInstance ( 00603 RTI::ObjectHandle theObject, 00604 RTI::ObjectClassHandle theObjectClass, 00605 const char * theObjectName) 00606 throw ( 00607 RTI::CouldNotDiscover, 00608 RTI::ObjectClassNotKnown, 00609 RTI::FederateInternalError) 00610 { 00611 if (myFedAmb) 00612 { 00613 myFedAmb-> discoverObjectInstance( 00614 theObject, theObjectClass, theObjectName); 00615 } 00616 } 00617 00618 00619 inline void DtFedAmbWrapper::reflectAttributeValues ( 00620 RTI::ObjectHandle theObject, 00621 const RTI::AttributeHandleValuePairSet& theAttributes, 00622 const RTI::FedTime& theTime, 00623 const char *theTag, 00624 RTI::EventRetractionHandle theHandle) 00625 throw ( 00626 RTI::ObjectNotKnown, 00627 RTI::AttributeNotKnown, 00628 RTI::FederateOwnsAttributes, 00629 RTI::InvalidFederationTime, 00630 RTI::FederateInternalError) 00631 { 00632 if (myFedAmb) 00633 { 00634 myFedAmb-> reflectAttributeValues( 00635 theObject, theAttributes, theTime, theTag, theHandle); 00636 } 00637 } 00638 00639 inline void DtFedAmbWrapper::reflectAttributeValues ( 00640 RTI::ObjectHandle theObject, 00641 const RTI::AttributeHandleValuePairSet& theAttributes, 00642 const char* theTag) 00643 throw ( 00644 RTI::ObjectNotKnown, 00645 RTI::AttributeNotKnown, 00646 RTI::FederateOwnsAttributes, 00647 RTI::FederateInternalError) 00648 { 00649 if (myFedAmb) 00650 { 00651 myFedAmb-> reflectAttributeValues(theObject, theAttributes, theTag); 00652 } 00653 } 00654 00655 00656 inline void DtFedAmbWrapper::receiveInteraction ( 00657 RTI::InteractionClassHandle theInteraction, 00658 const RTI::ParameterHandleValuePairSet& theParameters, 00659 const RTI::FedTime& theTime, 00660 const char *theTag, 00661 RTI::EventRetractionHandle theHandle) 00662 throw ( 00663 RTI::InteractionClassNotKnown, 00664 RTI::InteractionParameterNotKnown, 00665 RTI::InvalidFederationTime, 00666 RTI::FederateInternalError) 00667 { 00668 if (myFedAmb) 00669 { 00670 myFedAmb-> receiveInteraction( 00671 theInteraction, theParameters, theTime, theTag, theHandle); 00672 } 00673 } 00674 00675 inline void DtFedAmbWrapper::receiveInteraction ( 00676 RTI::InteractionClassHandle theInteraction, 00677 const RTI::ParameterHandleValuePairSet& theParameters, 00678 const char *theTag) 00679 throw ( 00680 RTI::InteractionClassNotKnown, 00681 RTI::InteractionParameterNotKnown, 00682 RTI::FederateInternalError) 00683 { 00684 if (myFedAmb) 00685 { 00686 myFedAmb-> receiveInteraction(theInteraction, theParameters, theTag); 00687 } 00688 } 00689 00690 00691 inline void DtFedAmbWrapper::removeObjectInstance ( 00692 RTI::ObjectHandle theObject, 00693 const RTI::FedTime& theTime, 00694 const char *theTag, 00695 RTI::EventRetractionHandle theHandle) 00696 throw ( 00697 RTI::ObjectNotKnown, 00698 RTI::InvalidFederationTime, 00699 RTI::FederateInternalError) 00700 { 00701 if (myFedAmb) 00702 { 00703 myFedAmb-> removeObjectInstance( 00704 theObject, theTime, theTag, theHandle); 00705 } 00706 } 00707 00708 inline void DtFedAmbWrapper::removeObjectInstance ( 00709 RTI::ObjectHandle theObject, const char *theTag) 00710 throw ( 00711 RTI::ObjectNotKnown, 00712 RTI::FederateInternalError) 00713 { 00714 if (myFedAmb) 00715 { 00716 myFedAmb-> removeObjectInstance(theObject, theTag); 00717 } 00718 } 00719 00720 00721 inline void DtFedAmbWrapper::attributesInScope ( 00722 RTI::ObjectHandle theObject, 00723 const RTI::AttributeHandleSet& theAttributes) 00724 throw ( 00725 RTI::ObjectNotKnown, 00726 RTI::AttributeNotKnown, 00727 RTI::FederateInternalError) 00728 { 00729 if (myFedAmb) 00730 { 00731 myFedAmb-> attributesInScope( 00732 theObject, theAttributes); 00733 } 00734 } 00735 00736 00737 inline void DtFedAmbWrapper::attributesOutOfScope ( 00738 RTI::ObjectHandle theObject, 00739 const RTI::AttributeHandleSet& theAttributes) 00740 throw ( 00741 RTI::ObjectNotKnown, 00742 RTI::AttributeNotKnown, 00743 RTI::FederateInternalError) 00744 { 00745 if (myFedAmb) 00746 { 00747 myFedAmb-> attributesOutOfScope( 00748 theObject, theAttributes); 00749 } 00750 } 00751 00752 00753 inline void DtFedAmbWrapper::provideAttributeValueUpdate ( 00754 RTI::ObjectHandle theObject, 00755 const RTI::AttributeHandleSet& theAttributes) 00756 throw ( 00757 RTI::ObjectNotKnown, 00758 RTI::AttributeNotKnown, 00759 RTI::AttributeNotOwned, 00760 RTI::FederateInternalError) 00761 { 00762 if (myFedAmb) 00763 { 00764 myFedAmb-> provideAttributeValueUpdate( 00765 theObject, theAttributes); 00766 } 00767 } 00768 00769 00770 inline void DtFedAmbWrapper::turnUpdatesOnForObjectInstance ( 00771 RTI::ObjectHandle theObject, 00772 const RTI::AttributeHandleSet& theAttributes) 00773 throw ( 00774 RTI::ObjectNotKnown, 00775 RTI::AttributeNotOwned, 00776 RTI::FederateInternalError) 00777 { 00778 if (myFedAmb) 00779 { 00780 myFedAmb-> turnUpdatesOnForObjectInstance( 00781 theObject, theAttributes); 00782 } 00783 } 00784 00785 00786 inline void DtFedAmbWrapper::turnUpdatesOffForObjectInstance ( 00787 RTI::ObjectHandle theObject, 00788 const RTI::AttributeHandleSet& theAttributes) 00789 throw ( 00790 RTI::ObjectNotKnown, 00791 RTI::AttributeNotOwned, 00792 RTI::FederateInternalError) 00793 { 00794 if (myFedAmb) 00795 { 00796 myFedAmb-> turnUpdatesOffForObjectInstance( 00797 theObject, theAttributes); 00798 } 00799 } 00800 00801 inline void DtFedAmbWrapper::requestAttributeOwnershipAssumption ( 00802 RTI::ObjectHandle theObject, 00803 const RTI::AttributeHandleSet& offeredAttributes, 00804 const char *theTag) 00805 throw ( 00806 RTI::ObjectNotKnown, 00807 RTI::AttributeNotKnown, 00808 RTI::AttributeAlreadyOwned, 00809 RTI::AttributeNotPublished, 00810 RTI::FederateInternalError) 00811 { 00812 if (myFedAmb) 00813 { 00814 myFedAmb-> requestAttributeOwnershipAssumption( 00815 theObject, offeredAttributes, theTag); 00816 } 00817 } 00818 00819 inline void DtFedAmbWrapper::attributeOwnershipDivestitureNotification ( 00820 RTI::ObjectHandle theObject, 00821 const RTI::AttributeHandleSet& releasedAttributes) 00822 throw ( 00823 RTI::ObjectNotKnown, 00824 RTI::AttributeNotKnown, 00825 RTI::AttributeNotOwned, 00826 RTI::AttributeDivestitureWasNotRequested, 00827 RTI::FederateInternalError) 00828 { 00829 if (myFedAmb) 00830 { 00831 myFedAmb-> attributeOwnershipDivestitureNotification( 00832 theObject, releasedAttributes); 00833 } 00834 } 00835 00836 00837 inline void DtFedAmbWrapper::attributeOwnershipAcquisitionNotification ( 00838 RTI::ObjectHandle theObject, 00839 const RTI::AttributeHandleSet& securedAttributes) 00840 throw ( 00841 RTI::ObjectNotKnown, 00842 RTI::AttributeNotKnown, 00843 RTI::AttributeAcquisitionWasNotRequested, 00844 RTI::AttributeAlreadyOwned, 00845 RTI::AttributeNotPublished, 00846 RTI::FederateInternalError) 00847 { 00848 if (myFedAmb) 00849 { 00850 myFedAmb-> attributeOwnershipAcquisitionNotification( 00851 theObject, securedAttributes); 00852 } 00853 } 00854 00855 00856 inline void DtFedAmbWrapper::attributeOwnershipUnavailable ( 00857 RTI::ObjectHandle theObject, 00858 const RTI::AttributeHandleSet& theAttributes) 00859 throw ( 00860 RTI::ObjectNotKnown, 00861 RTI::AttributeNotKnown, 00862 RTI::AttributeAlreadyOwned, 00863 RTI::AttributeAcquisitionWasNotRequested, 00864 RTI::FederateInternalError) 00865 { 00866 if (myFedAmb) 00867 { 00868 myFedAmb-> attributeOwnershipUnavailable( 00869 theObject, theAttributes); 00870 } 00871 } 00872 00873 00874 inline void DtFedAmbWrapper::requestAttributeOwnershipRelease ( 00875 RTI::ObjectHandle theObject, 00876 const RTI::AttributeHandleSet& candidateAttributes, 00877 const char *theTag) 00878 throw ( 00879 RTI::ObjectNotKnown, 00880 RTI::AttributeNotKnown, 00881 RTI::AttributeNotOwned, 00882 RTI::FederateInternalError) 00883 { 00884 if (myFedAmb) 00885 { 00886 myFedAmb-> requestAttributeOwnershipRelease( 00887 theObject, candidateAttributes, theTag); 00888 } 00889 } 00890 00891 00892 inline void DtFedAmbWrapper::confirmAttributeOwnershipAcquisitionCancellation ( 00893 RTI::ObjectHandle theObject, 00894 const RTI::AttributeHandleSet& theAttributes) 00895 throw ( 00896 RTI::ObjectNotKnown, 00897 RTI::AttributeNotKnown, 00898 RTI::AttributeAlreadyOwned, 00899 RTI::AttributeAcquisitionWasNotCanceled, 00900 RTI::FederateInternalError) 00901 { 00902 if (myFedAmb) 00903 { 00904 myFedAmb-> confirmAttributeOwnershipAcquisitionCancellation( 00905 theObject, theAttributes); 00906 } 00907 } 00908 00909 00910 inline void DtFedAmbWrapper::informAttributeOwnership ( 00911 RTI::ObjectHandle theObject, 00912 RTI::AttributeHandle theAttribute, 00913 RTI::FederateHandle theOwner) 00914 throw ( 00915 RTI::ObjectNotKnown, 00916 RTI::AttributeNotKnown, 00917 RTI::FederateInternalError) 00918 { 00919 if (myFedAmb) 00920 { 00921 myFedAmb-> informAttributeOwnership(theObject, theAttribute, theOwner); 00922 } 00923 } 00924 00925 inline void DtFedAmbWrapper::attributeIsNotOwned ( 00926 RTI::ObjectHandle theObject, 00927 RTI::AttributeHandle theAttribute) 00928 throw ( 00929 RTI::ObjectNotKnown, 00930 RTI::AttributeNotKnown, 00931 RTI::FederateInternalError) 00932 { 00933 if (myFedAmb) 00934 { 00935 myFedAmb-> attributeIsNotOwned(theObject, theAttribute); 00936 } 00937 } 00938 00939 inline void DtFedAmbWrapper::attributeOwnedByRTI ( 00940 RTI::ObjectHandle theObject, 00941 RTI::AttributeHandle theAttribute) 00942 throw ( 00943 RTI::ObjectNotKnown, 00944 RTI::AttributeNotKnown, 00945 RTI::FederateInternalError) 00946 { 00947 if (myFedAmb) 00948 { 00949 myFedAmb-> attributeOwnedByRTI(theObject, theAttribute); 00950 } 00951 } 00952 00953 inline void DtFedAmbWrapper::timeRegulationEnabled ( 00954 const RTI::FedTime& theFederateTime) 00955 throw ( 00956 RTI::InvalidFederationTime, 00957 RTI::EnableTimeRegulationWasNotPending, 00958 RTI::FederateInternalError) 00959 { 00960 if (myFedAmb) 00961 { 00962 myFedAmb-> timeRegulationEnabled(theFederateTime); 00963 } 00964 } 00965 00966 inline void DtFedAmbWrapper::timeConstrainedEnabled ( 00967 const RTI::FedTime& theFederateTime) 00968 throw ( 00969 RTI::InvalidFederationTime, 00970 RTI::EnableTimeConstrainedWasNotPending, 00971 RTI::FederateInternalError) 00972 { 00973 if (myFedAmb) 00974 { 00975 myFedAmb-> timeConstrainedEnabled(theFederateTime); 00976 } 00977 } 00978 00979 inline void DtFedAmbWrapper::timeAdvanceGrant ( 00980 const RTI::FedTime& theTime) 00981 throw ( 00982 RTI::InvalidFederationTime, 00983 RTI::TimeAdvanceWasNotInProgress, 00984 RTI::FederateInternalError) 00985 { 00986 if (myFedAmb) 00987 { 00988 myFedAmb-> timeAdvanceGrant(theTime); 00989 } 00990 } 00991 00992 inline void DtFedAmbWrapper::requestRetraction ( 00993 RTI::EventRetractionHandle theHandle) 00994 throw ( 00995 RTI::EventNotKnown, 00996 RTI::FederateInternalError) 00997 { 00998 if (myFedAmb) 00999 { 01000 myFedAmb-> requestRetraction(theHandle); 01001 } 01002 } 01003 01004 #endif //! DtIFSPEC1516 01005 #endif //! DtFedAmbWrapper_H_ 01006