![]() |
MAK RTIspy API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 2010 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: fedAmbCallback1516e.h,v $ $Revision: 1.0 $ $State: Exp $ 00007 *********************************************************************/ 00008 00009 #ifndef fedAmbCallback1516e_h 00010 #define fedAmbCallback1516e_h 00011 #ifdef DtIFSPEC1516E 00012 00015 00016 #include <RTI/Typedefs.h> 00017 #include <RTI/FederateAmbassador.h> 00018 #include "rtiMsg.h" 00019 00020 class DtCallbackMsg; 00021 using namespace rti1516e; 00022 00024 DT_DLL_LRC enum DtFedAmbCallKind 00025 { 00029 DtFedAmbCall_connectionLost, 00030 DtFedAmbCall_reportFederationExecutions, 00032 DtFedAmbCall_synchronizationPointRegistrationSucceeded, 00033 DtFedAmbCall_synchronizationPointRegistrationFailed, 00035 DtFedAmbCall_announceSynchronizationPoint, 00037 DtFedAmbCall_federationSynchronized, 00039 DtFedAmbCall_initiateFederateSave, 00040 DtFedAmbCall_initiateFederateSaveWithTime, 00042 DtFedAmbCall_federationSaved, 00043 DtFedAmbCall_federationNotSaved, 00045 DtFedAmbCall_federationSaveStatusResponse, 00047 DtFedAmbCall_requestFederationRestoreSucceeded, 00048 DtFedAmbCall_requestFederationRestoreFailed, 00050 DtFedAmbCall_federationRestoreBegun, 00052 DtFedAmbCall_initiateFederateRestore, 00054 DtFedAmbCall_federationRestored, 00055 DtFedAmbCall_federationNotRestored, 00057 DtFedAmbCall_federationRestoreStatusResponse, 00062 DtFedAmbCall_startRegistrationForObjectClass, 00064 DtFedAmbCall_stopRegistrationForObjectClass, 00066 DtFedAmbCall_turnInteractionsOn, 00068 DtFedAmbCall_turnInteractionsOff, 00073 DtFedAmbCall_objectInstanceNameReservationSucceeded, 00074 DtFedAmbCall_objectInstanceNameReservationFailed, 00076 DtFedAmbCall_multipleObjectInstanceNameReservationSucceeded, 00077 DtFedAmbCall_multipleObjectInstanceNameReservationFailed, 00079 DtFedAmbCall_discoverObjectInstance, 00080 DtFedAmbCall_discoverObjectInstance_h, 00082 DtFedAmbCall_reflectAttributeValues_hvuots, 00083 DtFedAmbCall_reflectAttributeValues_hvuotlos, 00084 DtFedAmbCall_reflectAttributeValues_hvuotloms, 00086 DtFedAmbCall_receiveInteraction_hvuos, 00087 DtFedAmbCall_receiveInteraction_hvuolos, 00088 DtFedAmbCall_receiveInteraction_hvuoloms, 00090 DtFedAmbCall_removeObjectInstance_huo, 00091 DtFedAmbCall_removeObjectInstance_huomo, 00092 DtFedAmbCall_removeObjectInstance_huomoc, 00094 DtFedAmbCall_attributesInScope, 00096 DtFedAmbCall_attributesOutOfScope, 00098 DtFedAmbCall_provideAttributeValueUpdate, 00100 DtFedAmbCall_turnUpdatesOnForObjectInstance, 00101 DtFedAmbCall_turnUpdatesOnForObjectInstance_u, 00103 DtFedAmbCall_turnUpdatesOffForObjectInstance, 00105 DtFedAmbCall_confirmAttributeTransportationTypeChange, 00107 DtFedAmbCall_reportAttributeTransportationType, 00109 DtFedAmbCall_confirmInteractionTransportationTypeChange, 00111 DtFedAmbCall_reportInteractionTransportationType, 00116 DtFedAmbCall_requestAttributeOwnershipAssumption, 00118 DtFedAmbCall_requestDivestitureConfirmation, 00120 DtFedAmbCall_attributeOwnershipAcquisitionNotification, 00122 DtFedAmbCall_attributeOwnershipUnavailable, 00124 DtFedAmbCall_requestAttributeOwnershipRelease, 00126 DtFedAmbCall_confirmAttributeOwnershipAcquisitionCancellation, 00128 DtFedAmbCall_informAttributeOwnership, 00129 DtFedAmbCall_attributeIsNotOwned, 00130 DtFedAmbCall_attributeIsOwnedByRTI, 00135 DtFedAmbCall_timeRegulationEnabled, 00137 DtFedAmbCall_timeConstrainedEnabled, 00139 DtFedAmbCall_timeAdvanceGrant, 00141 DtFedAmbCall_requestRetraction, 00143 DtFedAmbCall_invalid 00144 }; 00145 00149 class DT_DLL_LRC DtFedAmbCallback 00150 { 00151 public: 00153 DtFedAmbCallback(DtFedAmbCallKind kind); 00155 virtual ~DtFedAmbCallback(); 00156 private: 00158 DtFedAmbCallback(DtFedAmbCallback const& orig); 00159 DtFedAmbCallback& operator = (DtFedAmbCallback const& orig); 00160 public: 00162 virtual void evokeCallback(rti1516e::FederateAmbassador* fedAmb) const = 0; 00163 00165 virtual DtFedAmbCallKind callbackKind() const; 00166 00167 protected: 00168 DtFedAmbCallKind myCallbackKind; 00169 }; 00170 00171 template<DtFedAmbCallKind callbackKindValue> 00172 class DtFedAmbCallbackVoid : public DtFedAmbCallback 00173 { 00174 public: 00176 DtFedAmbCallbackVoid(); 00178 virtual ~DtFedAmbCallbackVoid(); 00179 private: 00181 DtFedAmbCallbackVoid(DtFedAmbCallbackVoid const& orig); 00182 DtFedAmbCallbackVoid& operator = (DtFedAmbCallbackVoid const& orig); 00183 00184 public: 00186 virtual void evokeCallback(rti1516e::FederateAmbassador* fedAmb) const; 00187 }; 00188 00189 template<DtFedAmbCallKind callbackKindValue> 00190 class DtCallbackWithTime : public DtFedAmbCallback 00191 { 00192 public: 00194 DtCallbackWithTime( 00195 std::auto_ptr<rti1516e::LogicalTime> time); 00197 virtual ~DtCallbackWithTime(); 00198 private: 00200 DtCallbackWithTime(DtCallbackWithTime const& orig); 00201 DtCallbackWithTime& operator = (DtCallbackWithTime const& orig); 00202 public: 00204 virtual void evokeCallback(rti1516e::FederateAmbassador* fedAmb) const; 00205 protected: 00206 std::auto_ptr<rti1516e::LogicalTime> myTime; 00207 }; 00208 00209 template<DtFedAmbCallKind callbackKindValue> 00210 class DtCallbackWithWString : public DtFedAmbCallback 00211 { 00212 public: 00214 DtCallbackWithWString(std::wstring const& value); 00215 DtCallbackWithWString(std::wstring const& value, 00216 rti1516e::FederateHandleSet const & failedToSyncSet ); 00217 00219 virtual ~DtCallbackWithWString(); 00220 private: 00222 DtCallbackWithWString(DtCallbackWithWString const& orig); 00223 DtCallbackWithWString& operator = (DtCallbackWithWString const& orig); 00224 public: 00226 virtual void evokeCallback(rti1516e::FederateAmbassador* fedAmb) const; 00227 protected: 00228 std::wstring myString; 00229 rti1516e::FederateHandleSet myFailedToSyncSet; 00230 }; 00231 00232 template<DtFedAmbCallKind callbackKindValue> 00233 class DtCallbackWithWStringArray : public DtFedAmbCallback 00234 { 00235 public: 00237 DtCallbackWithWStringArray( std::set<std::wstring> const & value ); 00238 00240 virtual ~DtCallbackWithWStringArray(); 00241 private: 00243 DtCallbackWithWStringArray(DtCallbackWithWStringArray const& orig); 00244 DtCallbackWithWStringArray& operator = (DtCallbackWithWStringArray const& orig); 00245 00246 public: 00248 virtual void evokeCallback(rti1516e::FederateAmbassador* fedAmb) const; 00249 protected: 00250 std::set<std::wstring> myStrings; 00251 }; 00252 00253 template<DtFedAmbCallKind callbackKindValue> 00254 class DtCallbackWithObjectClass : public DtFedAmbCallback 00255 { 00256 public: 00258 DtCallbackWithObjectClass(rti1516e::ObjectClassHandle theClass); 00260 virtual ~DtCallbackWithObjectClass(); 00261 private: 00263 DtCallbackWithObjectClass(DtCallbackWithObjectClass const& orig); 00264 DtCallbackWithObjectClass& operator = (DtCallbackWithObjectClass const& orig); 00265 public: 00267 virtual void evokeCallback(rti1516e::FederateAmbassador* fedAmb) const; 00268 protected: 00269 rti1516e::ObjectClassHandle myObjectClass; 00270 }; 00271 00272 template<DtFedAmbCallKind callbackKindValue> 00273 class DtCallbackWithInteractionClass : public DtFedAmbCallback 00274 { 00275 public: 00277 DtCallbackWithInteractionClass( 00278 rti1516e::InteractionClassHandle theClass); 00280 virtual ~DtCallbackWithInteractionClass(); 00281 private: 00283 DtCallbackWithInteractionClass(DtCallbackWithInteractionClass const& orig); 00284 DtCallbackWithInteractionClass& operator = (DtCallbackWithInteractionClass const& orig); 00285 public: 00287 virtual void evokeCallback(rti1516e::FederateAmbassador* fedAmb) const; 00288 protected: 00289 rti1516e::InteractionClassHandle myInteractionClass; 00290 }; 00291 00292 template<DtFedAmbCallKind callbackKindValue> 00293 class DtCallbackWithObjectAttributesOptTag : public DtFedAmbCallback 00294 { 00295 public: 00297 DtCallbackWithObjectAttributesOptTag( 00298 rti1516e::ObjectInstanceHandle theObject, 00299 rti1516e::AttributeHandleSet const & theAttributes); 00300 DtCallbackWithObjectAttributesOptTag( 00301 rti1516e::ObjectInstanceHandle theObject, 00302 rti1516e::AttributeHandleSet const & theAttributes, 00303 rti1516e::VariableLengthData const & theUserSuppliedTag); 00304 DtCallbackWithObjectAttributesOptTag( 00305 rti1516e::ObjectInstanceHandle theObject, 00306 rti1516e::AttributeHandleSet const & theAttributes, 00307 rti1516e::TransportationType theTransportation ); 00308 DtCallbackWithObjectAttributesOptTag( 00309 rti1516e::ObjectInstanceHandle theObject, 00310 rti1516e::AttributeHandle theAttribute, 00311 rti1516e::TransportationType theTransportation ); 00312 DtCallbackWithObjectAttributesOptTag( 00313 rti1516e::InteractionClassHandle theInteraction, 00314 rti1516e::TransportationType theTransportation ); 00315 DtCallbackWithObjectAttributesOptTag( 00316 rti1516e::FederateHandle theFederateHandle, 00317 rti1516e::InteractionClassHandle theInteraction, 00318 rti1516e::TransportationType theTransportation ); 00319 DtCallbackWithObjectAttributesOptTag( 00320 rti1516e::ObjectInstanceHandle theObject, 00321 rti1516e::AttributeHandleSet const & theAttributes, 00322 std::wstring const & updateRateDesignator ); 00323 00325 virtual ~DtCallbackWithObjectAttributesOptTag(); 00326 private: 00328 DtCallbackWithObjectAttributesOptTag(DtCallbackWithObjectAttributesOptTag const& orig); 00329 DtCallbackWithObjectAttributesOptTag& operator = (DtCallbackWithObjectAttributesOptTag const& orig); 00330 public: 00332 virtual void evokeCallback(rti1516e::FederateAmbassador* fedAmb) const; 00333 protected: 00334 rti1516e::ObjectInstanceHandle myObject; 00335 rti1516e::AttributeHandleSet myAttributes; 00336 rti1516e::VariableLengthData myUserSuppliedTag; 00337 rti1516e::AttributeHandle myAttribute; 00338 rti1516e::TransportationType myTransportationType; 00339 rti1516e::InteractionClassHandle myInteraction; 00340 rti1516e::FederateHandle myFederateHandle; 00341 std::wstring myUpdateRateDesignator; 00342 }; 00343 00344 template<DtFedAmbCallKind callbackKindValue> 00345 class DtCallbackWithObjectAttributesOptFederate : public DtFedAmbCallback 00346 { 00347 public: 00349 DtCallbackWithObjectAttributesOptFederate( 00350 rti1516e::ObjectInstanceHandle theObject, 00351 rti1516e::AttributeHandle theAttribute); 00352 DtCallbackWithObjectAttributesOptFederate( 00353 rti1516e::ObjectInstanceHandle theObject, 00354 rti1516e::AttributeHandle theAttribute, 00355 rti1516e::FederateHandle theFederate); 00357 virtual ~DtCallbackWithObjectAttributesOptFederate(); 00358 private: 00360 DtCallbackWithObjectAttributesOptFederate(DtCallbackWithObjectAttributesOptFederate const& orig); 00361 DtCallbackWithObjectAttributesOptFederate& operator = (DtCallbackWithObjectAttributesOptFederate const& orig); 00362 public: 00364 virtual void evokeCallback(rti1516e::FederateAmbassador* fedAmb) const; 00365 protected: 00366 rti1516e::ObjectInstanceHandle myObject; 00367 rti1516e::AttributeHandle myAttribute; 00368 rti1516e::FederateHandle myFederate; 00369 }; 00370 00375 typedef DtCallbackWithWString<DtFedAmbCall_synchronizationPointRegistrationSucceeded> DtCbSynchronizationPointRegistrationSucceeded; 00376 00377 class DtCbSynchronizationPointRegistrationFailed : public DtFedAmbCallback 00378 { 00379 public: 00381 DtCbSynchronizationPointRegistrationFailed(std::wstring const& stringValue, 00382 rti1516e::SynchronizationPointFailureReason reason); 00384 virtual ~DtCbSynchronizationPointRegistrationFailed(); 00385 private: 00387 DtCbSynchronizationPointRegistrationFailed(DtCbSynchronizationPointRegistrationFailed const& orig); 00388 DtCbSynchronizationPointRegistrationFailed& operator = (DtCbSynchronizationPointRegistrationFailed const& orig); 00389 public: 00391 virtual void evokeCallback(rti1516e::FederateAmbassador* fedAmb) const; 00392 protected: 00393 std::wstring myString; 00394 rti1516e::SynchronizationPointFailureReason myReason; 00395 }; 00396 00399 class DtCbAnnounceSynchronizationPoint : public DtFedAmbCallback 00400 { 00401 public: 00403 DtCbAnnounceSynchronizationPoint(std::wstring const& stringValue, 00404 rti1516e::VariableLengthData const & tag); 00406 virtual ~DtCbAnnounceSynchronizationPoint(); 00407 private: 00409 DtCbAnnounceSynchronizationPoint(DtCbAnnounceSynchronizationPoint const& orig); 00410 DtCbAnnounceSynchronizationPoint& operator = (DtCbAnnounceSynchronizationPoint const& orig); 00411 public: 00413 virtual void evokeCallback(rti1516e::FederateAmbassador* fedAmb) const; 00414 protected: 00415 std::wstring myString; 00416 rti1516e::VariableLengthData myTag; 00417 }; 00418 00420 typedef DtCallbackWithWString<DtFedAmbCall_federationSynchronized> DtCbFederationSynchronized; 00421 00423 typedef DtCallbackWithWString<DtFedAmbCall_initiateFederateSave> DtCbInitiateFederateSave; 00424 00425 class DtCbInitiateFederateSaveWithTime: public DtFedAmbCallback 00426 { 00427 public: 00429 DtCbInitiateFederateSaveWithTime(std::wstring const& stringValue, 00430 std::auto_ptr<rti1516e::LogicalTime> time); 00432 virtual ~DtCbInitiateFederateSaveWithTime(); 00433 private: 00435 DtCbInitiateFederateSaveWithTime(DtCbInitiateFederateSaveWithTime const& orig); 00436 DtCbInitiateFederateSaveWithTime& operator = (DtCbInitiateFederateSaveWithTime const& orig); 00437 public: 00439 virtual void evokeCallback(rti1516e::FederateAmbassador* fedAmb) const; 00440 protected: 00441 std::wstring myString; 00442 std::auto_ptr<rti1516e::LogicalTime> myTime; 00443 }; 00444 00446 typedef DtFedAmbCallbackVoid<DtFedAmbCall_federationSaved> DtCbFederationSaved; 00447 00448 class DtCbFederationNotSaved : public DtFedAmbCallback 00449 { 00450 public: 00452 DtCbFederationNotSaved(rti1516e::SaveFailureReason theSaveFailureReason); 00454 virtual ~DtCbFederationNotSaved(); 00455 private: 00457 DtCbFederationNotSaved(DtCbFederationNotSaved const& orig); 00458 DtCbFederationNotSaved& operator = (DtCbFederationNotSaved const& orig); 00459 public: 00461 virtual void evokeCallback(rti1516e::FederateAmbassador* fedAmb) const; 00462 protected: 00463 rti1516e::SaveFailureReason mySaveFailureReason; 00464 }; 00465 00468 class DtCbFederationSaveStatusResponse : public DtFedAmbCallback 00469 { 00470 public: 00472 DtCbFederationSaveStatusResponse( 00473 rti1516e::FederateHandleSaveStatusPairVector const & theFederateStatusVector); 00475 virtual ~DtCbFederationSaveStatusResponse(); 00476 private: 00478 DtCbFederationSaveStatusResponse(DtCbFederationSaveStatusResponse const& orig); 00479 DtCbFederationSaveStatusResponse& operator = (DtCbFederationSaveStatusResponse const& orig); 00480 public: 00482 virtual void evokeCallback(rti1516e::FederateAmbassador* fedAmb) const; 00483 protected: 00484 rti1516e::FederateHandleSaveStatusPairVector myFederateStatusVector; 00485 }; 00486 00488 typedef DtCallbackWithWString<DtFedAmbCall_requestFederationRestoreSucceeded> DtCbRequestFederationRestoreSucceeded; 00489 00490 typedef DtCallbackWithWString<DtFedAmbCall_requestFederationRestoreFailed> DtCbRequestFederationRestoreFailed; 00491 00493 typedef DtFedAmbCallbackVoid<DtFedAmbCall_federationRestoreBegun> DtCbFederationRestoreBegun; 00494 00497 class DtCbInitiateFederateRestore : public DtFedAmbCallback 00498 { 00499 public: 00501 DtCbInitiateFederateRestore(std::wstring const& stringValue, 00502 rti1516e::FederateHandle handle); 00504 virtual ~DtCbInitiateFederateRestore(); 00505 private: 00507 DtCbInitiateFederateRestore(DtCbInitiateFederateRestore const& orig); 00508 DtCbInitiateFederateRestore& operator = (DtCbInitiateFederateRestore const& orig); 00509 public: 00511 virtual void evokeCallback(rti1516e::FederateAmbassador* fedAmb) const; 00512 protected: 00513 rti1516e::FederateHandle myHandle; 00514 std::wstring myString; 00515 }; 00516 00518 typedef DtFedAmbCallbackVoid<DtFedAmbCall_federationRestored> DtCbFederationRestored; 00519 00520 class DtCbFederationNotRestored : public DtFedAmbCallback 00521 { 00522 public: 00524 DtCbFederationNotRestored(rti1516e::RestoreFailureReason theRestoreFailureReason); 00526 virtual ~DtCbFederationNotRestored(); 00527 private: 00529 DtCbFederationNotRestored(DtCbFederationNotRestored const& orig); 00530 DtCbFederationNotRestored& operator = (DtCbFederationNotRestored const& orig); 00531 public: 00533 virtual void evokeCallback(rti1516e::FederateAmbassador* fedAmb) const; 00534 protected: 00535 rti1516e::RestoreFailureReason myRestoreFailureReason; 00536 }; 00537 00540 class DtCbFederationRestoreStatusResponse : public DtFedAmbCallback 00541 { 00542 public: 00544 DtCbFederationRestoreStatusResponse( 00545 rti1516e::FederateRestoreStatusVector const & theFederateStatusVector); 00547 virtual ~DtCbFederationRestoreStatusResponse(); 00548 private: 00550 DtCbFederationRestoreStatusResponse(DtCbFederationRestoreStatusResponse const& orig); 00551 DtCbFederationRestoreStatusResponse& operator = (DtCbFederationRestoreStatusResponse const& orig); 00552 public: 00554 virtual void evokeCallback(rti1516e::FederateAmbassador* fedAmb) const; 00555 protected: 00556 rti1516e::FederateRestoreStatusVector myFederateStatusVector; 00557 }; 00558 00559 00564 typedef DtCallbackWithObjectClass<DtFedAmbCall_startRegistrationForObjectClass> DtCbStartRegistrationForObjectClass; 00565 00567 typedef DtCallbackWithObjectClass<DtFedAmbCall_stopRegistrationForObjectClass> DtCbStopRegistrationForObjectClass; 00568 00570 typedef DtCallbackWithInteractionClass<DtFedAmbCall_turnInteractionsOn> DtCbTurnInteractionsOn; 00571 00573 typedef DtCallbackWithInteractionClass<DtFedAmbCall_turnInteractionsOff> DtCbTurnInteractionsOff; 00574 00579 typedef DtCallbackWithWString<DtFedAmbCall_objectInstanceNameReservationSucceeded> DtCbObjectInstanceNameReservationSucceeded; 00580 typedef DtCallbackWithWString<DtFedAmbCall_objectInstanceNameReservationFailed> DtCbObjectInstanceNameReservationFailed; 00581 00582 typedef DtCallbackWithWStringArray<DtFedAmbCall_multipleObjectInstanceNameReservationSucceeded> DtCbMultipleObjectInstanceNameReservationSucceeded; 00583 typedef DtCallbackWithWStringArray<DtFedAmbCall_multipleObjectInstanceNameReservationFailed> DtCbMultipleObjectInstanceNameReservationFailed; 00584 00587 class DtCbDiscoverObjectInstance: public DtFedAmbCallback 00588 { 00589 public: 00591 DtCbDiscoverObjectInstance(rti1516e::ObjectInstanceHandle theObject, 00592 rti1516e::ObjectClassHandle theObjectClass, 00593 std::wstring const & theObjectInstanceName); 00594 DtCbDiscoverObjectInstance(rti1516e::ObjectInstanceHandle theObject, 00595 rti1516e::ObjectClassHandle theObjectClass, 00596 std::wstring const & theObjectInstanceName, 00597 rti1516e::FederateHandle producingFederate ); 00599 virtual ~DtCbDiscoverObjectInstance(); 00600 private: 00602 DtCbDiscoverObjectInstance(DtCbDiscoverObjectInstance const& orig); 00603 DtCbDiscoverObjectInstance& operator = (DtCbDiscoverObjectInstance const& orig); 00604 public: 00606 virtual void evokeCallback(rti1516e::FederateAmbassador* fedAmb) const; 00607 protected: 00608 rti1516e::ObjectInstanceHandle myObjectInstanceHandle; 00609 rti1516e::ObjectClassHandle myObjectClassHandle; 00610 std::wstring myString; 00611 rti1516e::FederateHandle myProducingFederate; 00612 }; 00613 00614 00617 class DtCbReflectAttributeValues: public DtFedAmbCallback 00618 { 00619 public: 00620 DtCbReflectAttributeValues( rti1516e::ObjectInstanceHandle theObject, 00621 rti1516e::AttributeHandleValueMap const & theAttributeValues, 00622 rti1516e::VariableLengthData const & theUserSuppliedTag, 00623 rti1516e::OrderType sentOrder, 00624 rti1516e::TransportationType theType, 00625 rti1516e::SupplementalReflectInfo theReflectInfo); 00626 00627 DtCbReflectAttributeValues( rti1516e::ObjectInstanceHandle theObject, 00628 rti1516e::AttributeHandleValueMap const & theAttributeValues, 00629 rti1516e::VariableLengthData const & theUserSuppliedTag, 00630 rti1516e::OrderType sentOrder, 00631 rti1516e::TransportationType theType, 00632 std::auto_ptr<rti1516e::LogicalTime> theTime, 00633 rti1516e::OrderType receivedOrder, 00634 rti1516e::SupplementalReflectInfo ); 00635 00636 DtCbReflectAttributeValues( rti1516e::ObjectInstanceHandle theObject, 00637 rti1516e::AttributeHandleValueMap const & theAttributeValues, 00638 rti1516e::VariableLengthData const & theUserSuppliedTag, 00639 rti1516e::OrderType sentOrder, 00640 rti1516e::TransportationType theType, 00641 std::auto_ptr<rti1516e::LogicalTime> theTime, 00642 rti1516e::OrderType receivedOrder, 00643 rti1516e::MessageRetractionHandle theHandle, 00644 rti1516e::SupplementalReflectInfo ); 00645 00647 virtual ~DtCbReflectAttributeValues(); 00648 private: 00650 DtCbReflectAttributeValues(DtCbReflectAttributeValues const& orig); 00651 DtCbReflectAttributeValues& operator = (DtCbReflectAttributeValues const& orig); 00652 public: 00654 virtual void evokeCallback(rti1516e::FederateAmbassador* fedAmb) const; 00655 00656 protected: 00657 rti1516e::ObjectInstanceHandle myObject; 00658 rti1516e::AttributeHandleValueMap myAttributeValues; 00659 rti1516e::VariableLengthData myUserSuppliedTag; 00660 rti1516e::OrderType mySentOrder; 00661 rti1516e::TransportationType myTransportationType; 00662 std::auto_ptr<rti1516e::LogicalTime> myTime; 00663 rti1516e::OrderType myReceivedOrder; 00664 rti1516e::MessageRetractionHandle myRetractHandle; 00665 rti1516e::SupplementalReflectInfo myReflectInfo; 00666 }; 00667 00670 class DtCbReceiveInteraction: public DtFedAmbCallback 00671 { 00672 public: 00673 DtCbReceiveInteraction( rti1516e::InteractionClassHandle theInteraction, 00674 rti1516e::ParameterHandleValueMap const & theParameterValues, 00675 rti1516e::VariableLengthData const & theUserSuppliedTag, 00676 rti1516e::OrderType sentOrder, 00677 rti1516e::TransportationType theType, 00678 rti1516e::SupplementalReceiveInfo theReceiveInfo ); 00679 00680 DtCbReceiveInteraction( rti1516e::InteractionClassHandle theInteraction, 00681 rti1516e::ParameterHandleValueMap const & theParameterValues, 00682 rti1516e::VariableLengthData const & theUserSuppliedTag, 00683 rti1516e::OrderType sentOrder, 00684 rti1516e::TransportationType theType, 00685 std::auto_ptr<rti1516e::LogicalTime> theTime, 00686 rti1516e::OrderType receivedOrder, 00687 rti1516e::SupplementalReceiveInfo theReceiveInfo ); 00688 00689 DtCbReceiveInteraction( rti1516e::InteractionClassHandle theInteraction, 00690 rti1516e::ParameterHandleValueMap const & theParameterValues, 00691 rti1516e::VariableLengthData const & theUserSuppliedTag, 00692 rti1516e::OrderType sentOrder, 00693 rti1516e::TransportationType theType, 00694 std::auto_ptr<rti1516e::LogicalTime> theTime, 00695 rti1516e::OrderType receivedOrder, 00696 rti1516e::MessageRetractionHandle theHandle, 00697 rti1516e::SupplementalReceiveInfo theReceiveInfo ); 00698 00700 virtual ~DtCbReceiveInteraction(); 00701 private: 00703 DtCbReceiveInteraction(DtCbReceiveInteraction const& orig); 00704 DtCbReceiveInteraction& operator = (DtCbReceiveInteraction const& orig); 00705 public: 00707 virtual void evokeCallback(rti1516e::FederateAmbassador* fedAmb) const; 00708 00709 protected: 00710 rti1516e::InteractionClassHandle myInteractionClass; 00711 rti1516e::ParameterHandleValueMap myParameterValues; 00712 rti1516e::VariableLengthData myUserSuppliedTag; 00713 rti1516e::OrderType mySentOrder; 00714 rti1516e::TransportationType myTransportationType; 00715 std::auto_ptr<rti1516e::LogicalTime> myTime; 00716 rti1516e::OrderType myReceivedOrder; 00717 rti1516e::MessageRetractionHandle myRetractHandle; 00718 rti1516e::SupplementalReceiveInfo myReceiveInfo; 00719 }; 00720 00723 class DtCbRemoveObjectInstance: public DtFedAmbCallback 00724 { 00725 public: 00727 DtCbRemoveObjectInstance( 00728 rti1516e::ObjectInstanceHandle theObject, 00729 rti1516e::VariableLengthData const & theUserSuppliedTag, 00730 rti1516e::OrderType sentOrder, 00731 rti1516e::SupplementalRemoveInfo theRemoveInfo ); 00732 DtCbRemoveObjectInstance( 00733 rti1516e::ObjectInstanceHandle theObject, 00734 rti1516e::VariableLengthData const & theUserSuppliedTag, 00735 rti1516e::OrderType sentOrder, 00736 std::auto_ptr<rti1516e::LogicalTime> theTime, 00737 rti1516e::OrderType receivedOrder, 00738 rti1516e::SupplementalRemoveInfo theRemoveInfo ); 00739 DtCbRemoveObjectInstance( 00740 rti1516e::ObjectInstanceHandle theObject, 00741 rti1516e::VariableLengthData const & theUserSuppliedTag, 00742 rti1516e::OrderType sentOrder, 00743 std::auto_ptr<rti1516e::LogicalTime> theTime, 00744 rti1516e::OrderType receivedOrder, 00745 rti1516e::MessageRetractionHandle theRetractHandle, 00746 rti1516e::SupplementalRemoveInfo theRemoveInfo); 00747 00749 virtual ~DtCbRemoveObjectInstance(); 00750 private: 00752 DtCbRemoveObjectInstance(DtCbRemoveObjectInstance const& orig); 00753 DtCbRemoveObjectInstance& operator = (DtCbRemoveObjectInstance const& orig); 00754 public: 00756 virtual void evokeCallback(rti1516e::FederateAmbassador* fedAmb) const; 00757 protected: 00758 rti1516e::ObjectInstanceHandle myObjectInstanceHandle; 00759 rti1516e::VariableLengthData myTag; 00760 rti1516e::OrderType mySentOrder; 00761 std::auto_ptr<rti1516e::LogicalTime> myTime; 00762 rti1516e::OrderType myReceivedOrder; 00763 rti1516e::MessageRetractionHandle myRetractHandle; 00764 rti1516e::SupplementalRemoveInfo myRemoveInfo; 00765 }; 00766 00767 00769 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_attributesInScope> DtCbAttributesInScope; 00770 00772 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_attributesOutOfScope> DtCbAttributesOutOfScope; 00773 00775 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_provideAttributeValueUpdate> DtCbProvideAttributeValueUpdate; 00776 00778 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_turnUpdatesOnForObjectInstance> DtCbTurnUpdatesOnForObjectInstance; 00779 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_turnUpdatesOnForObjectInstance_u> DtCbTurnUpdatesOnForObjectInstance_u; 00780 00782 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_turnUpdatesOffForObjectInstance> DtCbTurnUpdatesOffForObjectInstance; 00783 00785 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_confirmAttributeTransportationTypeChange> DtCbConfirmAttributeTransportationTypeChange; 00786 00788 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_reportAttributeTransportationType> DtCbReportAttributeTransportationType; 00789 00791 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_confirmInteractionTransportationTypeChange> DtCbConfirmInteractionTransportationTypeChange; 00792 00794 typedef DtCallbackWithObjectAttributesOptTag<DtFedAmbCall_reportInteractionTransportationType> DtCbReportInteractionTransportationType; 00795 00800 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_requestAttributeOwnershipAssumption> DtCbRequestAttributeOwnershipAssumption; 00801 00803 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_requestDivestitureConfirmation> DtCbRequestDivestitureConfirmation; 00804 00806 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_attributeOwnershipAcquisitionNotification> DtCbAttributeOwnershipAcquisitionNotification; 00807 00809 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_attributeOwnershipUnavailable> DtCbAttributeOwnershipUnavailable; 00810 00812 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_requestAttributeOwnershipRelease> DtCbRequestAttributeOwnershipRelease; 00813 00815 typedef DtCallbackWithObjectAttributesOptTag <DtFedAmbCall_confirmAttributeOwnershipAcquisitionCancellation> DtCbConfirmAttributeOwnershipAcquisitionCancellation; 00816 00818 typedef DtCallbackWithObjectAttributesOptFederate<DtFedAmbCall_informAttributeOwnership> DtCbInformAttributeOwnership; 00819 00820 typedef DtCallbackWithObjectAttributesOptFederate<DtFedAmbCall_attributeIsNotOwned> DtCbAttributeIsNotOwned; 00821 00822 typedef DtCallbackWithObjectAttributesOptFederate<DtFedAmbCall_attributeIsOwnedByRTI> DtCbAttributeIsOwnedByRTI; 00823 00828 typedef DtCallbackWithTime<DtFedAmbCall_timeRegulationEnabled> DtCbTimeRegulationEnabled; 00829 00831 typedef DtCallbackWithTime<DtFedAmbCall_timeConstrainedEnabled> DtCbTimeConstrainedEnabled; 00832 00834 typedef DtCallbackWithTime<DtFedAmbCall_timeAdvanceGrant> DtCbTimeAdvanceGrant; 00835 00838 class DtCbRequestRetraction: public DtFedAmbCallback 00839 { 00840 public: 00842 DtCbRequestRetraction(rti1516e::MessageRetractionHandle handle); 00844 virtual ~DtCbRequestRetraction(); 00845 private: 00847 DtCbRequestRetraction(DtCbRequestRetraction const& orig); 00848 DtCbRequestRetraction& operator = (DtCbRequestRetraction const& orig); 00849 public: 00851 virtual void evokeCallback(rti1516e::FederateAmbassador* fedAmb) const; 00852 protected: 00853 rti1516e::MessageRetractionHandle myRetractHandle; 00854 }; 00855 00856 00858 DT_DLL_LRC const char* callbackKindToString(DtFedAmbCallKind kind); 00859 00860 #define fedAmbCallback1516e_inl_ 00861 #include "fedAmbCallback1516e.inl" 00862 #undef fedAmbCallback1516e_inl_ 00863 00864 #endif //! DtIFSPEC1516E 00865 #endif //! fedAmbCallback1516e_h