12 #if !DtHLA_1516_EVOLVED
14 #ifndef DtVrlRtiAmbassador_H_
15 #define DtVrlRtiAmbassador_H_
46 virtual RTI::RTIambassador* rtiAmb();
48 virtual void createFederationExecution (
49 const char *executionName,
52 virtual void destroyFederationExecution (
53 const char *executionName) = 0;
55 virtual RTI::FederateHandle joinFederationExecution (
57 const char* executionName,
58 RTI::FederateAmbassadorPtr federateAmbassadorReference) = 0;
60 virtual void resignFederationExecution(
61 RTI::ResignAction theAction) = 0;
63 virtual void registerFederationSynchronizationPoint(
65 const char* theTag) = 0;
67 virtual void registerFederationSynchronizationPoint(
70 const RTI::FederateHandleSet& syncSet) = 0;
72 virtual void synchronizationPointAchieved(
73 const char* label) = 0;
75 virtual void requestFederationSave (
77 const RTI::FedTime& theTime) = 0;
79 virtual void requestFederationSave (
80 const char *label) = 0;
82 virtual void federateSaveBegun() = 0;
84 virtual void federateSaveComplete() = 0;
86 virtual void federateSaveNotComplete() = 0;
88 virtual void requestFederationRestore(
const char* label) = 0;
90 virtual void federateRestoreComplete() = 0;
92 virtual void federateRestoreNotComplete() = 0;
94 virtual void publishObjectClass(
95 RTI::ObjectClassHandle theClass,
96 const RTI::AttributeHandleSet& attributeList) = 0;
98 virtual void unpublishObjectClass(
99 RTI::ObjectClassHandle theClass) = 0;
101 virtual void publishInteractionClass(
102 RTI::InteractionClassHandle theInteraction) = 0;
104 virtual void unpublishInteractionClass(
105 RTI::InteractionClassHandle theInteraction) = 0;
107 virtual void subscribeObjectClassAttributes(
108 RTI::ObjectClassHandle theClass,
109 const RTI::AttributeHandleSet& attributeList,
110 RTI::Boolean active = RTI::RTI_TRUE) = 0;
112 virtual void unsubscribeObjectClass(
113 RTI::ObjectClassHandle theClass) = 0;
115 virtual void subscribeInteractionClass(
116 RTI::InteractionClassHandle theClass,
117 RTI::Boolean active = RTI::RTI_TRUE) = 0;
119 virtual void unsubscribeInteractionClass(
120 RTI::InteractionClassHandle theClass) = 0;
123 RTI::ObjectClassHandle theClass,
const char* theObject) = 0;
126 RTI::ObjectClassHandle theClass) = 0;
128 virtual RTI::EventRetractionHandle updateAttributeValues(
131 const RTI::FedTime& theTime,
132 const char* theTag) = 0;
134 virtual void updateAttributeValues(
137 const char* theTag) = 0;
139 virtual RTI::EventRetractionHandle sendInteraction(
140 RTI::InteractionClassHandle theInteraction,
142 const RTI::FedTime& theTime,
143 const char* theTag) = 0;
145 virtual void sendInteraction(
146 RTI::InteractionClassHandle theInteraction,
148 const char* theTag) = 0;
150 virtual RTI::EventRetractionHandle deleteObjectInstance(
152 const RTI::FedTime& theTime,
153 const char* theTag) = 0;
155 virtual void deleteObjectInstance(
157 const char* theTag) = 0;
159 virtual void localDeleteObjectInstance(
162 virtual void changeAttributeTransportationType (
164 const RTI::AttributeHandleSet& theAttributes,
165 RTI::TransportationHandle theType) = 0;
167 virtual void changeInteractionTransportationType (
168 RTI::InteractionClassHandle theClass,
169 RTI::TransportationHandle theType) = 0;
171 virtual void requestObjectAttributeValueUpdate (
173 const RTI::AttributeHandleSet& theAttributes) = 0;
175 virtual void requestClassAttributeValueUpdate (
176 RTI::ObjectClassHandle theClass,
177 const RTI::AttributeHandleSet& theAttributes) = 0;
179 virtual void unconditionalAttributeOwnershipDivestiture(
181 const RTI::AttributeHandleSet& theAttributes) = 0;
183 virtual void negotiatedAttributeOwnershipDivestiture(
185 const RTI::AttributeHandleSet& theAttributes,
186 const char* theTag) = 0;
188 virtual void attributeOwnershipAcquisition(
190 const RTI::AttributeHandleSet& desiredAttributes,
191 const char* theTag) = 0;
193 virtual void attributeOwnershipAcquisitionIfAvailable(
195 const RTI::AttributeHandleSet& desiredAttributes) = 0;
197 virtual RTI::AttributeHandleSet* attributeOwnershipReleaseResponse(
199 const RTI::AttributeHandleSet& theAttributes) = 0;
201 virtual void cancelNegotiatedAttributeOwnershipDivestiture(
203 const RTI::AttributeHandleSet& theAttributes) = 0;
205 virtual void cancelAttributeOwnershipAcquisition(
207 const RTI::AttributeHandleSet& theAttributes) = 0;
209 virtual void queryAttributeOwnership(
211 RTI::AttributeHandle theAttribute) = 0;
213 virtual RTI::Boolean isAttributeOwnedByFederate(
215 RTI::AttributeHandle theAttribute) = 0;
217 virtual void enableTimeRegulation (
218 const RTI::FedTime& theFederateTime,
219 const RTI::FedTime& theLookahead) = 0;
221 virtual void disableTimeRegulation() = 0;
223 virtual void enableTimeConstrained() = 0;
225 virtual void disableTimeConstrained() = 0;
227 virtual void timeAdvanceRequest(
228 const RTI::FedTime& theTime) = 0;
230 virtual void timeAdvanceRequestAvailable (
231 const RTI::FedTime& theTime) = 0;
233 virtual void nextEventRequest(
234 const RTI::FedTime& theTime) = 0;
236 virtual void nextEventRequestAvailable (
237 const RTI::FedTime& theTime) = 0;
239 virtual void flushQueueRequest (
240 const RTI::FedTime& theTime) = 0;
242 virtual void enableAsynchronousDelivery() = 0;
244 virtual void disableAsynchronousDelivery() = 0;
246 virtual void queryLBTS(RTI::FedTime& theTime) = 0;
248 virtual void queryFederateTime(RTI::FedTime& theTime) = 0;
250 virtual void queryMinNextEventTime (
251 RTI::FedTime& theTime) = 0;
253 virtual void modifyLookahead (
254 const RTI::FedTime& theLookahead) = 0;
256 virtual void queryLookahead (
257 RTI::FedTime& theTime) = 0;
259 virtual void retract(
260 RTI::EventRetractionHandle theHandle) = 0;
262 virtual void changeAttributeOrderType(
264 const RTI::AttributeHandleSet& theAttributes,
265 RTI::OrderingHandle theType) = 0;
267 virtual void changeInteractionOrderType(
268 RTI::InteractionClassHandle theClass,
269 RTI::OrderingHandle theType) = 0;
271 virtual RTI::Region* createRegion (
272 RTI::SpaceHandle theSpace,
275 virtual void notifyAboutRegionModification (
276 RTI::Region &theRegion) = 0;
278 virtual void deleteRegion(RTI::Region *theRegion) = 0;
281 RTI::ObjectClassHandle theClass,
282 const char* theObject,
283 RTI::AttributeHandle theAttributes[],
284 RTI::Region* theRegions[],
288 RTI::ObjectClassHandle theClass,
289 RTI::AttributeHandle theAttributes[],
290 RTI::Region* theRegions[],
293 virtual void associateRegionForUpdates (
294 RTI::Region& theRegion,
296 const RTI::AttributeHandleSet& theAttributes) = 0;
298 virtual void unassociateRegionForUpdates(
299 RTI::Region& theRegion,
302 virtual void subscribeObjectClassAttributesWithRegion(
303 RTI::ObjectClassHandle theClass,
304 RTI::Region& theRegion,
305 const RTI::AttributeHandleSet &attributeList,
306 RTI::Boolean active = RTI::RTI_TRUE) = 0;
308 virtual void unsubscribeObjectClassWithRegion(
309 RTI::ObjectClassHandle theClass,
310 RTI::Region& theRegion) = 0;
312 virtual void subscribeInteractionClassWithRegion (
313 RTI::InteractionClassHandle theClass,
314 RTI::Region& theRegion,
315 RTI::Boolean active = RTI::RTI_TRUE) = 0;
317 virtual void unsubscribeInteractionClassWithRegion (
318 RTI::InteractionClassHandle theClass,
319 RTI::Region& theRegion) = 0;
321 virtual RTI::EventRetractionHandle sendInteractionWithRegion(
322 RTI::InteractionClassHandle theInteraction,
324 const RTI::FedTime& theTime,
326 const RTI::Region& theRegion) = 0;
328 virtual void sendInteractionWithRegion(
329 RTI::InteractionClassHandle theInteraction,
332 const RTI::Region& theRegion) = 0;
334 virtual void requestClassAttributeValueUpdateWithRegion(
335 RTI::ObjectClassHandle theClass,
336 const RTI::AttributeHandleSet& theAttributes,
337 const RTI::Region& theRegion) = 0;
339 virtual RTI::ObjectClassHandle getObjectClassHandle (
340 const char* theName) = 0;
342 virtual char* getObjectClassName (
343 RTI::ObjectClassHandle theHandle) = 0;
345 virtual RTI::AttributeHandle getAttributeHandle (
347 RTI::ObjectClassHandle whichClass) = 0;
349 virtual char* getAttributeName (
350 RTI::AttributeHandle theHandle,
351 RTI::ObjectClassHandle whichClass) = 0;
353 virtual RTI::InteractionClassHandle getInteractionClassHandle (
354 const char* theName) = 0;
356 virtual char* getInteractionClassName (
357 RTI::InteractionClassHandle theHandle) = 0;
359 virtual RTI::ParameterHandle getParameterHandle (
361 RTI::InteractionClassHandle whichClass) = 0;
363 virtual char* getParameterName (
364 RTI::ParameterHandle theHandle,
365 RTI::InteractionClassHandle whichClass) = 0;
368 const char* theName) = 0;
370 virtual char* getObjectInstanceName(
373 virtual RTI::SpaceHandle getRoutingSpaceHandle (
374 const char* theName) = 0;
376 virtual const char* getRoutingSpaceName (
377 const RTI::SpaceHandle theHandle) = 0;
379 virtual RTI::DimensionHandle getDimensionHandle(
381 RTI::SpaceHandle whichSpace) = 0;
383 virtual char* getDimensionName(
384 RTI::DimensionHandle theHandle,
385 RTI::SpaceHandle whichSpace) = 0;
387 virtual RTI::SpaceHandle
388 getAttributeRoutingSpaceHandle(
389 RTI::AttributeHandle theHandle,
390 RTI::ObjectClassHandle whichClass) = 0;
392 virtual RTI::ObjectClassHandle getObjectClass (
395 virtual RTI::SpaceHandle getInteractionRoutingSpaceHandle(
396 RTI::InteractionClassHandle theHandle) = 0;
398 virtual RTI::TransportationHandle getTransportationHandle(
399 const char *theName) = 0;
401 virtual char* getTransportationName(
402 RTI::TransportationHandle theHandle) = 0;
404 virtual RTI::OrderingHandle getOrderingHandle(
405 const char *theName) = 0;
407 virtual char* getOrderingName(
408 RTI::OrderingHandle theHandle) = 0;
410 virtual void enableClassRelevanceAdvisorySwitch() = 0;
412 virtual void disableClassRelevanceAdvisorySwitch() = 0;
414 virtual void enableAttributeRelevanceAdvisorySwitch() = 0;
416 virtual void disableAttributeRelevanceAdvisorySwitch() = 0;
418 virtual void enableAttributeScopeAdvisorySwitch() = 0;
420 virtual void disableAttributeScopeAdvisorySwitch() = 0;
422 virtual void enableInteractionRelevanceAdvisorySwitch() = 0;
424 virtual void disableInteractionRelevanceAdvisorySwitch() = 0;
426 virtual RTI::Boolean
tick() = 0;
428 virtual RTI::Boolean
tick(
429 RTI::TickTime minimum,
430 RTI::TickTime maximum) = 0;
432 virtual RTI::RegionToken getRegionToken(RTI::Region*) = 0;
434 virtual RTI::Region* getRegion(RTI::RegionToken) = 0;