![]() |
MAK RTIspy API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 2007 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: fedAmbCallback1516.h,v $ $Revision: 1.5 $ $State: Exp $ 00007 *********************************************************************/ 00008 00009 #ifndef fedAmbCallback1516_h 00010 #define fedAmbCallback1516_h 00011 #ifdef DtIFSPEC1516 00012 00015 00016 #include <RTI/Typedefs.h> 00017 #include <RTI/FederateAmbassador.h> 00018 #include "rtiMsg.h" 00019 00020 class DtCallbackMsg; 00021 00023 DT_DLL_LRC enum DtFedAmbCallKind 00024 { 00029 DtFedAmbCall_synchronizationPointRegistrationSucceeded, 00030 DtFedAmbCall_synchronizationPointRegistrationFailed, 00032 DtFedAmbCall_announceSynchronizationPoint, 00034 DtFedAmbCall_federationSynchronized, 00036 DtFedAmbCall_initiateFederateSave, 00037 DtFedAmbCall_initiateFederateSaveWithTime, 00039 DtFedAmbCall_federationSaved, 00040 DtFedAmbCall_federationNotSaved, 00042 DtFedAmbCall_federationSaveStatusResponse, 00044 DtFedAmbCall_requestFederationRestoreSucceeded, 00045 DtFedAmbCall_requestFederationRestoreFailed, 00047 DtFedAmbCall_federationRestoreBegun, 00049 DtFedAmbCall_initiateFederateRestore, 00051 DtFedAmbCall_federationRestored, 00052 DtFedAmbCall_federationNotRestored, 00054 DtFedAmbCall_federationRestoreStatusResponse, 00059 DtFedAmbCall_startRegistrationForObjectClass, 00061 DtFedAmbCall_stopRegistrationForObjectClass, 00063 DtFedAmbCall_turnInteractionsOn, 00065 DtFedAmbCall_turnInteractionsOff, 00070 DtFedAmbCall_objectInstanceNameReservationSucceeded, 00071 DtFedAmbCall_objectInstanceNameReservationFailed, 00073 DtFedAmbCall_discoverObjectInstance, 00075 DtFedAmbCall_reflectAttributeValues_hvuot, 00076 DtFedAmbCall_reflectAttributeValues_hvuotr, 00077 DtFedAmbCall_reflectAttributeValues_hvuotmo, 00078 DtFedAmbCall_reflectAttributeValues_hvuotmor, 00079 DtFedAmbCall_reflectAttributeValues_hvuotmoc, 00080 DtFedAmbCall_reflectAttributeValues_hvuotmocr, 00082 DtFedAmbCall_receiveInteraction_hvuot, 00083 DtFedAmbCall_receiveInteraction_hvuotr, 00084 DtFedAmbCall_receiveInteraction_hvuotmo, 00085 DtFedAmbCall_receiveInteraction_hvuotmor, 00086 DtFedAmbCall_receiveInteraction_hvuotmoc, 00087 DtFedAmbCall_receiveInteraction_hvuotmocr, 00089 DtFedAmbCall_removeObjectInstance_huo, 00090 DtFedAmbCall_removeObjectInstance_huomo, 00091 DtFedAmbCall_removeObjectInstance_huomoc, 00093 DtFedAmbCall_attributesInScope, 00095 DtFedAmbCall_attributesOutOfScope, 00097 DtFedAmbCall_provideAttributeValueUpdate, 00099 DtFedAmbCall_turnUpdatesOnForObjectInstance, 00101 DtFedAmbCall_turnUpdatesOffForObjectInstance, 00106 DtFedAmbCall_requestAttributeOwnershipAssumption, 00108 DtFedAmbCall_requestDivestitureConfirmation, 00110 DtFedAmbCall_attributeOwnershipAcquisitionNotification, 00112 DtFedAmbCall_attributeOwnershipUnavailable, 00114 DtFedAmbCall_requestAttributeOwnershipRelease, 00116 DtFedAmbCall_confirmAttributeOwnershipAcquisitionCancellation, 00118 DtFedAmbCall_informAttributeOwnership, 00119 DtFedAmbCall_attributeIsNotOwned, 00120 DtFedAmbCall_attributeIsOwnedByRTI, 00125 DtFedAmbCall_timeRegulationEnabled, 00127 DtFedAmbCall_timeConstrainedEnabled, 00129 DtFedAmbCall_timeAdvanceGrant, 00131 DtFedAmbCall_requestRetraction, 00133 DtFedAmbCall_invalid 00134 }; 00135 00139 class DT_DLL_LRC DtFedAmbCallback 00140 { 00141 public: 00143 DtFedAmbCallback(DtFedAmbCallKind kind); 00145 virtual ~DtFedAmbCallback(); 00146 private: 00148 DtFedAmbCallback(DtFedAmbCallback const& orig); 00149 DtFedAmbCallback& operator = (DtFedAmbCallback const& orig); 00150 public: 00152 virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const = 0; 00153 00155 virtual DtFedAmbCallKind callbackKind() const; 00156 00157 protected: 00158 DtFedAmbCallKind myCallbackKind; 00159 }; 00160 00161 template<DtFedAmbCallKind callbackKindValue> 00162 class DtFedAmbCallbackVoid : public DtFedAmbCallback 00163 { 00164 public: 00166 DtFedAmbCallbackVoid(); 00168 virtual ~DtFedAmbCallbackVoid(); 00169 private: 00171 DtFedAmbCallbackVoid(DtFedAmbCallbackVoid const& orig); 00172 DtFedAmbCallbackVoid& operator = (DtFedAmbCallbackVoid const& orig); 00173 00174 public: 00176 virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const; 00177 }; 00178 00179 template<DtFedAmbCallKind callbackKindValue> 00180 class DtCallbackWithTime : public DtFedAmbCallback 00181 { 00182 public: 00184 DtCallbackWithTime( 00185 std::auto_ptr<rti1516::LogicalTime> time); 00187 virtual ~DtCallbackWithTime(); 00188 private: 00190 DtCallbackWithTime(DtCallbackWithTime const& orig); 00191 DtCallbackWithTime& operator = (DtCallbackWithTime const& orig); 00192 public: 00194 virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const; 00195 protected: 00196 std::auto_ptr<rti1516::LogicalTime> myTime; 00197 }; 00198 00199 template<DtFedAmbCallKind callbackKindValue> 00200 class DtCallbackWithWString : public DtFedAmbCallback 00201 { 00202 public: 00204 DtCallbackWithWString(std::wstring const& value); 00205 00207 virtual ~DtCallbackWithWString(); 00208 private: 00210 DtCallbackWithWString(DtCallbackWithWString const& orig); 00211 DtCallbackWithWString& operator = (DtCallbackWithWString const& orig); 00212 public: 00214 virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const; 00215 protected: 00216 std::wstring myString; 00217 }; 00218 00219 template<DtFedAmbCallKind callbackKindValue> 00220 class DtCallbackWithObjectClass : public DtFedAmbCallback 00221 { 00222 public: 00224 DtCallbackWithObjectClass(rti1516::ObjectClassHandle theClass); 00226 virtual ~DtCallbackWithObjectClass(); 00227 private: 00229 DtCallbackWithObjectClass(DtCallbackWithObjectClass const& orig); 00230 DtCallbackWithObjectClass& operator = (DtCallbackWithObjectClass const& orig); 00231 public: 00233 virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const; 00234 protected: 00235 rti1516::ObjectClassHandle myObjectClass; 00236 }; 00237 00238 template<DtFedAmbCallKind callbackKindValue> 00239 class DtCallbackWithInteractionClass : public DtFedAmbCallback 00240 { 00241 public: 00243 DtCallbackWithInteractionClass( 00244 rti1516::InteractionClassHandle theClass); 00246 virtual ~DtCallbackWithInteractionClass(); 00247 private: 00249 DtCallbackWithInteractionClass(DtCallbackWithInteractionClass const& orig); 00250 DtCallbackWithInteractionClass& operator = (DtCallbackWithInteractionClass const& orig); 00251 public: 00253 virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const; 00254 protected: 00255 rti1516::InteractionClassHandle myInteractionClass; 00256 }; 00257 00258 template<DtFedAmbCallKind callbackKindValue> 00259 class DtCallbackWithObjectAttributesOptTag : public DtFedAmbCallback 00260 { 00261 public: 00263 DtCallbackWithObjectAttributesOptTag( 00264 rti1516::ObjectInstanceHandle theObject, 00265 rti1516::AttributeHandleSet const & theAttributes); 00266 DtCallbackWithObjectAttributesOptTag( 00267 rti1516::ObjectInstanceHandle theObject, 00268 rti1516::AttributeHandleSet const & theAttributes, 00269 rti1516::VariableLengthData const & theUserSuppliedTag); 00270 00272 virtual ~DtCallbackWithObjectAttributesOptTag(); 00273 private: 00275 DtCallbackWithObjectAttributesOptTag(DtCallbackWithObjectAttributesOptTag const& orig); 00276 DtCallbackWithObjectAttributesOptTag& operator = (DtCallbackWithObjectAttributesOptTag const& orig); 00277 public: 00279 virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const; 00280 protected: 00281 rti1516::ObjectInstanceHandle myObject; 00282 rti1516::AttributeHandleSet myAttributes; 00283 rti1516::VariableLengthData myUserSuppliedTag; 00284 }; 00285 00286 template<DtFedAmbCallKind callbackKindValue> 00287 class DtCallbackWithObjectAttributesOptFederate : public DtFedAmbCallback 00288 { 00289 public: 00291 DtCallbackWithObjectAttributesOptFederate( 00292 rti1516::ObjectInstanceHandle theObject, 00293 rti1516::AttributeHandle theAttribute); 00294 DtCallbackWithObjectAttributesOptFederate( 00295 rti1516::ObjectInstanceHandle theObject, 00296 rti1516::AttributeHandle theAttribute, 00297 rti1516::FederateHandle theFederate); 00299 virtual ~DtCallbackWithObjectAttributesOptFederate(); 00300 private: 00302 DtCallbackWithObjectAttributesOptFederate(DtCallbackWithObjectAttributesOptFederate const& orig); 00303 DtCallbackWithObjectAttributesOptFederate& operator = (DtCallbackWithObjectAttributesOptFederate const& orig); 00304 public: 00306 virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const; 00307 protected: 00308 rti1516::ObjectInstanceHandle myObject; 00309 rti1516::AttributeHandle myAttribute; 00310 rti1516::FederateHandle myFederate; 00311 }; 00312 00317 typedef DtCallbackWithWString<DtFedAmbCall_synchronizationPointRegistrationSucceeded> DtCbSynchronizationPointRegistrationSucceeded; 00318 00319 class DtCbSynchronizationPointRegistrationFailed : public DtFedAmbCallback 00320 { 00321 public: 00323 DtCbSynchronizationPointRegistrationFailed(std::wstring const& stringValue, 00324 rti1516::SynchronizationFailureReason reason); 00326 virtual ~DtCbSynchronizationPointRegistrationFailed(); 00327 private: 00329 DtCbSynchronizationPointRegistrationFailed(DtCbSynchronizationPointRegistrationFailed const& orig); 00330 DtCbSynchronizationPointRegistrationFailed& operator = (DtCbSynchronizationPointRegistrationFailed const& orig); 00331 public: 00333 virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const; 00334 protected: 00335 std::wstring myString; 00336 rti1516::SynchronizationFailureReason myReason; 00337 }; 00338 00341 class DtCbAnnounceSynchronizationPoint : public DtFedAmbCallback 00342 { 00343 public: 00345 DtCbAnnounceSynchronizationPoint(std::wstring const& stringValue, 00346 rti1516::VariableLengthData const & tag); 00348 virtual ~DtCbAnnounceSynchronizationPoint(); 00349 private: 00351 DtCbAnnounceSynchronizationPoint(DtCbAnnounceSynchronizationPoint const& orig); 00352 DtCbAnnounceSynchronizationPoint& operator = (DtCbAnnounceSynchronizationPoint const& orig); 00353 public: 00355 virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const; 00356 protected: 00357 std::wstring myString; 00358 rti1516::VariableLengthData myTag; 00359 }; 00360 00362 typedef DtCallbackWithWString<DtFedAmbCall_federationSynchronized> DtCbFederationSynchronized; 00363 00365 typedef DtCallbackWithWString<DtFedAmbCall_initiateFederateSave> DtCbInitiateFederateSave; 00366 00367 class DtCbInitiateFederateSaveWithTime: public DtFedAmbCallback 00368 { 00369 public: 00371 DtCbInitiateFederateSaveWithTime(std::wstring const& stringValue, 00372 std::auto_ptr<rti1516::LogicalTime> time); 00374 virtual ~DtCbInitiateFederateSaveWithTime(); 00375 private: 00377 DtCbInitiateFederateSaveWithTime(DtCbInitiateFederateSaveWithTime const& orig); 00378 DtCbInitiateFederateSaveWithTime& operator = (DtCbInitiateFederateSaveWithTime const& orig); 00379 public: 00381 virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const; 00382 protected: 00383 std::wstring myString; 00384 std::auto_ptr<rti1516::LogicalTime> myTime; 00385 }; 00386 00388 typedef DtFedAmbCallbackVoid<DtFedAmbCall_federationSaved> DtCbFederationSaved; 00389 00390 class DtCbFederationNotSaved : public DtFedAmbCallback 00391 { 00392 public: 00394 DtCbFederationNotSaved(rti1516::SaveFailureReason theSaveFailureReason); 00396 virtual ~DtCbFederationNotSaved(); 00397 private: 00399 DtCbFederationNotSaved(DtCbFederationNotSaved const& orig); 00400 DtCbFederationNotSaved& operator = (DtCbFederationNotSaved const& orig); 00401 public: 00403 virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const; 00404 protected: 00405 rti1516::SaveFailureReason mySaveFailureReason; 00406 }; 00407 00410 class DtCbFederationSaveStatusResponse : public DtFedAmbCallback 00411 { 00412 public: 00414 DtCbFederationSaveStatusResponse( 00415 rti1516::FederateHandleSaveStatusPairVector const & theFederateStatusVector); 00417 virtual ~DtCbFederationSaveStatusResponse(); 00418 private: 00420 DtCbFederationSaveStatusResponse(DtCbFederationSaveStatusResponse const& orig); 00421 DtCbFederationSaveStatusResponse& operator = (DtCbFederationSaveStatusResponse const& orig); 00422 public: 00424 virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const; 00425 protected: 00426 rti1516::FederateHandleSaveStatusPairVector myFederateStatusVector; 00427 }; 00428 00430 typedef DtCallbackWithWString<DtFedAmbCall_requestFederationRestoreSucceeded> DtCbRequestFederationRestoreSucceeded; 00431 00432 typedef DtCallbackWithWString<DtFedAmbCall_requestFederationRestoreFailed> DtCbRequestFederationRestoreFailed; 00433 00435 typedef DtFedAmbCallbackVoid<DtFedAmbCall_federationRestoreBegun> DtCbFederationRestoreBegun; 00436 00439 class DtCbInitiateFederateRestore : public DtFedAmbCallback 00440 { 00441 public: 00443 DtCbInitiateFederateRestore(std::wstring const& stringValue, 00444 rti1516::FederateHandle handle); 00446 virtual ~DtCbInitiateFederateRestore(); 00447 private: 00449 DtCbInitiateFederateRestore(DtCbInitiateFederateRestore const& orig); 00450 DtCbInitiateFederateRestore& operator = (DtCbInitiateFederateRestore const& orig); 00451 public: 00453 virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const; 00454 protected: 00455 rti1516::FederateHandle myHandle; 00456 std::wstring myString; 00457 }; 00458 00460 typedef DtFedAmbCallbackVoid<DtFedAmbCall_federationRestored> DtCbFederationRestored; 00461 00462 class DtCbFederationNotRestored : public DtFedAmbCallback 00463 { 00464 public: 00466 DtCbFederationNotRestored(rti1516::RestoreFailureReason theRestoreFailureReason); 00468 virtual ~DtCbFederationNotRestored(); 00469 private: 00471 DtCbFederationNotRestored(DtCbFederationNotRestored const& orig); 00472 DtCbFederationNotRestored& operator = (DtCbFederationNotRestored const& orig); 00473 public: 00475 virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const; 00476 protected: 00477 rti1516::RestoreFailureReason myRestoreFailureReason; 00478 }; 00479 00482 class DtCbFederationRestoreStatusResponse : public DtFedAmbCallback 00483 { 00484 public: 00486 DtCbFederationRestoreStatusResponse( 00487 rti1516::FederateHandleRestoreStatusPairVector const & theFederateStatusVector); 00489 virtual ~DtCbFederationRestoreStatusResponse(); 00490 private: 00492 DtCbFederationRestoreStatusResponse(DtCbFederationRestoreStatusResponse const& orig); 00493 DtCbFederationRestoreStatusResponse& operator = (DtCbFederationRestoreStatusResponse const& orig); 00494 public: 00496 virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const; 00497 protected: 00498 rti1516::FederateHandleRestoreStatusPairVector myFederateStatusVector; 00499 }; 00500 00501 00506 typedef DtCallbackWithObjectClass<DtFedAmbCall_startRegistrationForObjectClass> DtCbStartRegistrationForObjectClass; 00507 00509 typedef DtCallbackWithObjectClass<DtFedAmbCall_stopRegistrationForObjectClass> DtCbStopRegistrationForObjectClass; 00510 00512 typedef DtCallbackWithInteractionClass<DtFedAmbCall_turnInteractionsOn> DtCbTurnInteractionsOn; 00513 00515 typedef DtCallbackWithInteractionClass<DtFedAmbCall_turnInteractionsOff> DtCbTurnInteractionsOff; 00516 00521 typedef DtCallbackWithWString<DtFedAmbCall_objectInstanceNameReservationSucceeded> DtCbObjectInstanceNameReservationSucceeded; 00522 typedef DtCallbackWithWString<DtFedAmbCall_objectInstanceNameReservationFailed> DtCbObjectInstanceNameReservationFailed; 00523 00526 class DtCbDiscoverObjectInstance: public DtFedAmbCallback 00527 { 00528 public: 00530 DtCbDiscoverObjectInstance(rti1516::ObjectInstanceHandle theObject, 00531 rti1516::ObjectClassHandle theObjectClass, 00532 std::wstring const & theObjectInstanceName); 00534 virtual ~DtCbDiscoverObjectInstance(); 00535 private: 00537 DtCbDiscoverObjectInstance(DtCbDiscoverObjectInstance const& orig); 00538 DtCbDiscoverObjectInstance& operator = (DtCbDiscoverObjectInstance const& orig); 00539 public: 00541 virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const; 00542 protected: 00543 rti1516::ObjectInstanceHandle myObjectInstanceHandle; 00544 rti1516::ObjectClassHandle myObjectClassHandle; 00545 std::wstring myString; 00546 }; 00547 00550 class DtCbReflectAttributeValues: public DtFedAmbCallback 00551 { 00552 public: 00554 DtCbReflectAttributeValues( 00555 rti1516::ObjectInstanceHandle theObject, 00556 rti1516::AttributeHandleValueMap const & theAttributeValues, 00557 rti1516::VariableLengthData const & theUserSuppliedTag, 00558 rti1516::OrderType sentOrder, 00559 rti1516::TransportationType theType); 00560 00561 DtCbReflectAttributeValues( 00562 rti1516::ObjectInstanceHandle theObject, 00563 rti1516::AttributeHandleValueMap const & theAttributeValues, 00564 rti1516::VariableLengthData const & theUserSuppliedTag, 00565 rti1516::OrderType sentOrder, 00566 rti1516::TransportationType theType, 00567 rti1516::RegionHandleSet const & theSentRegionHandleSet); 00568 00569 DtCbReflectAttributeValues( 00570 rti1516::ObjectInstanceHandle theObject, 00571 rti1516::AttributeHandleValueMap const & theAttributeValues, 00572 rti1516::VariableLengthData const & theUserSuppliedTag, 00573 rti1516::OrderType sentOrder, 00574 rti1516::TransportationType theType, 00575 std::auto_ptr<rti1516::LogicalTime> theTime, 00576 rti1516::OrderType receivedOrder); 00577 00578 DtCbReflectAttributeValues( 00579 rti1516::ObjectInstanceHandle theObject, 00580 rti1516::AttributeHandleValueMap const & theAttributeValues, 00581 rti1516::VariableLengthData const & theUserSuppliedTag, 00582 rti1516::OrderType sentOrder, 00583 rti1516::TransportationType theType, 00584 std::auto_ptr<rti1516::LogicalTime> theTime, 00585 rti1516::OrderType receivedOrder, 00586 rti1516::RegionHandleSet const & theSentRegionHandleSet); 00587 00588 DtCbReflectAttributeValues ( 00589 rti1516::ObjectInstanceHandle theObject, 00590 rti1516::AttributeHandleValueMap const & theAttributeValues, 00591 rti1516::VariableLengthData const & theUserSuppliedTag, 00592 rti1516::OrderType sentOrder, 00593 rti1516::TransportationType theType, 00594 std::auto_ptr<rti1516::LogicalTime> theTime, 00595 rti1516::OrderType receivedOrder, 00596 rti1516::MessageRetractionHandle theRetractHandle); 00597 00598 DtCbReflectAttributeValues( 00599 rti1516::ObjectInstanceHandle theObject, 00600 rti1516::AttributeHandleValueMap const & theAttributeValues, 00601 rti1516::VariableLengthData const & theUserSuppliedTag, 00602 rti1516::OrderType sentOrder, 00603 rti1516::TransportationType theType, 00604 std::auto_ptr<rti1516::LogicalTime> theTime, 00605 rti1516::OrderType receivedOrder, 00606 rti1516::MessageRetractionHandle theRetractHandle, 00607 rti1516::RegionHandleSet const & theSentRegionHandleSet); 00608 00610 virtual ~DtCbReflectAttributeValues(); 00611 private: 00613 DtCbReflectAttributeValues(DtCbReflectAttributeValues const& orig); 00614 DtCbReflectAttributeValues& operator = (DtCbReflectAttributeValues const& orig); 00615 public: 00617 virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const; 00618 00619 protected: 00620 rti1516::ObjectInstanceHandle myObject; 00621 rti1516::AttributeHandleValueMap myAttributeValues; 00622 rti1516::VariableLengthData myUserSuppliedTag; 00623 rti1516::OrderType mySentOrder; 00624 rti1516::TransportationType myTransportationType; 00625 std::auto_ptr<rti1516::LogicalTime> myTime; 00626 rti1516::OrderType myReceivedOrder; 00627 rti1516::MessageRetractionHandle myRetractHandle; 00628 rti1516::RegionHandleSet mySentRegionHandleSet; 00629 }; 00630 00633 class DtCbReceiveInteraction: public DtFedAmbCallback 00634 { 00635 public: 00637 DtCbReceiveInteraction( 00638 rti1516::InteractionClassHandle theInteraction, 00639 rti1516::ParameterHandleValueMap const & theParameterValues, 00640 rti1516::VariableLengthData const & theUserSuppliedTag, 00641 rti1516::OrderType sentOrder, 00642 rti1516::TransportationType theType); 00643 00644 DtCbReceiveInteraction( 00645 rti1516::InteractionClassHandle theInteraction, 00646 rti1516::ParameterHandleValueMap const & theParameterValues, 00647 rti1516::VariableLengthData const & theUserSuppliedTag, 00648 rti1516::OrderType sentOrder, 00649 rti1516::TransportationType theType, 00650 rti1516::RegionHandleSet const & theSentRegionHandleSet); 00651 00652 DtCbReceiveInteraction( 00653 rti1516::InteractionClassHandle theInteraction, 00654 rti1516::ParameterHandleValueMap const & theParameterValues, 00655 rti1516::VariableLengthData const & theUserSuppliedTag, 00656 rti1516::OrderType sentOrder, 00657 rti1516::TransportationType theType, 00658 std::auto_ptr<rti1516::LogicalTime> theTime, 00659 rti1516::OrderType receivedOrder); 00660 00661 DtCbReceiveInteraction( 00662 rti1516::InteractionClassHandle theInteraction, 00663 rti1516::ParameterHandleValueMap const & theParameterValues, 00664 rti1516::VariableLengthData const & theUserSuppliedTag, 00665 rti1516::OrderType sentOrder, 00666 rti1516::TransportationType theType, 00667 std::auto_ptr<rti1516::LogicalTime> theTime, 00668 rti1516::OrderType receivedOrder, 00669 rti1516::RegionHandleSet const & theSentRegionHandleSet); 00670 00671 DtCbReceiveInteraction( 00672 rti1516::InteractionClassHandle theInteraction, 00673 rti1516::ParameterHandleValueMap const & theParameterValues, 00674 rti1516::VariableLengthData const & theUserSuppliedTag, 00675 rti1516::OrderType sentOrder, 00676 rti1516::TransportationType theType, 00677 std::auto_ptr<rti1516::LogicalTime> theTime, 00678 rti1516::OrderType receivedOrder, 00679 rti1516::MessageRetractionHandle theRetractHandle); 00680 00681 DtCbReceiveInteraction( 00682 rti1516::InteractionClassHandle theInteraction, 00683 rti1516::ParameterHandleValueMap const & theParameterValues, 00684 rti1516::VariableLengthData const & theUserSuppliedTag, 00685 rti1516::OrderType sentOrder, 00686 rti1516::TransportationType theType, 00687 std::auto_ptr<rti1516::LogicalTime> theTime, 00688 rti1516::OrderType receivedOrder, 00689 rti1516::MessageRetractionHandle theRetractHandle, 00690 rti1516::RegionHandleSet const & theSentRegionHandleSet); 00691 00693 virtual ~DtCbReceiveInteraction(); 00694 private: 00696 DtCbReceiveInteraction(DtCbReceiveInteraction const& orig); 00697 DtCbReceiveInteraction& operator = (DtCbReceiveInteraction const& orig); 00698 public: 00700 virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const; 00701 00702 protected: 00703 rti1516::InteractionClassHandle myInteractionClass; 00704 rti1516::ParameterHandleValueMap myParameterValues; 00705 rti1516::VariableLengthData myUserSuppliedTag; 00706 rti1516::OrderType mySentOrder; 00707 rti1516::TransportationType myTransportationType; 00708 std::auto_ptr<rti1516::LogicalTime> myTime; 00709 rti1516::OrderType myReceivedOrder; 00710 rti1516::MessageRetractionHandle myRetractHandle; 00711 rti1516::RegionHandleSet mySentRegionHandleSet; 00712 }; 00713 00716 class DtCbRemoveObjectInstance: public DtFedAmbCallback 00717 { 00718 public: 00720 DtCbRemoveObjectInstance( 00721 rti1516::ObjectInstanceHandle theObject, 00722 rti1516::VariableLengthData const & theUserSuppliedTag, 00723 rti1516::OrderType sentOrder); 00724 DtCbRemoveObjectInstance( 00725 rti1516::ObjectInstanceHandle theObject, 00726 rti1516::VariableLengthData const & theUserSuppliedTag, 00727 rti1516::OrderType sentOrder, 00728 std::auto_ptr<rti1516::LogicalTime> theTime, 00729 rti1516::OrderType receivedOrder); 00730 DtCbRemoveObjectInstance( 00731 rti1516::ObjectInstanceHandle theObject, 00732 rti1516::VariableLengthData const & theUserSuppliedTag, 00733 rti1516::OrderType sentOrder, 00734 std::auto_ptr<rti1516::LogicalTime> theTime, 00735 rti1516::OrderType receivedOrder, 00736 rti1516::MessageRetractionHandle theRetractHandle); 00737 00739 virtual ~DtCbRemoveObjectInstance(); 00740 private: 00742 DtCbRemoveObjectInstance(DtCbRemoveObjectInstance const& orig); 00743 DtCbRemoveObjectInstance& operator = (DtCbRemoveObjectInstance const& orig); 00744 public: 00746 virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const; 00747 protected: 00748 rti1516::ObjectInstanceHandle myObjectInstanceHandle; 00749 rti1516::VariableLengthData myTag; 00750 rti1516::OrderType mySentOrder; 00751 std::auto_ptr<rti1516::LogicalTime> myTime; 00752 rti1516::OrderType myReceivedOrder; 00753 rti1516::MessageRetractionHandle myRetractHandle; 00754 }; 00755 00756 00758 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_attributesInScope> DtCbAttributesInScope; 00759 00761 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_attributesOutOfScope> DtCbAttributesOutOfScope; 00762 00764 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_provideAttributeValueUpdate> DtCbProvideAttributeValueUpdate; 00765 00767 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_turnUpdatesOnForObjectInstance> DtCbTurnUpdatesOnForObjectInstance; 00768 00770 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_turnUpdatesOffForObjectInstance> DtCbTurnUpdatesOffForObjectInstance; 00771 00776 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_requestAttributeOwnershipAssumption> DtCbRequestAttributeOwnershipAssumption; 00777 00779 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_requestDivestitureConfirmation> DtCbRequestDivestitureConfirmation; 00780 00782 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_attributeOwnershipAcquisitionNotification> DtCbAttributeOwnershipAcquisitionNotification; 00783 00785 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_attributeOwnershipUnavailable> DtCbAttributeOwnershipUnavailable; 00786 00788 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_requestAttributeOwnershipRelease> DtCbRequestAttributeOwnershipRelease; 00789 00791 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_confirmAttributeOwnershipAcquisitionCancellation> DtCbConfirmAttributeOwnershipAcquisitionCancellation; 00792 00794 typedef DtCallbackWithObjectAttributesOptFederate<DtFedAmbCall_informAttributeOwnership> DtCbInformAttributeOwnership; 00795 00796 typedef DtCallbackWithObjectAttributesOptFederate<DtFedAmbCall_attributeIsNotOwned> DtCbAttributeIsNotOwned; 00797 00798 typedef DtCallbackWithObjectAttributesOptFederate<DtFedAmbCall_attributeIsOwnedByRTI> DtCbAttributeIsOwnedByRTI; 00799 00804 typedef DtCallbackWithTime<DtFedAmbCall_timeRegulationEnabled> DtCbTimeRegulationEnabled; 00805 00807 typedef DtCallbackWithTime<DtFedAmbCall_timeConstrainedEnabled> DtCbTimeConstrainedEnabled; 00808 00810 typedef DtCallbackWithTime<DtFedAmbCall_timeAdvanceGrant> DtCbTimeAdvanceGrant; 00811 00814 class DtCbRequestRetraction: public DtFedAmbCallback 00815 { 00816 public: 00818 DtCbRequestRetraction(rti1516::MessageRetractionHandle handle); 00820 virtual ~DtCbRequestRetraction(); 00821 private: 00823 DtCbRequestRetraction(DtCbRequestRetraction const& orig); 00824 DtCbRequestRetraction& operator = (DtCbRequestRetraction const& orig); 00825 public: 00827 virtual void evokeCallback(rti1516::FederateAmbassador* fedAmb) const; 00828 protected: 00829 rti1516::MessageRetractionHandle myRetractHandle; 00830 }; 00831 00832 00834 DT_DLL_LRC const char* callbackKindToString(DtFedAmbCallKind kind); 00835 00836 #define fedAmbCallback1516_inl_ 00837 #include "fedAmbCallback1516.inl" 00838 #undef fedAmbCallback1516_inl_ 00839 00840 #endif //! DtIFSPEC1516 00841 #endif //! fedAmbCallback1516_h