11 #if DtHLA && !DtHLA_1516
15 #include <vlutil/vlMachineTypes.h>
16 #include <vl/vrlRtiAmbassador13.h>
22 namespace MAKTrafficClientServerExConn
24 class DtServerExerciseConnection;
26 class DT_DLL_CSEC DtServerRtiAmbassador :
public DtVrlRtiAmbassador
31 DtServerRtiAmbassador();
34 virtual ~DtServerRtiAmbassador();
39 DtServerRtiAmbassador(
const DtServerRtiAmbassador& orig);
42 DtServerRtiAmbassador& operator=(
const DtServerRtiAmbassador& orig);
47 virtual void setServerExerciseConnection(DtServerExerciseConnection* exConn);
50 virtual DtServerExerciseConnection* serverExerciseConnection();
53 virtual RTI::RTIambassador* rtiAmb();
56 virtual void createFederationExecution (
57 const char *executionName,
61 virtual void destroyFederationExecution (
62 const char *executionName);
65 virtual RTI::FederateHandle joinFederationExecution (
67 const char* executionName,
68 RTI::FederateAmbassador* federateAmbassadorReference);
71 virtual void resignFederationExecution(
72 RTI::ResignAction theAction);
75 virtual void registerFederationSynchronizationPoint(
80 virtual void registerFederationSynchronizationPoint(
83 const RTI::FederateHandleSet& syncSet);
86 virtual void synchronizationPointAchieved(
90 virtual void requestFederationSave (
92 const RTI::FedTime& theTime);
95 virtual void requestFederationSave (
99 virtual void federateSaveBegun();
102 virtual void federateSaveComplete();
105 virtual void federateSaveNotComplete();
108 virtual void requestFederationRestore(
const char* label);
111 virtual void federateRestoreComplete();
114 virtual void federateRestoreNotComplete();
117 virtual void publishObjectClass(
118 RTI::ObjectClassHandle theClass,
119 const RTI::AttributeHandleSet& attributeList);
122 virtual void unpublishObjectClass(
123 RTI::ObjectClassHandle theClass);
126 virtual void publishInteractionClass(
127 RTI::InteractionClassHandle theInteraction);
130 virtual void unpublishInteractionClass(
131 RTI::InteractionClassHandle theInteraction);
134 virtual void subscribeObjectClassAttributes(
135 RTI::ObjectClassHandle theClass,
136 const RTI::AttributeHandleSet& attributeList,
137 RTI::Boolean active = RTI::RTI_TRUE);
140 virtual void unsubscribeObjectClass(
141 RTI::ObjectClassHandle theClass);
144 virtual void subscribeInteractionClass(
145 RTI::InteractionClassHandle theClass,
146 RTI::Boolean active = RTI::RTI_TRUE);
149 virtual void unsubscribeInteractionClass(
150 RTI::InteractionClassHandle theClass);
153 virtual RTI::ObjectHandle registerObjectInstance(
154 RTI::ObjectClassHandle theClass,
const char* theObject);
158 virtual RTI::ObjectHandle registerObjectInstanceSR(
159 unsigned int clientID,
160 RTI::ObjectClassHandle theClass,
const char* theObject);
163 virtual RTI::ObjectHandle registerObjectInstance(
164 RTI::ObjectClassHandle theClass);
168 virtual RTI::ObjectHandle registerObjectInstanceSR(
169 unsigned int clientID,
170 RTI::ObjectClassHandle theClass);
173 virtual RTI::EventRetractionHandle updateAttributeValues(
174 RTI::ObjectHandle theObject,
175 const RTI::AttributeHandleValuePairSet& theAttributes,
176 const RTI::FedTime& theTime,
181 virtual RTI::EventRetractionHandle updateAttributeValuesSR(
182 unsigned int clientID,
183 RTI::ObjectHandle theObject,
184 const RTI::AttributeHandleValuePairSet& theAttributes,
185 const RTI::FedTime& theTime,
189 virtual void updateAttributeValues(
190 RTI::ObjectHandle theObject,
191 const RTI::AttributeHandleValuePairSet& theAttributes,
196 virtual void updateAttributeValuesSR(
197 unsigned int clientID,
198 RTI::ObjectHandle theObject,
199 const RTI::AttributeHandleValuePairSet& theAttributes,
203 virtual RTI::EventRetractionHandle sendInteraction(
204 RTI::InteractionClassHandle theInteraction,
205 const RTI::ParameterHandleValuePairSet& theParameters,
206 const RTI::FedTime& theTime,
211 virtual RTI::EventRetractionHandle sendInteractionSR(
212 unsigned int clientID,
213 RTI::InteractionClassHandle theInteraction,
214 const RTI::ParameterHandleValuePairSet& theParameters,
215 const RTI::FedTime& theTime,
219 virtual void sendInteraction(
220 RTI::InteractionClassHandle theInteraction,
221 const RTI::ParameterHandleValuePairSet& theParameters,
226 virtual void sendInteractionSR(
227 unsigned int clientID,
228 RTI::InteractionClassHandle theInteraction,
229 const RTI::ParameterHandleValuePairSet& theParameters,
233 virtual RTI::EventRetractionHandle deleteObjectInstance(
234 RTI::ObjectHandle theObject,
235 const RTI::FedTime& theTime,
240 virtual RTI::EventRetractionHandle deleteObjectInstanceSR(
241 unsigned int clientID,
242 RTI::ObjectHandle theObject,
243 const RTI::FedTime& theTime,
247 virtual void deleteObjectInstance(
248 RTI::ObjectHandle theObject,
253 virtual void deleteObjectInstanceSR(
254 unsigned int clientID,
255 RTI::ObjectHandle theObject,
260 virtual void localDeleteObjectInstanceSR(
261 unsigned int clientID,
262 RTI::ObjectHandle theObject);
265 virtual void localDeleteObjectInstance(
266 RTI::ObjectHandle theObject);
269 virtual void changeAttributeTransportationType (
270 RTI::ObjectHandle theObject,
271 const RTI::AttributeHandleSet& theAttributes,
272 RTI::TransportationHandle theType);
275 virtual void changeInteractionTransportationType (
276 RTI::InteractionClassHandle theClass,
277 RTI::TransportationHandle theType);
280 virtual void requestObjectAttributeValueUpdate (
281 RTI::ObjectHandle theObject,
282 const RTI::AttributeHandleSet& theAttributes);
285 virtual void requestClassAttributeValueUpdate (
286 RTI::ObjectClassHandle theClass,
287 const RTI::AttributeHandleSet& theAttributes);
290 virtual void unconditionalAttributeOwnershipDivestiture(
291 RTI::ObjectHandle theObject,
292 const RTI::AttributeHandleSet& theAttributes);
295 virtual void negotiatedAttributeOwnershipDivestiture(
296 RTI::ObjectHandle theObject,
297 const RTI::AttributeHandleSet& theAttributes,
301 virtual void attributeOwnershipAcquisition(
302 RTI::ObjectHandle theObject,
303 const RTI::AttributeHandleSet& desiredAttributes,
307 virtual void attributeOwnershipAcquisitionIfAvailable(
308 RTI::ObjectHandle theObject,
309 const RTI::AttributeHandleSet& desiredAttributes);
312 virtual RTI::AttributeHandleSet* attributeOwnershipReleaseResponse(
313 RTI::ObjectHandle theObject,
314 const RTI::AttributeHandleSet& theAttributes);
317 virtual void cancelNegotiatedAttributeOwnershipDivestiture(
318 RTI::ObjectHandle theObject,
319 const RTI::AttributeHandleSet& theAttributes);
322 virtual void cancelAttributeOwnershipAcquisition(
323 RTI::ObjectHandle theObject,
324 const RTI::AttributeHandleSet& theAttributes);
327 virtual void queryAttributeOwnership(
328 RTI::ObjectHandle theObject,
329 RTI::AttributeHandle theAttribute);
332 virtual RTI::Boolean isAttributeOwnedByFederate(
333 RTI::ObjectHandle theObject,
334 RTI::AttributeHandle theAttribute);
337 virtual void enableTimeRegulation (
338 const RTI::FedTime& theFederateTime,
339 const RTI::FedTime& theLookahead);
342 virtual void disableTimeRegulation();
345 virtual void enableTimeConstrained();
348 virtual void disableTimeConstrained();
351 virtual void timeAdvanceRequest(
352 const RTI::FedTime& theTime);
355 virtual void timeAdvanceRequestAvailable (
356 const RTI::FedTime& theTime);
359 virtual void nextEventRequest(
360 const RTI::FedTime& theTime);
363 virtual void nextEventRequestAvailable (
364 const RTI::FedTime& theTime);
367 virtual void flushQueueRequest (
368 const RTI::FedTime& theTime);
371 virtual void enableAsynchronousDelivery();
374 virtual void disableAsynchronousDelivery();
377 virtual void queryLBTS(RTI::FedTime& theTime);
380 virtual void queryFederateTime(RTI::FedTime& theTime);
383 virtual void queryMinNextEventTime (
384 RTI::FedTime& theTime);
387 virtual void modifyLookahead (
388 const RTI::FedTime& theLookahead);
391 virtual void queryLookahead (
392 RTI::FedTime& theTime);
395 virtual void retract(
396 RTI::EventRetractionHandle theHandle);
399 virtual void changeAttributeOrderType(
400 RTI::ObjectHandle theObject,
401 const RTI::AttributeHandleSet& theAttributes,
402 RTI::OrderingHandle theType);
405 virtual void changeInteractionOrderType(
406 RTI::InteractionClassHandle theClass,
407 RTI::OrderingHandle theType);
410 virtual RTI::Region* createRegion (
411 RTI::SpaceHandle theSpace,
412 RTI::ULong numberOfExtents);
415 virtual void notifyAboutRegionModification (
416 RTI::Region &theRegion);
419 virtual void deleteRegion(RTI::Region *theRegion);
422 virtual RTI::ObjectHandle registerObjectInstanceWithRegion(
423 RTI::ObjectClassHandle theClass,
424 const char* theObject,
425 RTI::AttributeHandle theAttributes[],
426 RTI::Region* theRegions[],
427 RTI::ULong theNumberOfHandles);
431 virtual RTI::ObjectHandle registerObjectInstanceWithRegionSR(
432 unsigned int clientID,
433 RTI::ObjectClassHandle theClass,
434 const char* theObject,
435 RTI::AttributeHandle theAttributes[],
436 RTI::Region* theRegions[],
437 RTI::ULong theNumberOfHandles);
440 virtual RTI::ObjectHandle registerObjectInstanceWithRegion(
441 RTI::ObjectClassHandle theClass,
442 RTI::AttributeHandle theAttributes[],
443 RTI::Region* theRegions[],
444 RTI::ULong theNumberOfHandles);
448 virtual RTI::ObjectHandle registerObjectInstanceWithRegionSR(
449 unsigned int clientID,
450 RTI::ObjectClassHandle theClass,
451 RTI::AttributeHandle theAttributes[],
452 RTI::Region* theRegions[],
453 RTI::ULong theNumberOfHandles);
456 virtual void associateRegionForUpdates (
457 RTI::Region& theRegion,
458 RTI::ObjectHandle theObject,
459 const RTI::AttributeHandleSet& theAttributes);
462 virtual void unassociateRegionForUpdates(
463 RTI::Region& theRegion,
464 RTI::ObjectHandle theObject);
467 virtual void subscribeObjectClassAttributesWithRegion(
468 RTI::ObjectClassHandle theClass,
469 RTI::Region& theRegion,
470 const RTI::AttributeHandleSet &attributeList,
471 RTI::Boolean active = RTI::RTI_TRUE);
474 virtual void unsubscribeObjectClassWithRegion(
475 RTI::ObjectClassHandle theClass,
476 RTI::Region& theRegion);
479 virtual void subscribeInteractionClassWithRegion (
480 RTI::InteractionClassHandle theClass,
481 RTI::Region& theRegion,
482 RTI::Boolean active = RTI::RTI_TRUE);
485 virtual void unsubscribeInteractionClassWithRegion (
486 RTI::InteractionClassHandle theClass,
487 RTI::Region& theRegion);
490 virtual RTI::EventRetractionHandle sendInteractionWithRegion(
491 RTI::InteractionClassHandle theInteraction,
492 const RTI::ParameterHandleValuePairSet &theParameters,
493 const RTI::FedTime& theTime,
495 const RTI::Region& theRegion);
499 virtual RTI::EventRetractionHandle sendInteractionWithRegionSR(
500 unsigned int clientID,
501 RTI::InteractionClassHandle theInteraction,
502 const RTI::ParameterHandleValuePairSet &theParameters,
503 const RTI::FedTime& theTime,
505 const RTI::Region& theRegion);
508 virtual void sendInteractionWithRegion(
509 RTI::InteractionClassHandle theInteraction,
510 const RTI::ParameterHandleValuePairSet &theParameters,
512 const RTI::Region& theRegion);
516 virtual void sendInteractionWithRegionSR(
517 unsigned int clientID,
518 RTI::InteractionClassHandle theInteraction,
519 const RTI::ParameterHandleValuePairSet &theParameters,
521 const RTI::Region& theRegion);
524 virtual void requestClassAttributeValueUpdateWithRegion(
525 RTI::ObjectClassHandle theClass,
526 const RTI::AttributeHandleSet& theAttributes,
527 const RTI::Region& theRegion);
530 virtual RTI::ObjectClassHandle getObjectClassHandle (
531 const char* theName);
534 virtual char* getObjectClassName (
535 RTI::ObjectClassHandle theHandle);
538 virtual RTI::AttributeHandle getAttributeHandle (
540 RTI::ObjectClassHandle whichClass);
543 virtual char* getAttributeName (
544 RTI::AttributeHandle theHandle,
545 RTI::ObjectClassHandle whichClass);
548 virtual RTI::InteractionClassHandle getInteractionClassHandle (
549 const char* theName);
552 virtual char* getInteractionClassName (
553 RTI::InteractionClassHandle theHandle);
556 virtual RTI::ParameterHandle getParameterHandle (
558 RTI::InteractionClassHandle whichClass);
561 virtual char* getParameterName (
562 RTI::ParameterHandle theHandle,
563 RTI::InteractionClassHandle whichClass);
566 virtual RTI::ObjectHandle getObjectInstanceHandle(
567 const char* theName);
570 virtual char* getObjectInstanceName(
571 RTI::ObjectHandle theHandle);
574 virtual RTI::SpaceHandle getRoutingSpaceHandle (
575 const char* theName);
578 virtual const char* getRoutingSpaceName (
579 const RTI::SpaceHandle theHandle);
582 virtual RTI::DimensionHandle getDimensionHandle(
584 RTI::SpaceHandle whichSpace);
587 virtual char* getDimensionName(
588 RTI::DimensionHandle theHandle,
589 RTI::SpaceHandle whichSpace);
592 virtual RTI::SpaceHandle
593 getAttributeRoutingSpaceHandle(
594 RTI::AttributeHandle theHandle,
595 RTI::ObjectClassHandle whichClass);
598 virtual RTI::ObjectClassHandle getObjectClass (
599 RTI::ObjectHandle theObject);
602 virtual RTI::SpaceHandle getInteractionRoutingSpaceHandle(
603 RTI::InteractionClassHandle theHandle);
606 virtual RTI::TransportationHandle getTransportationHandle(
607 const char *theName);
610 virtual char* getTransportationName(
611 RTI::TransportationHandle theHandle);
614 virtual RTI::OrderingHandle getOrderingHandle(
615 const char *theName);
618 virtual char* getOrderingName(
619 RTI::OrderingHandle theHandle);
622 virtual void enableClassRelevanceAdvisorySwitch();
625 virtual void disableClassRelevanceAdvisorySwitch();
628 virtual void enableAttributeRelevanceAdvisorySwitch();
631 virtual void disableAttributeRelevanceAdvisorySwitch();
634 virtual void enableAttributeScopeAdvisorySwitch();
637 virtual void disableAttributeScopeAdvisorySwitch();
640 virtual void enableInteractionRelevanceAdvisorySwitch();
643 virtual void disableInteractionRelevanceAdvisorySwitch();
646 virtual RTI::Boolean tick();
649 virtual RTI::Boolean tick(
650 RTI::TickTime minimum,
651 RTI::TickTime maximum);
654 virtual RTI::RegionToken getRegionToken(RTI::Region*);
657 virtual RTI::Region* getRegion(RTI::RegionToken);
662 static DtVrlRtiAmbassador* create(
const std::vector<std::wstring>&);
667 virtual bool lockServiceCall();
670 virtual void unlockServiceCall();
673 virtual bool enterServiceCall();
676 virtual void exitServiceCall();
682 RTI::RTIambassador* myRtiAmb;
685 DtServerExerciseConnection* myServerExerciseConnection;
688 RTI::FederateAmbassador* myFedAmb;
#define DT_DLL_CSEC
Definition: clientServerExConnDllDefines.h:17