MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
fedAmbCallbackQueue13.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2007 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: fedAmbCallbackQueue13.h,v $ $Revision: 1.4 $ $State: Exp $
7 *********************************************************************/
8 
9 #ifndef DtFedAmbCallbackQueue13_h
10 #define DtDtFedAmbCallbackQueue13_h
11 #ifdef DtIFSPEC13
12 
15 
16 #include <queue>
17 #include "fedAmbWrap.h"
18 #include "rtiMsg.h"
19 
20 typedef std::queue<DtRtiMsg*> DtFedAmbMsgQueue;
21 
22 class DtFederateMgr;
24 
28 class DT_DLL_LRC DtCallbackQueue : public DtFedAmbWrapper
29 {
30 public:
31 
33  DtCallbackQueue(DtFederateMgr* fedMgr = 0);
34 
36  virtual ~DtCallbackQueue() throw (RTI::FederateInternalError);
37 
38 private:
40  DtCallbackQueue(DtCallbackQueue const& orig);
42  DtCallbackQueue& operator = (DtCallbackQueue const& orig);
43 
44 public:
45 
47  virtual void enableQueue();
48 
50  virtual void disableQueue();
51 
53  MAKRti::DtString const& name() const;
54 
56  virtual DtRtiMsg* popMessage();
57 
59  virtual bool isEmpty();
60 
64 
66  const char *label) throw (RTI::FederateInternalError);
67 
69  const char *label) throw (RTI::FederateInternalError);
70 
71  virtual void announceSynchronizationPoint (
72  const char *label,
73  const char *tag) throw (RTI::FederateInternalError);
74 
75  virtual void federationSynchronized (
76  const char *label) throw (RTI::FederateInternalError);
77 
78  virtual void initiateFederateSave (
79  const char *label) throw (RTI::FederateInternalError);
80 
81  virtual void federationSaved () throw (RTI::FederateInternalError);
82 
83  virtual void federationNotSaved () throw (RTI::FederateInternalError);
84 
86  const char *label) throw (RTI::FederateInternalError);
87 
88  virtual void requestFederationRestoreFailed (
89  const char *label,
90  const char *reason) throw (RTI::FederateInternalError);
91 
92  virtual void federationRestoreBegun () throw (RTI::FederateInternalError);
93 
94  virtual void initiateFederateRestore (
95  const char *label,
96  RTI::FederateHandle handle) throw (RTI::FederateInternalError);
97 
98  virtual void federationRestored () throw (RTI::FederateInternalError);
99 
100  virtual void federationNotRestored () throw (RTI::FederateInternalError);
101 
105 
106  virtual void startRegistrationForObjectClass (
107  RTI::ObjectClassHandle theClass) throw (RTI::FederateInternalError);
108 
109  virtual void stopRegistrationForObjectClass (
110  RTI::ObjectClassHandle theClass) throw (RTI::FederateInternalError);
111 
112  virtual void turnInteractionsOn (
113  RTI::InteractionClassHandle theHandle) throw (RTI::FederateInternalError);
114 
115  virtual void turnInteractionsOff (
116  RTI::InteractionClassHandle theHandle) throw (RTI::FederateInternalError);
117 
121 
122  virtual void discoverObjectInstance (
123  RTI::ObjectHandle theObject,
124  RTI::ObjectClassHandle theObjectClass,
125  const char* theObjectName) throw (RTI::FederateInternalError);
126 
127  virtual void reflectAttributeValues (
128  RTI::ObjectHandle theObject,
129  const RTI::AttributeHandleValuePairSet& theAttributes,
130  const RTI::FedTime& theTime,
131  const char *theTag,
132  RTI::EventRetractionHandle theHandle) throw (RTI::FederateInternalError);
133 
134  virtual void reflectAttributeValues (
135  RTI::ObjectHandle theObject,
136  const RTI::AttributeHandleValuePairSet& theAttributes,
137  const char *theTag) throw (RTI::FederateInternalError);
138 
140  virtual void receiveInteraction (
141  RTI::InteractionClassHandle theInteraction,
142  const RTI::ParameterHandleValuePairSet& theParameters,
143  const RTI::FedTime& theTime,
144  const char *theTag,
145  RTI::EventRetractionHandle theHandle) throw (RTI::FederateInternalError);
146 
147  virtual void receiveInteraction (
148  RTI::InteractionClassHandle theInteraction,
149  const RTI::ParameterHandleValuePairSet& theParameters,
150  const char *theTag) throw (RTI::FederateInternalError);
151 
152  virtual void removeObjectInstance (
153  RTI::ObjectHandle theObject,
154  const RTI::FedTime& theTime,
155  const char *theTag,
156  RTI::EventRetractionHandle theHandle) throw (RTI::FederateInternalError);
157 
158  virtual void removeObjectInstance (
159  RTI::ObjectHandle theObject,
160  const char *theTag) throw (RTI::FederateInternalError);
161 
162  virtual void attributesInScope (
163  RTI::ObjectHandle theObject,
164  const RTI::AttributeHandleSet& theAttributes) throw (RTI::FederateInternalError);
165 
166  virtual void attributesOutOfScope (
167  RTI::ObjectHandle theObject,
168  const RTI::AttributeHandleSet& theAttributes) throw (RTI::FederateInternalError);
169 
170  virtual void provideAttributeValueUpdate (
171  RTI::ObjectHandle theObject,
172  const RTI::AttributeHandleSet& theAttributes) throw (RTI::FederateInternalError);
173 
174  virtual void turnUpdatesOnForObjectInstance (
175  RTI::ObjectHandle theObject,
176  const RTI::AttributeHandleSet& theAttributes) throw (RTI::FederateInternalError);
177 
178  virtual void turnUpdatesOffForObjectInstance (
179  RTI::ObjectHandle theObject,
180  const RTI::AttributeHandleSet& theAttributes) throw (RTI::FederateInternalError);
181 
185 
187  RTI::ObjectHandle theObject,
188  const RTI::AttributeHandleSet& offeredAttributes,
189  const char *theTag) throw (RTI::FederateInternalError);
190 
192  RTI::ObjectHandle theObject,
193  const RTI::AttributeHandleSet& releasedAttributes) throw (RTI::FederateInternalError);
194 
196  RTI::ObjectHandle theObject,
197  const RTI::AttributeHandleSet& securedAttributes) throw (RTI::FederateInternalError);
198 
199  virtual void attributeOwnershipUnavailable (
200  RTI::ObjectHandle theObject,
201  const RTI::AttributeHandleSet& theAttributes) throw (RTI::FederateInternalError);
202 
203  virtual void requestAttributeOwnershipRelease (
204  RTI::ObjectHandle theObject,
205  const RTI::AttributeHandleSet& candidateAttributes,
206  const char *theTag) throw (RTI::FederateInternalError);
207 
209  RTI::ObjectHandle theObject,
210  const RTI::AttributeHandleSet& theAttributes) throw (RTI::FederateInternalError);
211 
212  virtual void informAttributeOwnership (
213  RTI::ObjectHandle theObject,
214  RTI::AttributeHandle theAttribute,
215  RTI::FederateHandle theOwner) throw (RTI::FederateInternalError);
216 
217  virtual void attributeIsNotOwned (
218  RTI::ObjectHandle theObject,
219  RTI::AttributeHandle theAttribute) throw (RTI::FederateInternalError);
220 
221  virtual void attributeOwnedByRTI (
222  RTI::ObjectHandle theObject,
223  RTI::AttributeHandle theAttribute) throw (RTI::FederateInternalError);
224 
228 
229  virtual void timeRegulationEnabled (
230  const RTI::FedTime& theFederateTime) throw (RTI::FederateInternalError);
231 
232  virtual void timeConstrainedEnabled (
233  const RTI::FedTime& theFederateTime) throw (RTI::FederateInternalError);
234 
235  virtual void timeAdvanceGrant (
236  const RTI::FedTime& theTime) throw (RTI::FederateInternalError);
237 
238  virtual void requestRetraction (
239  RTI::EventRetractionHandle theHandle) throw (RTI::FederateInternalError);
240 
241 protected:
242 
244  virtual DtRtiApiUniquePtrTime copyTime(RTI::FedTime const& timeValue);
245 
247  virtual void queueCallback(DtFedAmbCallbackMsg* callbackMsg, bool stampWithFedex = true);
248 
249 protected:
250 
251  DtFederateMgr* myFedMgr;
252  DtFedAmbMsgQueue myFedAmbQueue;
253  bool myQueueCallback;
254  const MAKRti::DtString myName;
255 
256 };
257 
258 #endif
259 #endif
Handle ObjectHandle
Definition: RTItypes13.h:116
virtual void requestAttributeOwnershipRelease(ObjectHandle theObject, const AttributeHandleSet &candidateAttributes, const char *theTag)=0
7.10
virtual void attributesOutOfScope(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
6.14
virtual void informAttributeOwnership(ObjectHandle theObject, AttributeHandle theAttribute, FederateHandle theOwner)=0
7.16
virtual void attributeOwnershipDivestitureNotification(ObjectHandle theObject, const AttributeHandleSet &releasedAttributes)=0
7.5
virtual void initiateFederateRestore(const char *label, FederateHandle handle)=0
4.19
virtual void confirmAttributeOwnershipAcquisitionCancellation(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
7.14
virtual void startRegistrationForObjectClass(ObjectClassHandle theClass)=0
! Declaration Management Services //!
virtual void requestRetraction(EventRetractionHandle theHandle)=0
8.22
virtual void synchronizationPointRegistrationFailed(const char *label)=0
supplied C4)
ULong InteractionClassHandle
Definition: RTItypes13.h:106
virtual void federationNotRestored()=0
virtual void attributesInScope(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
6.13
virtual void attributeOwnershipUnavailable(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
7.9
virtual void attributeOwnedByRTI(ObjectHandle theObject, AttributeHandle theAttribute)=0
supplied C1
virtual void receiveInteraction(InteractionClassHandle theInteraction, const ParameterHandleValuePairSet &theParameters, const FedTime &theTime, const char *theTag, EventRetractionHandle theHandle)=0
6.7
virtual void removeObjectInstance(ObjectHandle theObject, const FedTime &theTime, const char *theTag, EventRetractionHandle theHandle)=0
6.9
virtual void synchronizationPointRegistrationSucceeded(const char *label)=0
RTI Parameter Passing Memory Conventions.
Instances of DtFederateMgr process federation-level messages (such as create, destroy, join, resign, and sync points) and manages the objects responsible for handling general communication, objects, interactions, the FOM, MOM, and data distribution mmg.
Definition: fedMgr.h:93
virtual void initiateFederateSave(const char *label)=0
4.12
struct EventRetractionHandle_s EventRetractionHandle
Definition: RTItypes13.h:525
DtRtiMsg is the base class for messages between RTI components.
Definition: rtiMsg.h:34
virtual void timeAdvanceGrant(const FedTime &theTime)=0
8.13
virtual void announceSynchronizationPoint(const char *label, const char *tag)=0
4.8
virtual void requestFederationRestoreFailed(const char *label, const char *reason)=0
supplied C4
virtual void federationNotSaved()=0
virtual void federationSynchronized(const char *label)=0
4.10
virtual void discoverObjectInstance(ObjectHandle theObject, ObjectClassHandle theObjectClass, const char *theObjectName)=0
! Object Management Services //!
virtual void requestFederationRestoreSucceeded(const char *label)=0
4.17
virtual void attributeOwnershipAcquisitionNotification(ObjectHandle theObject, const AttributeHandleSet &securedAttributes)=0
7.6
virtual void reflectAttributeValues(ObjectHandle theObject, const AttributeHandleValuePairSet &theAttributes, const FedTime &theTime, const char *theTag, EventRetractionHandle theHandle)=0
6.5
DtRtiApiUniquePtr< DtRtiApiTime > DtRtiApiUniquePtrTime
Definition: rtiApiTypes.h:96
virtual void turnInteractionsOff(InteractionClassHandle theHandle)=0
5.13
virtual void federationRestored()=0
4.21
virtual void provideAttributeValueUpdate(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
6.16
virtual void turnUpdatesOffForObjectInstance(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
6.18
ULong FederateHandle
Definition: RTItypes13.h:120
virtual void requestAttributeOwnershipAssumption(ObjectHandle theObject, const AttributeHandleSet &offeredAttributes, const char *theTag)=0
! Ownership Management Services //!
virtual Boolean throw(SpecifiedSaveLabelDoesNotExist, ConcurrentAccessAttempted, RTIinternalError)
virtual void turnUpdatesOnForObjectInstance(ObjectHandle theObject, const AttributeHandleSet &theAttributes)=0
6.17
virtual void stopRegistrationForObjectClass(ObjectClassHandle theClass)=0
5.11
virtual void attributeIsNotOwned(ObjectHandle theObject, AttributeHandle theAttribute)=0
supplied C1
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
virtual void federationRestoreBegun()=0
4.18
virtual void federationSaved()=0
4.15
ULong ObjectClassHandle
Definition: RTItypes13.h:104
virtual void timeConstrainedEnabled(const FedTime &theFederateTime)=0
8.6
virtual void timeRegulationEnabled(const FedTime &theFederateTime)=0
! Time Management Services //!
A message that delivers stored callbacks generated by asynchronous thread.
Definition: fedAmbCallbackMsg.h:34
virtual void turnInteractionsOn(InteractionClassHandle theHandle)=0
5.12
Handle AttributeHandle
Definition: RTItypes13.h:112

Document ID: Generated on Wed Jul 8 16:20:32 EDT 2026 from SVN revision 291616
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)