MAK RTIspy API Documentation for HLA 1.3
fedAmbCallback1516e.h
Go to the documentation of this file.
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

Document ID: Generated on Thu Jun 14 14:15:04 EDT 2012 from SVN revision 116116
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)