13 #ifndef DtVrlRtiAmbassador_H_
14 #define DtVrlRtiAmbassador_H_
45 virtual RTI::RTIambassador* rtiAmb();
47 virtual void createFederationExecution (
48 const char *executionName,
51 virtual void destroyFederationExecution (
52 const char *executionName) = 0;
54 virtual RTI::FederateHandle joinFederationExecution (
56 const char* executionName,
57 RTI::FederateAmbassadorPtr federateAmbassadorReference) = 0;
59 virtual void resignFederationExecution(
60 RTI::ResignAction theAction) = 0;
62 virtual void registerFederationSynchronizationPoint(
64 const char* theTag) = 0;
66 virtual void registerFederationSynchronizationPoint(
69 const RTI::FederateHandleSet& syncSet) = 0;
71 virtual void synchronizationPointAchieved(
72 const char* label) = 0;
74 virtual void requestFederationSave (
76 const RTI::FedTime& theTime) = 0;
78 virtual void requestFederationSave (
79 const char *label) = 0;
81 virtual void federateSaveBegun() = 0;
83 virtual void federateSaveComplete() = 0;
85 virtual void federateSaveNotComplete() = 0;
87 virtual void requestFederationRestore(
const char* label) = 0;
89 virtual void federateRestoreComplete() = 0;
91 virtual void federateRestoreNotComplete() = 0;
93 virtual void publishObjectClass(
94 RTI::ObjectClassHandle theClass,
95 const RTI::AttributeHandleSet& attributeList) = 0;
97 virtual void unpublishObjectClass(
98 RTI::ObjectClassHandle theClass) = 0;
100 virtual void publishInteractionClass(
101 RTI::InteractionClassHandle theInteraction) = 0;
103 virtual void unpublishInteractionClass(
104 RTI::InteractionClassHandle theInteraction) = 0;
106 virtual void subscribeObjectClassAttributes(
107 RTI::ObjectClassHandle theClass,
108 const RTI::AttributeHandleSet& attributeList,
109 RTI::Boolean active = RTI::RTI_TRUE) = 0;
111 virtual void unsubscribeObjectClass(
112 RTI::ObjectClassHandle theClass) = 0;
114 virtual void subscribeInteractionClass(
115 RTI::InteractionClassHandle theClass,
116 RTI::Boolean active = RTI::RTI_TRUE) = 0;
118 virtual void unsubscribeInteractionClass(
119 RTI::InteractionClassHandle theClass) = 0;
121 virtual RTI::ObjectHandle registerObjectInstance(
122 RTI::ObjectClassHandle theClass,
const char* theObject) = 0;
124 virtual RTI::ObjectHandle registerObjectInstance(
125 RTI::ObjectClassHandle theClass) = 0;
127 virtual RTI::EventRetractionHandle updateAttributeValues(
128 RTI::ObjectHandle theObject,
129 const RTI::AttributeHandleValuePairSet& theAttributes,
130 const RTI::FedTime& theTime,
131 const char* theTag) = 0;
133 virtual void updateAttributeValues(
134 RTI::ObjectHandle theObject,
135 const RTI::AttributeHandleValuePairSet& theAttributes,
136 const char* theTag) = 0;
138 virtual RTI::EventRetractionHandle sendInteraction(
139 RTI::InteractionClassHandle theInteraction,
140 const RTI::ParameterHandleValuePairSet& theParameters,
141 const RTI::FedTime& theTime,
142 const char* theTag) = 0;
144 virtual void sendInteraction(
145 RTI::InteractionClassHandle theInteraction,
146 const RTI::ParameterHandleValuePairSet& theParameters,
147 const char* theTag) = 0;
149 virtual RTI::EventRetractionHandle deleteObjectInstance(
150 RTI::ObjectHandle theObject,
151 const RTI::FedTime& theTime,
152 const char* theTag) = 0;
154 virtual void deleteObjectInstance(
155 RTI::ObjectHandle theObject,
156 const char* theTag) = 0;
158 virtual void localDeleteObjectInstance(
159 RTI::ObjectHandle theObject) = 0;
161 virtual void changeAttributeTransportationType (
162 RTI::ObjectHandle theObject,
163 const RTI::AttributeHandleSet& theAttributes,
164 RTI::TransportationHandle theType) = 0;
166 virtual void changeInteractionTransportationType (
167 RTI::InteractionClassHandle theClass,
168 RTI::TransportationHandle theType) = 0;
170 virtual void requestObjectAttributeValueUpdate (
171 RTI::ObjectHandle theObject,
172 const RTI::AttributeHandleSet& theAttributes) = 0;
174 virtual void requestClassAttributeValueUpdate (
175 RTI::ObjectClassHandle theClass,
176 const RTI::AttributeHandleSet& theAttributes) = 0;
178 virtual void unconditionalAttributeOwnershipDivestiture(
179 RTI::ObjectHandle theObject,
180 const RTI::AttributeHandleSet& theAttributes) = 0;
182 virtual void negotiatedAttributeOwnershipDivestiture(
183 RTI::ObjectHandle theObject,
184 const RTI::AttributeHandleSet& theAttributes,
185 const char* theTag) = 0;
187 virtual void attributeOwnershipAcquisition(
188 RTI::ObjectHandle theObject,
189 const RTI::AttributeHandleSet& desiredAttributes,
190 const char* theTag) = 0;
192 virtual void attributeOwnershipAcquisitionIfAvailable(
193 RTI::ObjectHandle theObject,
194 const RTI::AttributeHandleSet& desiredAttributes) = 0;
196 virtual RTI::AttributeHandleSet* attributeOwnershipReleaseResponse(
197 RTI::ObjectHandle theObject,
198 const RTI::AttributeHandleSet& theAttributes) = 0;
200 virtual void cancelNegotiatedAttributeOwnershipDivestiture(
201 RTI::ObjectHandle theObject,
202 const RTI::AttributeHandleSet& theAttributes) = 0;
204 virtual void cancelAttributeOwnershipAcquisition(
205 RTI::ObjectHandle theObject,
206 const RTI::AttributeHandleSet& theAttributes) = 0;
208 virtual void queryAttributeOwnership(
209 RTI::ObjectHandle theObject,
210 RTI::AttributeHandle theAttribute) = 0;
212 virtual RTI::Boolean isAttributeOwnedByFederate(
213 RTI::ObjectHandle theObject,
214 RTI::AttributeHandle theAttribute) = 0;
216 virtual void enableTimeRegulation (
217 const RTI::FedTime& theFederateTime,
218 const RTI::FedTime& theLookahead) = 0;
220 virtual void disableTimeRegulation() = 0;
222 virtual void enableTimeConstrained() = 0;
224 virtual void disableTimeConstrained() = 0;
226 virtual void timeAdvanceRequest(
227 const RTI::FedTime& theTime) = 0;
229 virtual void timeAdvanceRequestAvailable (
230 const RTI::FedTime& theTime) = 0;
232 virtual void nextEventRequest(
233 const RTI::FedTime& theTime) = 0;
235 virtual void nextEventRequestAvailable (
236 const RTI::FedTime& theTime) = 0;
238 virtual void flushQueueRequest (
239 const RTI::FedTime& theTime) = 0;
241 virtual void enableAsynchronousDelivery() = 0;
243 virtual void disableAsynchronousDelivery() = 0;
245 virtual void queryLBTS(RTI::FedTime& theTime) = 0;
247 virtual void queryFederateTime(RTI::FedTime& theTime) = 0;
249 virtual void queryMinNextEventTime (
250 RTI::FedTime& theTime) = 0;
252 virtual void modifyLookahead (
253 const RTI::FedTime& theLookahead) = 0;
255 virtual void queryLookahead (
256 RTI::FedTime& theTime) = 0;
258 virtual void retract(
259 RTI::EventRetractionHandle theHandle) = 0;
261 virtual void changeAttributeOrderType(
262 RTI::ObjectHandle theObject,
263 const RTI::AttributeHandleSet& theAttributes,
264 RTI::OrderingHandle theType) = 0;
266 virtual void changeInteractionOrderType(
267 RTI::InteractionClassHandle theClass,
268 RTI::OrderingHandle theType) = 0;
270 virtual RTI::Region* createRegion (
271 RTI::SpaceHandle theSpace,
272 RTI::ULong numberOfExtents) = 0;
274 virtual void notifyAboutRegionModification (
275 RTI::Region &theRegion) = 0;
277 virtual void deleteRegion(RTI::Region *theRegion) = 0;
279 virtual RTI::ObjectHandle registerObjectInstanceWithRegion(
280 RTI::ObjectClassHandle theClass,
281 const char* theObject,
282 RTI::AttributeHandle theAttributes[],
283 RTI::Region* theRegions[],
284 RTI::ULong theNumberOfHandles) = 0;
286 virtual RTI::ObjectHandle registerObjectInstanceWithRegion(
287 RTI::ObjectClassHandle theClass,
288 RTI::AttributeHandle theAttributes[],
289 RTI::Region* theRegions[],
290 RTI::ULong theNumberOfHandles) = 0;
292 virtual void associateRegionForUpdates (
293 RTI::Region& theRegion,
294 RTI::ObjectHandle theObject,
295 const RTI::AttributeHandleSet& theAttributes) = 0;
297 virtual void unassociateRegionForUpdates(
298 RTI::Region& theRegion,
299 RTI::ObjectHandle theObject) = 0;
301 virtual void subscribeObjectClassAttributesWithRegion(
302 RTI::ObjectClassHandle theClass,
303 RTI::Region& theRegion,
304 const RTI::AttributeHandleSet &attributeList,
305 RTI::Boolean active = RTI::RTI_TRUE) = 0;
307 virtual void unsubscribeObjectClassWithRegion(
308 RTI::ObjectClassHandle theClass,
309 RTI::Region& theRegion) = 0;
311 virtual void subscribeInteractionClassWithRegion (
312 RTI::InteractionClassHandle theClass,
313 RTI::Region& theRegion,
314 RTI::Boolean active = RTI::RTI_TRUE) = 0;
316 virtual void unsubscribeInteractionClassWithRegion (
317 RTI::InteractionClassHandle theClass,
318 RTI::Region& theRegion) = 0;
320 virtual RTI::EventRetractionHandle sendInteractionWithRegion(
321 RTI::InteractionClassHandle theInteraction,
322 const RTI::ParameterHandleValuePairSet &theParameters,
323 const RTI::FedTime& theTime,
325 const RTI::Region& theRegion) = 0;
327 virtual void sendInteractionWithRegion(
328 RTI::InteractionClassHandle theInteraction,
329 const RTI::ParameterHandleValuePairSet &theParameters,
331 const RTI::Region& theRegion) = 0;
333 virtual void requestClassAttributeValueUpdateWithRegion(
334 RTI::ObjectClassHandle theClass,
335 const RTI::AttributeHandleSet& theAttributes,
336 const RTI::Region& theRegion) = 0;
338 virtual RTI::ObjectClassHandle getObjectClassHandle (
339 const char* theName) = 0;
341 virtual char* getObjectClassName (
342 RTI::ObjectClassHandle theHandle) = 0;
344 virtual RTI::AttributeHandle getAttributeHandle (
346 RTI::ObjectClassHandle whichClass) = 0;
348 virtual char* getAttributeName (
349 RTI::AttributeHandle theHandle,
350 RTI::ObjectClassHandle whichClass) = 0;
352 virtual RTI::InteractionClassHandle getInteractionClassHandle (
353 const char* theName) = 0;
355 virtual char* getInteractionClassName (
356 RTI::InteractionClassHandle theHandle) = 0;
358 virtual RTI::ParameterHandle getParameterHandle (
360 RTI::InteractionClassHandle whichClass) = 0;
362 virtual char* getParameterName (
363 RTI::ParameterHandle theHandle,
364 RTI::InteractionClassHandle whichClass) = 0;
366 virtual RTI::ObjectHandle getObjectInstanceHandle(
367 const char* theName) = 0;
369 virtual char* getObjectInstanceName(
370 RTI::ObjectHandle theHandle) = 0;
372 virtual RTI::SpaceHandle getRoutingSpaceHandle (
373 const char* theName) = 0;
375 virtual const char* getRoutingSpaceName (
376 const RTI::SpaceHandle theHandle) = 0;
378 virtual RTI::DimensionHandle getDimensionHandle(
380 RTI::SpaceHandle whichSpace) = 0;
382 virtual char* getDimensionName(
383 RTI::DimensionHandle theHandle,
384 RTI::SpaceHandle whichSpace) = 0;
386 virtual RTI::SpaceHandle
387 getAttributeRoutingSpaceHandle(
388 RTI::AttributeHandle theHandle,
389 RTI::ObjectClassHandle whichClass) = 0;
391 virtual RTI::ObjectClassHandle getObjectClass (
392 RTI::ObjectHandle theObject) = 0;
394 virtual RTI::SpaceHandle getInteractionRoutingSpaceHandle(
395 RTI::InteractionClassHandle theHandle) = 0;
397 virtual RTI::TransportationHandle getTransportationHandle(
398 const char *theName) = 0;
400 virtual char* getTransportationName(
401 RTI::TransportationHandle theHandle) = 0;
403 virtual RTI::OrderingHandle getOrderingHandle(
404 const char *theName) = 0;
406 virtual char* getOrderingName(
407 RTI::OrderingHandle theHandle) = 0;
409 virtual void enableClassRelevanceAdvisorySwitch() = 0;
411 virtual void disableClassRelevanceAdvisorySwitch() = 0;
413 virtual void enableAttributeRelevanceAdvisorySwitch() = 0;
415 virtual void disableAttributeRelevanceAdvisorySwitch() = 0;
417 virtual void enableAttributeScopeAdvisorySwitch() = 0;
419 virtual void disableAttributeScopeAdvisorySwitch() = 0;
421 virtual void enableInteractionRelevanceAdvisorySwitch() = 0;
423 virtual void disableInteractionRelevanceAdvisorySwitch() = 0;
425 virtual RTI::Boolean tick() = 0;
427 virtual RTI::Boolean tick(
428 RTI::TickTime minimum,
429 RTI::TickTime maximum) = 0;
431 virtual RTI::RegionToken getRegionToken(RTI::Region*) = 0;
433 virtual RTI::Region* getRegion(RTI::RegionToken) = 0;