MAK RTIspy API Documentation for HLA 1.3
fedAmbCallbackQueue1516.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2007 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: fedAmbCallbackQueue1516.h,v $ $Revision: 1.5 $ $State: Exp $
00007 *********************************************************************/
00008 
00009 #ifndef DtFedAmbCallbackQueue1516_h
00010 #define DtFedAmbCallbackQueue1516_h
00011 #ifdef DtIFSPEC1516
00012 
00015 
00016 #include <queue>
00017 #include <RTI/Typedefs.h>
00018 #include "fedAmbWrap1516.h"
00019 #include "rtiMsg.h"
00020 
00021 class DtFederateMgr;
00022 class DtFedAmbCallback;
00023 
00024 typedef std::queue<DtRtiMsg*> DtFedAmbMsgQueue;
00025 
00029 class DT_DLL_LRC DtCallbackQueue : public DtFedAmbWrapper
00030 {
00031 public:
00032 
00034    DtCallbackQueue(DtFederateMgr* fedMgr = 0);
00035 
00037    virtual ~DtCallbackQueue() throw ();
00038 
00039 private:
00041    DtCallbackQueue(DtCallbackQueue const& orig);
00043    DtCallbackQueue& operator = (DtCallbackQueue const& orig);
00044 
00045 public:
00046 
00048    virtual void enableQueue();
00049 
00051    virtual void disableQueue();
00052 
00054    MAKRti::DtString const& name() const;
00055 
00057    virtual DtRtiMsg* popMessage();
00058 
00062 
00064    virtual void synchronizationPointRegistrationSucceeded(std::wstring const & label)
00065       throw (rti1516::FederateInternalError);
00066 
00067    virtual void synchronizationPointRegistrationFailed(std::wstring const & label,
00068       rti1516::SynchronizationFailureReason reason)
00069       throw (rti1516::FederateInternalError);
00070 
00072    virtual void announceSynchronizationPoint(std::wstring  const & label,
00073       rti1516::VariableLengthData const & theUserSuppliedTag)
00074       throw (rti1516::FederateInternalError);
00075 
00077    virtual void federationSynchronized(std::wstring const & label)
00078       throw (rti1516::FederateInternalError);
00079 
00081    virtual void initiateFederateSave(std::wstring const & label)
00082       throw (rti1516::UnableToPerformSave,
00083       rti1516::FederateInternalError);
00084 
00085    virtual void initiateFederateSave(std::wstring const & label,
00086       rti1516::LogicalTime const & theTime)
00087       throw (rti1516::UnableToPerformSave,
00088       rti1516::InvalidLogicalTime,
00089       rti1516::FederateInternalError);
00090 
00092    virtual void federationSaved()
00093       throw (rti1516::FederateInternalError);
00094 
00095    virtual void federationNotSaved(rti1516::SaveFailureReason theSaveFailureReason)
00096       throw (rti1516::FederateInternalError);
00097 
00099    virtual void federationSaveStatusResponse(
00100       rti1516::FederateHandleSaveStatusPairVector const & theFederateStatusVector)
00101       throw (rti1516::FederateInternalError);
00102 
00104    virtual void requestFederationRestoreSucceeded(std::wstring const & label)
00105       throw (rti1516::FederateInternalError);
00106 
00107    virtual void requestFederationRestoreFailed(std::wstring const & label)
00108       throw (rti1516::FederateInternalError);
00109 
00111    virtual void federationRestoreBegun()
00112       throw (rti1516::FederateInternalError);
00113 
00115    virtual void initiateFederateRestore(std::wstring         const & label,
00116       rti1516::FederateHandle handle)
00117       throw (rti1516::SpecifiedSaveLabelDoesNotExist,
00118       rti1516::CouldNotInitiateRestore,
00119       rti1516::FederateInternalError);
00120 
00122    virtual void federationRestored()
00123       throw (rti1516::FederateInternalError);
00124 
00125    virtual void federationNotRestored(rti1516::RestoreFailureReason theRestoreFailureReason)
00126       throw (rti1516::FederateInternalError);
00127 
00129    virtual void federationRestoreStatusResponse(
00130       rti1516::FederateHandleRestoreStatusPairVector  const & theFederateStatusVector)
00131       throw (rti1516::FederateInternalError);
00132 
00136 
00138    virtual void startRegistrationForObjectClass(rti1516::ObjectClassHandle theClass)
00139       throw (rti1516::ObjectClassNotPublished,
00140       rti1516::FederateInternalError);
00141 
00143    virtual void stopRegistrationForObjectClass(rti1516::ObjectClassHandle theClass)
00144       throw (rti1516::ObjectClassNotPublished,
00145       rti1516::FederateInternalError);
00146 
00148    virtual void turnInteractionsOn(rti1516::InteractionClassHandle theHandle)
00149       throw (rti1516::InteractionClassNotPublished,
00150       rti1516::FederateInternalError);
00151 
00153    virtual void turnInteractionsOff(rti1516::InteractionClassHandle theHandle)
00154       throw (rti1516::InteractionClassNotPublished,
00155       rti1516::FederateInternalError);
00156 
00160 
00162    virtual void objectInstanceNameReservationSucceeded(std::wstring const &
00163       theObjectInstanceName)
00164       throw (rti1516::UnknownName,
00165       rti1516::FederateInternalError);
00166 
00167    virtual void objectInstanceNameReservationFailed(std::wstring const &
00168       theObjectInstanceName)
00169       throw (rti1516::UnknownName,
00170       rti1516::FederateInternalError);
00171 
00173    virtual void discoverObjectInstance(rti1516::ObjectInstanceHandle theObject,
00174       rti1516::ObjectClassHandle theObjectClass,
00175       std::wstring const & theObjectInstanceName)
00176       throw (rti1516::CouldNotDiscover,
00177       rti1516::ObjectClassNotKnown,
00178       rti1516::FederateInternalError);
00179 
00181    virtual void reflectAttributeValues
00182       (rti1516::ObjectInstanceHandle theObject,
00183       rti1516::AttributeHandleValueMap const & theAttributeValues,
00184       rti1516::VariableLengthData const & theUserSuppliedTag,
00185       rti1516::OrderType sentOrder,
00186       rti1516::TransportationType theType)
00187       throw (rti1516::ObjectInstanceNotKnown,
00188       rti1516::AttributeNotRecognized,
00189       rti1516::AttributeNotSubscribed,
00190       rti1516::FederateInternalError);
00191 
00192    virtual void reflectAttributeValues
00193       (rti1516::ObjectInstanceHandle theObject,
00194       rti1516::AttributeHandleValueMap const & theAttributeValues,
00195       rti1516::VariableLengthData const & theUserSuppliedTag,
00196       rti1516::OrderType sentOrder,
00197       rti1516::TransportationType theType,
00198       rti1516::RegionHandleSet const & theSentRegionHandleSet)
00199       throw (rti1516::ObjectInstanceNotKnown,
00200       rti1516::AttributeNotRecognized,
00201       rti1516::AttributeNotSubscribed,
00202       rti1516::FederateInternalError);
00203 
00204    virtual void reflectAttributeValues
00205       (rti1516::ObjectInstanceHandle theObject,
00206       rti1516::AttributeHandleValueMap const & theAttributeValues,
00207       rti1516::VariableLengthData const & theUserSuppliedTag,
00208       rti1516::OrderType sentOrder,
00209       rti1516::TransportationType theType,
00210       rti1516::LogicalTime const & theTime,
00211       rti1516::OrderType receivedOrder)
00212       throw (rti1516::ObjectInstanceNotKnown,
00213       rti1516::AttributeNotRecognized,
00214       rti1516::AttributeNotSubscribed,
00215       rti1516::FederateInternalError);
00216 
00217    virtual void reflectAttributeValues
00218       (rti1516::ObjectInstanceHandle theObject,
00219       rti1516::AttributeHandleValueMap const & theAttributeValues,
00220       rti1516::VariableLengthData const & theUserSuppliedTag,
00221       rti1516::OrderType sentOrder,
00222       rti1516::TransportationType theType,
00223       rti1516::LogicalTime const & theTime,
00224       rti1516::OrderType receivedOrder,
00225       rti1516::RegionHandleSet const & theSentRegionHandleSet)
00226       throw (rti1516::ObjectInstanceNotKnown,
00227       rti1516::AttributeNotRecognized,
00228       rti1516::AttributeNotSubscribed,
00229       rti1516::FederateInternalError);
00230 
00231    virtual void 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::LogicalTime const & theTime,
00238       rti1516::OrderType receivedOrder,
00239       rti1516::MessageRetractionHandle theHandle)
00240       throw (rti1516::ObjectInstanceNotKnown,
00241       rti1516::AttributeNotRecognized,
00242       rti1516::AttributeNotSubscribed,
00243       rti1516::InvalidLogicalTime,
00244       rti1516::FederateInternalError);
00245 
00246    virtual void reflectAttributeValues
00247       (rti1516::ObjectInstanceHandle theObject,
00248       rti1516::AttributeHandleValueMap const & theAttributeValues,
00249       rti1516::VariableLengthData const & theUserSuppliedTag,
00250       rti1516::OrderType sentOrder,
00251       rti1516::TransportationType theType,
00252       rti1516::LogicalTime const & theTime,
00253       rti1516::OrderType receivedOrder,
00254       rti1516::MessageRetractionHandle theHandle,
00255       rti1516::RegionHandleSet const & theSentRegionHandleSet)
00256       throw (rti1516::ObjectInstanceNotKnown,
00257       rti1516::AttributeNotRecognized,
00258       rti1516::AttributeNotSubscribed,
00259       rti1516::InvalidLogicalTime,
00260       rti1516::FederateInternalError);
00261 
00263    virtual void receiveInteraction
00264       (rti1516::InteractionClassHandle theInteraction,
00265       rti1516::ParameterHandleValueMap const & theParameterValues,
00266       rti1516::VariableLengthData const & theUserSuppliedTag,
00267       rti1516::OrderType sentOrder,
00268       rti1516::TransportationType theType)
00269       throw (rti1516::InteractionClassNotRecognized,
00270       rti1516::InteractionParameterNotRecognized,
00271       rti1516::InteractionClassNotSubscribed,
00272       rti1516::FederateInternalError);
00273 
00274    virtual void receiveInteraction
00275       (rti1516::InteractionClassHandle theInteraction,
00276       rti1516::ParameterHandleValueMap const & theParameterValues,
00277       rti1516::VariableLengthData const & theUserSuppliedTag,
00278       rti1516::OrderType sentOrder,
00279       rti1516::TransportationType theType,
00280       rti1516::RegionHandleSet const & theSentRegionHandleSet)
00281       throw (rti1516::InteractionClassNotRecognized,
00282       rti1516::InteractionParameterNotRecognized,
00283       rti1516::InteractionClassNotSubscribed,
00284       rti1516::FederateInternalError);
00285 
00286    virtual void receiveInteraction
00287       (rti1516::InteractionClassHandle theInteraction,
00288       rti1516::ParameterHandleValueMap const & theParameterValues,
00289       rti1516::VariableLengthData const & theUserSuppliedTag,
00290       rti1516::OrderType sentOrder,
00291       rti1516::TransportationType theType,
00292       rti1516::LogicalTime const & theTime,
00293       rti1516::OrderType receivedOrder)
00294       throw (rti1516::InteractionClassNotRecognized,
00295       rti1516::InteractionParameterNotRecognized,
00296       rti1516::InteractionClassNotSubscribed,
00297       rti1516::FederateInternalError);
00298 
00299    virtual void receiveInteraction
00300       (rti1516::InteractionClassHandle theInteraction,
00301       rti1516::ParameterHandleValueMap const & theParameterValues,
00302       rti1516::VariableLengthData const & theUserSuppliedTag,
00303       rti1516::OrderType sentOrder,
00304       rti1516::TransportationType theType,
00305       rti1516::LogicalTime const & theTime,
00306       rti1516::OrderType receivedOrder,
00307       rti1516::RegionHandleSet const & theSentRegionHandleSet)
00308       throw (rti1516::InteractionClassNotRecognized,
00309       rti1516::InteractionParameterNotRecognized,
00310       rti1516::InteractionClassNotSubscribed,
00311       rti1516::FederateInternalError);
00312 
00313    virtual void receiveInteraction
00314       (rti1516::InteractionClassHandle theInteraction,
00315       rti1516::ParameterHandleValueMap const & theParameterValues,
00316       rti1516::VariableLengthData const & theUserSuppliedTag,
00317       rti1516::OrderType sentOrder,
00318       rti1516::TransportationType theType,
00319       rti1516::LogicalTime const & theTime,
00320       rti1516::OrderType receivedOrder,
00321       rti1516::MessageRetractionHandle theHandle)
00322       throw (rti1516::InteractionClassNotRecognized,
00323       rti1516::InteractionParameterNotRecognized,
00324       rti1516::InteractionClassNotSubscribed,
00325       rti1516::InvalidLogicalTime,
00326       rti1516::FederateInternalError);
00327 
00328    virtual void receiveInteraction
00329       (rti1516::InteractionClassHandle theInteraction,
00330       rti1516::ParameterHandleValueMap const & theParameterValues,
00331       rti1516::VariableLengthData const & theUserSuppliedTag,
00332       rti1516::OrderType sentOrder,
00333       rti1516::TransportationType theType,
00334       rti1516::LogicalTime const & theTime,
00335       rti1516::OrderType receivedOrder,
00336       rti1516::MessageRetractionHandle theHandle,
00337       rti1516::RegionHandleSet const & theSentRegionHandleSet)
00338       throw (rti1516::InteractionClassNotRecognized,
00339       rti1516::InteractionParameterNotRecognized,
00340       rti1516::InteractionClassNotSubscribed,
00341       rti1516::InvalidLogicalTime,
00342       rti1516::FederateInternalError);
00343 
00345    virtual void removeObjectInstance(rti1516::ObjectInstanceHandle theObject,
00346       rti1516::VariableLengthData const & theUserSuppliedTag,
00347       rti1516::OrderType sentOrder)
00348       throw (rti1516::ObjectInstanceNotKnown,
00349       rti1516::FederateInternalError);
00350 
00351    virtual void removeObjectInstance(rti1516::ObjectInstanceHandle theObject,
00352       rti1516::VariableLengthData const & theUserSuppliedTag,
00353       rti1516::OrderType sentOrder,
00354       rti1516::LogicalTime const & theTime,
00355       rti1516::OrderType receivedOrder)
00356       throw (rti1516::ObjectInstanceNotKnown,
00357       rti1516::FederateInternalError);
00358 
00359    virtual void removeObjectInstance(rti1516::ObjectInstanceHandle theObject,
00360       rti1516::VariableLengthData const & theUserSuppliedTag,
00361       rti1516::OrderType sentOrder,
00362       rti1516::LogicalTime const & theTime,
00363       rti1516::OrderType receivedOrder,
00364       rti1516::MessageRetractionHandle theHandle)
00365       throw (rti1516::ObjectInstanceNotKnown,
00366       rti1516::InvalidLogicalTime,
00367       rti1516::FederateInternalError);
00368 
00370    virtual void attributesInScope
00371       (rti1516::ObjectInstanceHandle theObject,
00372       rti1516::AttributeHandleSet const & theAttributes)
00373       throw (rti1516::ObjectInstanceNotKnown,
00374       rti1516::AttributeNotRecognized,
00375       rti1516::AttributeNotSubscribed,
00376       rti1516::FederateInternalError);
00377 
00379    virtual void attributesOutOfScope
00380       (rti1516::ObjectInstanceHandle theObject,
00381       rti1516::AttributeHandleSet const & theAttributes)
00382       throw (rti1516::ObjectInstanceNotKnown,
00383       rti1516::AttributeNotRecognized,
00384       rti1516::AttributeNotSubscribed,
00385       rti1516::FederateInternalError);
00386 
00388    virtual void provideAttributeValueUpdate
00389       (rti1516::ObjectInstanceHandle theObject,
00390       rti1516::AttributeHandleSet const & theAttributes,
00391       rti1516::VariableLengthData const & theUserSuppliedTag)
00392       throw (rti1516::ObjectInstanceNotKnown,
00393       rti1516::AttributeNotRecognized,
00394       rti1516::AttributeNotOwned,
00395       rti1516::FederateInternalError);
00396 
00398    virtual void turnUpdatesOnForObjectInstance
00399       (rti1516::ObjectInstanceHandle theObject,
00400       rti1516::AttributeHandleSet const & theAttributes)
00401       throw (rti1516::ObjectInstanceNotKnown,
00402       rti1516::AttributeNotRecognized,
00403       rti1516::AttributeNotOwned,
00404       rti1516::FederateInternalError);
00405 
00407    virtual void turnUpdatesOffForObjectInstance
00408       (rti1516::ObjectInstanceHandle theObject,
00409       rti1516::AttributeHandleSet const & theAttributes)
00410       throw (rti1516::ObjectInstanceNotKnown,
00411       rti1516::AttributeNotRecognized,
00412       rti1516::AttributeNotOwned,
00413       rti1516::FederateInternalError);
00414 
00418 
00420    virtual void requestAttributeOwnershipAssumption
00421       (rti1516::ObjectInstanceHandle theObject,
00422       rti1516::AttributeHandleSet const & offeredAttributes,
00423       rti1516::VariableLengthData const & theUserSuppliedTag)
00424       throw (rti1516::ObjectInstanceNotKnown,
00425       rti1516::AttributeNotRecognized,
00426       rti1516::AttributeAlreadyOwned,
00427       rti1516::AttributeNotPublished,
00428       rti1516::FederateInternalError);
00429 
00431    virtual void requestDivestitureConfirmation
00432       (rti1516::ObjectInstanceHandle theObject,
00433       rti1516::AttributeHandleSet const & releasedAttributes)
00434       throw (rti1516::ObjectInstanceNotKnown,
00435       rti1516::AttributeNotRecognized,
00436       rti1516::AttributeNotOwned,
00437       rti1516::AttributeDivestitureWasNotRequested,
00438       rti1516::FederateInternalError);
00439 
00441    virtual void attributeOwnershipAcquisitionNotification
00442       (rti1516::ObjectInstanceHandle theObject,
00443       rti1516::AttributeHandleSet const & securedAttributes,
00444       rti1516::VariableLengthData const & theUserSuppliedTag)
00445       throw (rti1516::ObjectInstanceNotKnown,
00446       rti1516::AttributeNotRecognized,
00447       rti1516::AttributeAcquisitionWasNotRequested,
00448       rti1516::AttributeAlreadyOwned,
00449       rti1516::AttributeNotPublished,
00450       rti1516::FederateInternalError);
00451 
00453    virtual void attributeOwnershipUnavailable
00454       (rti1516::ObjectInstanceHandle theObject,
00455       rti1516::AttributeHandleSet const & theAttributes)
00456       throw (rti1516::ObjectInstanceNotKnown,
00457       rti1516::AttributeNotRecognized,
00458       rti1516::AttributeAlreadyOwned,
00459       rti1516::AttributeAcquisitionWasNotRequested,
00460       rti1516::FederateInternalError);
00461 
00463    virtual void requestAttributeOwnershipRelease
00464       (rti1516::ObjectInstanceHandle theObject,
00465       rti1516::AttributeHandleSet const & candidateAttributes,
00466       rti1516::VariableLengthData const & theUserSuppliedTag)
00467       throw (rti1516::ObjectInstanceNotKnown,
00468       rti1516::AttributeNotRecognized,
00469       rti1516::AttributeNotOwned,
00470       rti1516::FederateInternalError);
00471 
00473    virtual void confirmAttributeOwnershipAcquisitionCancellation
00474       (rti1516::ObjectInstanceHandle theObject,
00475       rti1516::AttributeHandleSet const & theAttributes)
00476       throw (rti1516::ObjectInstanceNotKnown,
00477       rti1516::AttributeNotRecognized,
00478       rti1516::AttributeAlreadyOwned,
00479       rti1516::AttributeAcquisitionWasNotCanceled,
00480       rti1516::FederateInternalError);
00481 
00483    virtual void informAttributeOwnership(rti1516::ObjectInstanceHandle theObject,
00484       rti1516::AttributeHandle theAttribute,
00485       rti1516::FederateHandle theOwner)
00486       throw (rti1516::ObjectInstanceNotKnown,
00487       rti1516::AttributeNotRecognized,
00488       rti1516::FederateInternalError);
00489 
00490    virtual void attributeIsNotOwned(rti1516::ObjectInstanceHandle theObject,
00491       rti1516::AttributeHandle theAttribute)
00492       throw (rti1516::ObjectInstanceNotKnown,
00493       rti1516::AttributeNotRecognized,
00494       rti1516::FederateInternalError);
00495 
00496    virtual void attributeIsOwnedByRTI(rti1516::ObjectInstanceHandle theObject,
00497       rti1516::AttributeHandle theAttribute)
00498       throw (rti1516::ObjectInstanceNotKnown,
00499       rti1516::AttributeNotRecognized,
00500       rti1516::FederateInternalError);
00501 
00505 
00507    virtual void timeRegulationEnabled(rti1516::LogicalTime const & theFederateTime)
00508       throw (rti1516::InvalidLogicalTime,
00509       rti1516::NoRequestToEnableTimeRegulationWasPending,
00510       rti1516::FederateInternalError);
00511 
00513    virtual void timeConstrainedEnabled(rti1516::LogicalTime const & theFederateTime)
00514       throw (rti1516::InvalidLogicalTime,
00515       rti1516::NoRequestToEnableTimeConstrainedWasPending,
00516       rti1516::FederateInternalError);
00517 
00519    virtual void timeAdvanceGrant(rti1516::LogicalTime const & theTime)
00520       throw (rti1516::InvalidLogicalTime,
00521       rti1516::JoinedFederateIsNotInTimeAdvancingState,
00522       rti1516::FederateInternalError);
00523 
00525    virtual void requestRetraction(rti1516::MessageRetractionHandle theHandle)
00526       throw (rti1516::FederateInternalError);
00527 
00528 protected:
00529    
00531    virtual std::auto_ptr<rti1516::LogicalTime> copyTime(
00532       rti1516::LogicalTime const& timeValue);
00533 
00534 protected:
00535 
00536    DtFederateMgr* myFedMgr;
00537    DtFedAmbMsgQueue myFedAmbQueue;
00538    bool myQueueCallback;
00539    const MAKRti::DtString myName;
00540 };
00541 
00542 #endif //! DtIFSPEC1516
00543 #endif //! DtFedAmbCallbackQueue1516_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)