![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 2007 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: fedAmbCallbackQueue13.h,v $ $Revision: 1.4 $ $State: Exp $ 00007 *********************************************************************/ 00008 00009 #ifndef DtFedAmbCallbackQueue13_h 00010 #define DtDtFedAmbCallbackQueue13_h 00011 #ifdef DtIFSPEC13 00012 00015 00016 #include <queue> 00017 #include "fedAmbWrap.h" 00018 #include "rtiMsg.h" 00019 00020 typedef std::queue<DtRtiMsg*> DtFedAmbMsgQueue; 00021 00022 class DtFederateMgr; 00023 00027 class DT_DLL_LRC DtCallbackQueue : public DtFedAmbWrapper 00028 { 00029 public: 00030 00032 DtCallbackQueue(DtFederateMgr* fedMgr = 0); 00033 00035 virtual ~DtCallbackQueue() throw (RTI::FederateInternalError); 00036 00037 private: 00039 DtCallbackQueue(DtCallbackQueue const& orig); 00041 DtCallbackQueue& operator = (DtCallbackQueue const& orig); 00042 00043 public: 00044 00046 virtual void enableQueue(); 00047 00049 virtual void disableQueue(); 00050 00052 MAKRti::DtString const& name() const; 00053 00055 virtual DtRtiMsg* popMessage(); 00056 00060 00061 virtual void synchronizationPointRegistrationSucceeded ( 00062 const char *label) throw (RTI::FederateInternalError); 00063 00064 virtual void synchronizationPointRegistrationFailed ( 00065 const char *label) throw (RTI::FederateInternalError); 00066 00067 virtual void announceSynchronizationPoint ( 00068 const char *label, 00069 const char *tag) throw (RTI::FederateInternalError); 00070 00071 virtual void federationSynchronized ( 00072 const char *label) throw (RTI::FederateInternalError); 00073 00074 virtual void initiateFederateSave ( 00075 const char *label) throw (RTI::FederateInternalError); 00076 00077 virtual void federationSaved () throw (RTI::FederateInternalError); 00078 00079 virtual void federationNotSaved () throw (RTI::FederateInternalError); 00080 00081 virtual void requestFederationRestoreSucceeded ( 00082 const char *label) throw (RTI::FederateInternalError); 00083 00084 virtual void requestFederationRestoreFailed ( 00085 const char *label, 00086 const char *reason) throw (RTI::FederateInternalError); 00087 00088 virtual void federationRestoreBegun () throw (RTI::FederateInternalError); 00089 00090 virtual void initiateFederateRestore ( 00091 const char *label, 00092 RTI::FederateHandle handle) throw (RTI::FederateInternalError); 00093 00094 virtual void federationRestored () throw (RTI::FederateInternalError); 00095 00096 virtual void federationNotRestored () throw (RTI::FederateInternalError); 00097 00101 00102 virtual void startRegistrationForObjectClass ( 00103 RTI::ObjectClassHandle theClass) throw (RTI::FederateInternalError); 00104 00105 virtual void stopRegistrationForObjectClass ( 00106 RTI::ObjectClassHandle theClass) throw (RTI::FederateInternalError); 00107 00108 virtual void turnInteractionsOn ( 00109 RTI::InteractionClassHandle theHandle) throw (RTI::FederateInternalError); 00110 00111 virtual void turnInteractionsOff ( 00112 RTI::InteractionClassHandle theHandle) throw (RTI::FederateInternalError); 00113 00117 00118 virtual void discoverObjectInstance ( 00119 RTI::ObjectHandle theObject, 00120 RTI::ObjectClassHandle theObjectClass, 00121 const char* theObjectName) throw (RTI::FederateInternalError); 00122 00123 virtual void reflectAttributeValues ( 00124 RTI::ObjectHandle theObject, 00125 const RTI::AttributeHandleValuePairSet& theAttributes, 00126 const RTI::FedTime& theTime, 00127 const char *theTag, 00128 RTI::EventRetractionHandle theHandle) throw (RTI::FederateInternalError); 00129 00130 virtual void reflectAttributeValues ( 00131 RTI::ObjectHandle theObject, 00132 const RTI::AttributeHandleValuePairSet& theAttributes, 00133 const char *theTag) throw (RTI::FederateInternalError); 00134 00136 virtual void receiveInteraction ( 00137 RTI::InteractionClassHandle theInteraction, 00138 const RTI::ParameterHandleValuePairSet& theParameters, 00139 const RTI::FedTime& theTime, 00140 const char *theTag, 00141 RTI::EventRetractionHandle theHandle) throw (RTI::FederateInternalError); 00142 00143 virtual void receiveInteraction ( 00144 RTI::InteractionClassHandle theInteraction, 00145 const RTI::ParameterHandleValuePairSet& theParameters, 00146 const char *theTag) throw (RTI::FederateInternalError); 00147 00148 virtual void removeObjectInstance ( 00149 RTI::ObjectHandle theObject, 00150 const RTI::FedTime& theTime, 00151 const char *theTag, 00152 RTI::EventRetractionHandle theHandle) throw (RTI::FederateInternalError); 00153 00154 virtual void removeObjectInstance ( 00155 RTI::ObjectHandle theObject, 00156 const char *theTag) throw (RTI::FederateInternalError); 00157 00158 virtual void attributesInScope ( 00159 RTI::ObjectHandle theObject, 00160 const RTI::AttributeHandleSet& theAttributes) throw (RTI::FederateInternalError); 00161 00162 virtual void attributesOutOfScope ( 00163 RTI::ObjectHandle theObject, 00164 const RTI::AttributeHandleSet& theAttributes) throw (RTI::FederateInternalError); 00165 00166 virtual void provideAttributeValueUpdate ( 00167 RTI::ObjectHandle theObject, 00168 const RTI::AttributeHandleSet& theAttributes) throw (RTI::FederateInternalError); 00169 00170 virtual void turnUpdatesOnForObjectInstance ( 00171 RTI::ObjectHandle theObject, 00172 const RTI::AttributeHandleSet& theAttributes) throw (RTI::FederateInternalError); 00173 00174 virtual void turnUpdatesOffForObjectInstance ( 00175 RTI::ObjectHandle theObject, 00176 const RTI::AttributeHandleSet& theAttributes) throw (RTI::FederateInternalError); 00177 00181 00182 virtual void requestAttributeOwnershipAssumption ( 00183 RTI::ObjectHandle theObject, 00184 const RTI::AttributeHandleSet& offeredAttributes, 00185 const char *theTag) throw (RTI::FederateInternalError); 00186 00187 virtual void attributeOwnershipDivestitureNotification ( 00188 RTI::ObjectHandle theObject, 00189 const RTI::AttributeHandleSet& releasedAttributes) throw (RTI::FederateInternalError); 00190 00191 virtual void attributeOwnershipAcquisitionNotification ( 00192 RTI::ObjectHandle theObject, 00193 const RTI::AttributeHandleSet& securedAttributes) throw (RTI::FederateInternalError); 00194 00195 virtual void attributeOwnershipUnavailable ( 00196 RTI::ObjectHandle theObject, 00197 const RTI::AttributeHandleSet& theAttributes) throw (RTI::FederateInternalError); 00198 00199 virtual void requestAttributeOwnershipRelease ( 00200 RTI::ObjectHandle theObject, 00201 const RTI::AttributeHandleSet& candidateAttributes, 00202 const char *theTag) throw (RTI::FederateInternalError); 00203 00204 virtual void confirmAttributeOwnershipAcquisitionCancellation ( 00205 RTI::ObjectHandle theObject, 00206 const RTI::AttributeHandleSet& theAttributes) throw (RTI::FederateInternalError); 00207 00208 virtual void informAttributeOwnership ( 00209 RTI::ObjectHandle theObject, 00210 RTI::AttributeHandle theAttribute, 00211 RTI::FederateHandle theOwner) throw (RTI::FederateInternalError); 00212 00213 virtual void attributeIsNotOwned ( 00214 RTI::ObjectHandle theObject, 00215 RTI::AttributeHandle theAttribute) throw (RTI::FederateInternalError); 00216 00217 virtual void attributeOwnedByRTI ( 00218 RTI::ObjectHandle theObject, 00219 RTI::AttributeHandle theAttribute) throw (RTI::FederateInternalError); 00220 00224 00225 virtual void timeRegulationEnabled ( 00226 const RTI::FedTime& theFederateTime) throw (RTI::FederateInternalError); 00227 00228 virtual void timeConstrainedEnabled ( 00229 const RTI::FedTime& theFederateTime) throw (RTI::FederateInternalError); 00230 00231 virtual void timeAdvanceGrant ( 00232 const RTI::FedTime& theTime) throw (RTI::FederateInternalError); 00233 00234 virtual void requestRetraction ( 00235 RTI::EventRetractionHandle theHandle) throw (RTI::FederateInternalError); 00236 00237 protected: 00238 00240 virtual std::auto_ptr<RTI::FedTime> copyTime(RTI::FedTime const& timeValue); 00241 00242 protected: 00243 00244 DtFederateMgr* myFedMgr; 00245 DtFedAmbMsgQueue myFedAmbQueue; 00246 bool myQueueCallback; 00247 const MAKRti::DtString myName; 00248 00249 }; 00250 00251 #endif //! DtIFSPEC1516 00252 #endif //! DtCallbackQueue13_h