![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: momWrapper1516.h,v $ $Revision: 1.4 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtMomWrapper1516_h 00013 #define DtMomWrapper1516_h 00014 #ifdef DtMOM 00015 #ifdef DtIFSPEC1516 00016 00017 #include "rtiMsConfig.h" 00018 #include "fedAmbWrap1516.h" 00019 #include "momArgument.h" 00020 00021 class DtMomMgr; 00022 00023 class DT_DLL_LRC DtMomWrapper : public DtFedAmbWrapper 00024 { 00025 public: 00026 00028 DtMomWrapper( DtMomMgr* momMgrPtr ); 00029 00031 virtual ~DtMomWrapper() throw (); 00032 00034 virtual DtMomMgr* momMgr(); 00035 00037 virtual void reset(); 00038 00041 virtual unsigned long objectRemoveCount() const; 00042 00045 virtual unsigned long objectDiscoverCount() const; 00046 00048 00049 00051 virtual 00052 void 00053 synchronizationPointRegistrationSucceeded(std::wstring const & label) 00054 throw (rti1516::FederateInternalError); 00055 00056 virtual 00057 void 00058 synchronizationPointRegistrationFailed(std::wstring const & label, 00059 rti1516::SynchronizationFailureReason reason) 00060 throw (rti1516::FederateInternalError); 00061 00063 virtual 00064 void 00065 announceSynchronizationPoint(std::wstring const & label, 00066 rti1516::VariableLengthData const & theUserSuppliedTag) 00067 throw (rti1516::FederateInternalError); 00068 00070 virtual 00071 void 00072 federationSynchronized(std::wstring const & label) 00073 throw (rti1516::FederateInternalError); 00074 00076 virtual 00077 void 00078 initiateFederateSave(std::wstring const & label) 00079 throw (rti1516::UnableToPerformSave, 00080 rti1516::FederateInternalError); 00081 00082 virtual 00083 void 00084 initiateFederateSave(std::wstring const & label, 00085 rti1516::LogicalTime const & theTime) 00086 throw (rti1516::UnableToPerformSave, 00087 rti1516::InvalidLogicalTime, 00088 rti1516::FederateInternalError); 00089 00091 virtual 00092 void 00093 federationSaved() 00094 throw (rti1516::FederateInternalError); 00095 00096 virtual 00097 void 00098 federationNotSaved(rti1516::SaveFailureReason theSaveFailureReason) 00099 throw (rti1516::FederateInternalError); 00100 00101 00103 virtual 00104 void 00105 federationSaveStatusResponse( 00106 rti1516::FederateHandleSaveStatusPairVector const & theFederateStatusVector) 00107 throw (rti1516::FederateInternalError); 00108 00110 virtual 00111 void 00112 requestFederationRestoreSucceeded(std::wstring const & label) 00113 throw (rti1516::FederateInternalError); 00114 00115 virtual 00116 void 00117 requestFederationRestoreFailed(std::wstring const & label) 00118 throw (rti1516::FederateInternalError); 00119 00121 virtual 00122 void 00123 federationRestoreBegun() 00124 throw (rti1516::FederateInternalError); 00125 00127 virtual 00128 void 00129 initiateFederateRestore(std::wstring const & label, 00130 rti1516::FederateHandle handle) 00131 throw (rti1516::SpecifiedSaveLabelDoesNotExist, 00132 rti1516::CouldNotInitiateRestore, 00133 rti1516::FederateInternalError); 00134 00136 virtual 00137 void 00138 federationRestored() 00139 throw (rti1516::FederateInternalError); 00140 00141 virtual 00142 void 00143 federationNotRestored(rti1516::RestoreFailureReason theRestoreFailureReason) 00144 throw (rti1516::FederateInternalError); 00145 00147 virtual 00148 void 00149 federationRestoreStatusResponse( 00150 rti1516::FederateHandleRestoreStatusPairVector const & theFederateStatusVector) 00151 throw (rti1516::FederateInternalError); 00153 00155 00156 00158 virtual 00159 void 00160 startRegistrationForObjectClass(rti1516::ObjectClassHandle theClass) 00161 throw (rti1516::ObjectClassNotPublished, 00162 rti1516::FederateInternalError); 00163 00165 virtual 00166 void 00167 stopRegistrationForObjectClass(rti1516::ObjectClassHandle theClass) 00168 throw (rti1516::ObjectClassNotPublished, 00169 rti1516::FederateInternalError); 00170 00172 virtual 00173 void 00174 turnInteractionsOn(rti1516::InteractionClassHandle theHandle) 00175 throw (rti1516::InteractionClassNotPublished, 00176 rti1516::FederateInternalError); 00177 00179 virtual 00180 void 00181 turnInteractionsOff(rti1516::InteractionClassHandle theHandle) 00182 throw (rti1516::InteractionClassNotPublished, 00183 rti1516::FederateInternalError); 00185 00187 00188 00190 virtual 00191 void 00192 objectInstanceNameReservationSucceeded(std::wstring const & 00193 theObjectInstanceName) 00194 throw (rti1516::UnknownName, 00195 rti1516::FederateInternalError); 00196 00197 virtual 00198 void 00199 objectInstanceNameReservationFailed(std::wstring const & 00200 theObjectInstanceName) 00201 throw (rti1516::UnknownName, 00202 rti1516::FederateInternalError); 00203 00204 00206 virtual 00207 void 00208 discoverObjectInstance(rti1516::ObjectInstanceHandle theObject, 00209 rti1516::ObjectClassHandle theObjectClass, 00210 std::wstring const & theObjectInstanceName) 00211 throw (rti1516::CouldNotDiscover, 00212 rti1516::ObjectClassNotKnown, 00213 rti1516::FederateInternalError); 00214 00216 virtual 00217 void 00218 reflectAttributeValues 00219 (rti1516::ObjectInstanceHandle theObject, 00220 rti1516::AttributeHandleValueMap const & theAttributeValues, 00221 rti1516::VariableLengthData const & theUserSuppliedTag, 00222 rti1516::OrderType sentOrder, 00223 rti1516::TransportationType theType) 00224 throw (rti1516::ObjectInstanceNotKnown, 00225 rti1516::AttributeNotRecognized, 00226 rti1516::AttributeNotSubscribed, 00227 rti1516::FederateInternalError); 00228 00229 virtual 00230 void 00231 reflectAttributeValues 00232 (rti1516::ObjectInstanceHandle theObject, 00233 rti1516::AttributeHandleValueMap const & theAttributeValues, 00234 rti1516::VariableLengthData const & theUserSuppliedTag, 00235 rti1516::OrderType sentOrder, 00236 rti1516::TransportationType theType, 00237 rti1516::RegionHandleSet const & theSentRegionHandleSet) 00238 throw (rti1516::ObjectInstanceNotKnown, 00239 rti1516::AttributeNotRecognized, 00240 rti1516::AttributeNotSubscribed, 00241 rti1516::FederateInternalError); 00242 00243 virtual 00244 void 00245 reflectAttributeValues 00246 (rti1516::ObjectInstanceHandle theObject, 00247 rti1516::AttributeHandleValueMap const & theAttributeValues, 00248 rti1516::VariableLengthData const & theUserSuppliedTag, 00249 rti1516::OrderType sentOrder, 00250 rti1516::TransportationType theType, 00251 rti1516::LogicalTime const & theTime, 00252 rti1516::OrderType receivedOrder) 00253 throw (rti1516::ObjectInstanceNotKnown, 00254 rti1516::AttributeNotRecognized, 00255 rti1516::AttributeNotSubscribed, 00256 rti1516::FederateInternalError); 00257 00258 virtual 00259 void 00260 reflectAttributeValues 00261 (rti1516::ObjectInstanceHandle theObject, 00262 rti1516::AttributeHandleValueMap const & theAttributeValues, 00263 rti1516::VariableLengthData const & theUserSuppliedTag, 00264 rti1516::OrderType sentOrder, 00265 rti1516::TransportationType theType, 00266 rti1516::LogicalTime const & theTime, 00267 rti1516::OrderType receivedOrder, 00268 rti1516::RegionHandleSet const & theSentRegionHandleSet) 00269 throw (rti1516::ObjectInstanceNotKnown, 00270 rti1516::AttributeNotRecognized, 00271 rti1516::AttributeNotSubscribed, 00272 rti1516::FederateInternalError); 00273 00274 virtual 00275 void 00276 reflectAttributeValues 00277 (rti1516::ObjectInstanceHandle theObject, 00278 rti1516::AttributeHandleValueMap const & theAttributeValues, 00279 rti1516::VariableLengthData const & theUserSuppliedTag, 00280 rti1516::OrderType sentOrder, 00281 rti1516::TransportationType theType, 00282 rti1516::LogicalTime const & theTime, 00283 rti1516::OrderType receivedOrder, 00284 rti1516::MessageRetractionHandle theHandle) 00285 throw (rti1516::ObjectInstanceNotKnown, 00286 rti1516::AttributeNotRecognized, 00287 rti1516::AttributeNotSubscribed, 00288 rti1516::InvalidLogicalTime, 00289 rti1516::FederateInternalError); 00290 00291 virtual 00292 void 00293 reflectAttributeValues 00294 (rti1516::ObjectInstanceHandle theObject, 00295 rti1516::AttributeHandleValueMap const & theAttributeValues, 00296 rti1516::VariableLengthData const & theUserSuppliedTag, 00297 rti1516::OrderType sentOrder, 00298 rti1516::TransportationType theType, 00299 rti1516::LogicalTime const & theTime, 00300 rti1516::OrderType receivedOrder, 00301 rti1516::MessageRetractionHandle theHandle, 00302 rti1516::RegionHandleSet const & theSentRegionHandleSet) 00303 throw (rti1516::ObjectInstanceNotKnown, 00304 rti1516::AttributeNotRecognized, 00305 rti1516::AttributeNotSubscribed, 00306 rti1516::InvalidLogicalTime, 00307 rti1516::FederateInternalError); 00308 00310 virtual 00311 void 00312 receiveInteraction 00313 (rti1516::InteractionClassHandle theInteraction, 00314 rti1516::ParameterHandleValueMap const & theParameterValues, 00315 rti1516::VariableLengthData const & theUserSuppliedTag, 00316 rti1516::OrderType sentOrder, 00317 rti1516::TransportationType theType) 00318 throw (rti1516::InteractionClassNotRecognized, 00319 rti1516::InteractionParameterNotRecognized, 00320 rti1516::InteractionClassNotSubscribed, 00321 rti1516::FederateInternalError); 00322 00323 virtual 00324 void 00325 receiveInteraction 00326 (rti1516::InteractionClassHandle theInteraction, 00327 rti1516::ParameterHandleValueMap const & theParameterValues, 00328 rti1516::VariableLengthData const & theUserSuppliedTag, 00329 rti1516::OrderType sentOrder, 00330 rti1516::TransportationType theType, 00331 rti1516::RegionHandleSet const & theSentRegionHandleSet) 00332 throw (rti1516::InteractionClassNotRecognized, 00333 rti1516::InteractionParameterNotRecognized, 00334 rti1516::InteractionClassNotSubscribed, 00335 rti1516::FederateInternalError); 00336 00337 virtual 00338 void 00339 receiveInteraction 00340 (rti1516::InteractionClassHandle theInteraction, 00341 rti1516::ParameterHandleValueMap const & theParameterValues, 00342 rti1516::VariableLengthData const & theUserSuppliedTag, 00343 rti1516::OrderType sentOrder, 00344 rti1516::TransportationType theType, 00345 rti1516::LogicalTime const & theTime, 00346 rti1516::OrderType receivedOrder) 00347 throw (rti1516::InteractionClassNotRecognized, 00348 rti1516::InteractionParameterNotRecognized, 00349 rti1516::InteractionClassNotSubscribed, 00350 rti1516::FederateInternalError); 00351 00352 virtual 00353 void 00354 receiveInteraction 00355 (rti1516::InteractionClassHandle theInteraction, 00356 rti1516::ParameterHandleValueMap const & theParameterValues, 00357 rti1516::VariableLengthData const & theUserSuppliedTag, 00358 rti1516::OrderType sentOrder, 00359 rti1516::TransportationType theType, 00360 rti1516::LogicalTime const & theTime, 00361 rti1516::OrderType receivedOrder, 00362 rti1516::RegionHandleSet const & theSentRegionHandleSet) 00363 throw (rti1516::InteractionClassNotRecognized, 00364 rti1516::InteractionParameterNotRecognized, 00365 rti1516::InteractionClassNotSubscribed, 00366 rti1516::FederateInternalError); 00367 00368 virtual 00369 void 00370 receiveInteraction 00371 (rti1516::InteractionClassHandle theInteraction, 00372 rti1516::ParameterHandleValueMap const & theParameterValues, 00373 rti1516::VariableLengthData const & theUserSuppliedTag, 00374 rti1516::OrderType sentOrder, 00375 rti1516::TransportationType theType, 00376 rti1516::LogicalTime const & theTime, 00377 rti1516::OrderType receivedOrder, 00378 rti1516::MessageRetractionHandle theHandle) 00379 throw (rti1516::InteractionClassNotRecognized, 00380 rti1516::InteractionParameterNotRecognized, 00381 rti1516::InteractionClassNotSubscribed, 00382 rti1516::InvalidLogicalTime, 00383 rti1516::FederateInternalError); 00384 00385 virtual 00386 void 00387 receiveInteraction 00388 (rti1516::InteractionClassHandle theInteraction, 00389 rti1516::ParameterHandleValueMap const & theParameterValues, 00390 rti1516::VariableLengthData const & theUserSuppliedTag, 00391 rti1516::OrderType sentOrder, 00392 rti1516::TransportationType theType, 00393 rti1516::LogicalTime const & theTime, 00394 rti1516::OrderType receivedOrder, 00395 rti1516::MessageRetractionHandle theHandle, 00396 rti1516::RegionHandleSet const & theSentRegionHandleSet) 00397 throw (rti1516::InteractionClassNotRecognized, 00398 rti1516::InteractionParameterNotRecognized, 00399 rti1516::InteractionClassNotSubscribed, 00400 rti1516::InvalidLogicalTime, 00401 rti1516::FederateInternalError); 00402 00404 virtual 00405 void 00406 removeObjectInstance(rti1516::ObjectInstanceHandle theObject, 00407 rti1516::VariableLengthData const & theUserSuppliedTag, 00408 rti1516::OrderType sentOrder) 00409 throw (rti1516::ObjectInstanceNotKnown, 00410 rti1516::FederateInternalError); 00411 00412 virtual 00413 void 00414 removeObjectInstance(rti1516::ObjectInstanceHandle theObject, 00415 rti1516::VariableLengthData const & theUserSuppliedTag, 00416 rti1516::OrderType sentOrder, 00417 rti1516::LogicalTime const & theTime, 00418 rti1516::OrderType receivedOrder) 00419 throw (rti1516::ObjectInstanceNotKnown, 00420 rti1516::FederateInternalError); 00421 00422 virtual 00423 void 00424 removeObjectInstance(rti1516::ObjectInstanceHandle theObject, 00425 rti1516::VariableLengthData const & theUserSuppliedTag, 00426 rti1516::OrderType sentOrder, 00427 rti1516::LogicalTime const & theTime, 00428 rti1516::OrderType receivedOrder, 00429 rti1516::MessageRetractionHandle theHandle) 00430 throw (rti1516::ObjectInstanceNotKnown, 00431 rti1516::InvalidLogicalTime, 00432 rti1516::FederateInternalError); 00433 00435 virtual 00436 void 00437 attributesInScope 00438 (rti1516::ObjectInstanceHandle theObject, 00439 rti1516::AttributeHandleSet const & theAttributes) 00440 throw (rti1516::ObjectInstanceNotKnown, 00441 rti1516::AttributeNotRecognized, 00442 rti1516::AttributeNotSubscribed, 00443 rti1516::FederateInternalError); 00444 00446 virtual 00447 void 00448 attributesOutOfScope 00449 (rti1516::ObjectInstanceHandle theObject, 00450 rti1516::AttributeHandleSet const & theAttributes) 00451 throw (rti1516::ObjectInstanceNotKnown, 00452 rti1516::AttributeNotRecognized, 00453 rti1516::AttributeNotSubscribed, 00454 rti1516::FederateInternalError); 00455 00457 virtual 00458 void 00459 provideAttributeValueUpdate 00460 (rti1516::ObjectInstanceHandle theObject, 00461 rti1516::AttributeHandleSet const & theAttributes, 00462 rti1516::VariableLengthData const & theUserSuppliedTag) 00463 throw (rti1516::ObjectInstanceNotKnown, 00464 rti1516::AttributeNotRecognized, 00465 rti1516::AttributeNotOwned, 00466 rti1516::FederateInternalError); 00467 00469 virtual 00470 void 00471 turnUpdatesOnForObjectInstance 00472 (rti1516::ObjectInstanceHandle theObject, 00473 rti1516::AttributeHandleSet const & theAttributes) 00474 throw (rti1516::ObjectInstanceNotKnown, 00475 rti1516::AttributeNotRecognized, 00476 rti1516::AttributeNotOwned, 00477 rti1516::FederateInternalError); 00478 00480 virtual 00481 void 00482 turnUpdatesOffForObjectInstance 00483 (rti1516::ObjectInstanceHandle theObject, 00484 rti1516::AttributeHandleSet const & theAttributes) 00485 throw (rti1516::ObjectInstanceNotKnown, 00486 rti1516::AttributeNotRecognized, 00487 rti1516::AttributeNotOwned, 00488 rti1516::FederateInternalError); 00490 00492 00493 00495 virtual 00496 void 00497 requestAttributeOwnershipAssumption 00498 (rti1516::ObjectInstanceHandle theObject, 00499 rti1516::AttributeHandleSet const & offeredAttributes, 00500 rti1516::VariableLengthData const & theUserSuppliedTag) 00501 throw (rti1516::ObjectInstanceNotKnown, 00502 rti1516::AttributeNotRecognized, 00503 rti1516::AttributeAlreadyOwned, 00504 rti1516::AttributeNotPublished, 00505 rti1516::FederateInternalError); 00506 00508 virtual 00509 void 00510 requestDivestitureConfirmation 00511 (rti1516::ObjectInstanceHandle theObject, 00512 rti1516::AttributeHandleSet const & releasedAttributes) 00513 throw (rti1516::ObjectInstanceNotKnown, 00514 rti1516::AttributeNotRecognized, 00515 rti1516::AttributeNotOwned, 00516 rti1516::AttributeDivestitureWasNotRequested, 00517 rti1516::FederateInternalError); 00518 00520 virtual 00521 void 00522 attributeOwnershipAcquisitionNotification 00523 (rti1516::ObjectInstanceHandle theObject, 00524 rti1516::AttributeHandleSet const & securedAttributes, 00525 rti1516::VariableLengthData const & theUserSuppliedTag) 00526 throw (rti1516::ObjectInstanceNotKnown, 00527 rti1516::AttributeNotRecognized, 00528 rti1516::AttributeAcquisitionWasNotRequested, 00529 rti1516::AttributeAlreadyOwned, 00530 rti1516::AttributeNotPublished, 00531 rti1516::FederateInternalError); 00532 00534 virtual 00535 void 00536 attributeOwnershipUnavailable 00537 (rti1516::ObjectInstanceHandle theObject, 00538 rti1516::AttributeHandleSet const & theAttributes) 00539 throw (rti1516::ObjectInstanceNotKnown, 00540 rti1516::AttributeNotRecognized, 00541 rti1516::AttributeAlreadyOwned, 00542 rti1516::AttributeAcquisitionWasNotRequested, 00543 rti1516::FederateInternalError); 00544 00546 virtual 00547 void 00548 requestAttributeOwnershipRelease 00549 (rti1516::ObjectInstanceHandle theObject, 00550 rti1516::AttributeHandleSet const & candidateAttributes, 00551 rti1516::VariableLengthData const & theUserSuppliedTag) 00552 throw (rti1516::ObjectInstanceNotKnown, 00553 rti1516::AttributeNotRecognized, 00554 rti1516::AttributeNotOwned, 00555 rti1516::FederateInternalError); 00556 00558 virtual 00559 void 00560 confirmAttributeOwnershipAcquisitionCancellation 00561 (rti1516::ObjectInstanceHandle theObject, 00562 rti1516::AttributeHandleSet const & theAttributes) 00563 throw (rti1516::ObjectInstanceNotKnown, 00564 rti1516::AttributeNotRecognized, 00565 rti1516::AttributeAlreadyOwned, 00566 rti1516::AttributeAcquisitionWasNotCanceled, 00567 rti1516::FederateInternalError); 00568 00570 virtual 00571 void 00572 informAttributeOwnership(rti1516::ObjectInstanceHandle theObject, 00573 rti1516::AttributeHandle theAttribute, 00574 rti1516::FederateHandle theOwner) 00575 throw (rti1516::ObjectInstanceNotKnown, 00576 rti1516::AttributeNotRecognized, 00577 rti1516::FederateInternalError); 00578 00579 virtual 00580 void 00581 attributeIsNotOwned(rti1516::ObjectInstanceHandle theObject, 00582 rti1516::AttributeHandle theAttribute) 00583 throw (rti1516::ObjectInstanceNotKnown, 00584 rti1516::AttributeNotRecognized, 00585 rti1516::FederateInternalError); 00586 00587 virtual 00588 void 00589 attributeIsOwnedByRTI(rti1516::ObjectInstanceHandle theObject, 00590 rti1516::AttributeHandle theAttribute) 00591 throw (rti1516::ObjectInstanceNotKnown, 00592 rti1516::AttributeNotRecognized, 00593 rti1516::FederateInternalError); 00594 00598 00600 virtual 00601 void 00602 timeRegulationEnabled(rti1516::LogicalTime const & theFederateTime) 00603 throw (rti1516::InvalidLogicalTime, 00604 rti1516::NoRequestToEnableTimeRegulationWasPending, 00605 rti1516::FederateInternalError); 00606 00608 virtual 00609 void 00610 timeConstrainedEnabled(rti1516::LogicalTime const & theFederateTime) 00611 throw (rti1516::InvalidLogicalTime, 00612 rti1516::NoRequestToEnableTimeConstrainedWasPending, 00613 rti1516::FederateInternalError); 00614 00616 virtual 00617 void 00618 timeAdvanceGrant(rti1516::LogicalTime const & theTime) 00619 throw (rti1516::InvalidLogicalTime, 00620 rti1516::JoinedFederateIsNotInTimeAdvancingState, 00621 rti1516::FederateInternalError); 00622 00624 virtual 00625 void 00626 requestRetraction(rti1516::MessageRetractionHandle theHandle) 00627 throw (rti1516::FederateInternalError); 00629 00630 private: 00632 DtMomWrapper( const DtMomWrapper& src ); 00633 00635 DtMomWrapper& operator=( const DtMomWrapper& src ); 00636 00637 protected: 00638 DtMomMgr* myMomMgr; 00639 unsigned long myDiscoverCount; 00640 unsigned long myRemoveCount; 00641 00642 protected: 00643 static const DtMomArgument theDfltMomArgument; 00644 static DtMomArgument theDfltRetVal; 00645 }; 00646 00647 #endif //! DtIFSPEC1516 00648 #endif //! DtMOM 00649 #endif //! DtMomWrapper1516_h