MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
serverRtiAmbassador13.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 #if DtHLA && !DtHLA_1516
12 
14 
15 #include <vlutil/vlMachineTypes.h>
16 #include <vl/vrlRtiAmbassador13.h>
17 
18 #include <RTI.hh>
19 
20 #include <vector>
21 
22 namespace MAKTrafficClientServerExConn
23 {
24  class DtServerExerciseConnection;
25 
26  class DT_DLL_CSEC DtServerRtiAmbassador : public DtVrlRtiAmbassador
27  {
28  public:
29 
31  DtServerRtiAmbassador();
32 
34  virtual ~DtServerRtiAmbassador();
35 
36  private:
37 
39  DtServerRtiAmbassador(const DtServerRtiAmbassador& orig);
40 
42  DtServerRtiAmbassador& operator=(const DtServerRtiAmbassador& orig);
43 
44  public:
45 
47  virtual void setServerExerciseConnection(DtServerExerciseConnection* exConn);
48 
50  virtual DtServerExerciseConnection* serverExerciseConnection();
51 
53  virtual RTI::RTIambassador* rtiAmb();
54 
56  virtual void createFederationExecution (
57  const char *executionName,
58  const char *FED);
59 
61  virtual void destroyFederationExecution (
62  const char *executionName);
63 
65  virtual RTI::FederateHandle joinFederationExecution (
66  const char* yourName,
67  const char* executionName,
68  RTI::FederateAmbassador* federateAmbassadorReference);
69 
71  virtual void resignFederationExecution(
72  RTI::ResignAction theAction);
73 
75  virtual void registerFederationSynchronizationPoint(
76  const char* label,
77  const char* theTag);
78 
80  virtual void registerFederationSynchronizationPoint(
81  const char* label,
82  const char* theTag,
83  const RTI::FederateHandleSet& syncSet);
84 
86  virtual void synchronizationPointAchieved(
87  const char* label);
88 
90  virtual void requestFederationSave (
91  const char* label,
92  const RTI::FedTime& theTime);
93 
95  virtual void requestFederationSave (
96  const char *label);
97 
99  virtual void federateSaveBegun();
100 
102  virtual void federateSaveComplete();
103 
105  virtual void federateSaveNotComplete();
106 
108  virtual void requestFederationRestore(const char* label);
109 
111  virtual void federateRestoreComplete();
112 
114  virtual void federateRestoreNotComplete();
115 
117  virtual void publishObjectClass(
118  RTI::ObjectClassHandle theClass,
119  const RTI::AttributeHandleSet& attributeList);
120 
122  virtual void unpublishObjectClass(
123  RTI::ObjectClassHandle theClass);
124 
126  virtual void publishInteractionClass(
127  RTI::InteractionClassHandle theInteraction);
128 
130  virtual void unpublishInteractionClass(
131  RTI::InteractionClassHandle theInteraction);
132 
134  virtual void subscribeObjectClassAttributes(
135  RTI::ObjectClassHandle theClass,
136  const RTI::AttributeHandleSet& attributeList,
137  RTI::Boolean active = RTI::RTI_TRUE);
138 
140  virtual void unsubscribeObjectClass(
141  RTI::ObjectClassHandle theClass);
142 
144  virtual void subscribeInteractionClass(
145  RTI::InteractionClassHandle theClass,
146  RTI::Boolean active = RTI::RTI_TRUE);
147 
149  virtual void unsubscribeInteractionClass(
150  RTI::InteractionClassHandle theClass);
151 
153  virtual RTI::ObjectHandle registerObjectInstance(
154  RTI::ObjectClassHandle theClass, const char* theObject);
155 
158  virtual RTI::ObjectHandle registerObjectInstanceSR(
159  unsigned int clientID,
160  RTI::ObjectClassHandle theClass, const char* theObject);
161 
163  virtual RTI::ObjectHandle registerObjectInstance(
164  RTI::ObjectClassHandle theClass);
165 
168  virtual RTI::ObjectHandle registerObjectInstanceSR(
169  unsigned int clientID,
170  RTI::ObjectClassHandle theClass);
171 
173  virtual RTI::EventRetractionHandle updateAttributeValues(
174  RTI::ObjectHandle theObject,
175  const RTI::AttributeHandleValuePairSet& theAttributes,
176  const RTI::FedTime& theTime,
177  const char* theTag);
178 
181  virtual RTI::EventRetractionHandle updateAttributeValuesSR(
182  unsigned int clientID,
183  RTI::ObjectHandle theObject,
184  const RTI::AttributeHandleValuePairSet& theAttributes,
185  const RTI::FedTime& theTime,
186  const char* theTag);
187 
189  virtual void updateAttributeValues(
190  RTI::ObjectHandle theObject,
191  const RTI::AttributeHandleValuePairSet& theAttributes,
192  const char* theTag);
193 
196  virtual void updateAttributeValuesSR(
197  unsigned int clientID,
198  RTI::ObjectHandle theObject,
199  const RTI::AttributeHandleValuePairSet& theAttributes,
200  const char* theTag);
201 
203  virtual RTI::EventRetractionHandle sendInteraction(
204  RTI::InteractionClassHandle theInteraction,
205  const RTI::ParameterHandleValuePairSet& theParameters,
206  const RTI::FedTime& theTime,
207  const char* theTag);
208 
211  virtual RTI::EventRetractionHandle sendInteractionSR(
212  unsigned int clientID,
213  RTI::InteractionClassHandle theInteraction,
214  const RTI::ParameterHandleValuePairSet& theParameters,
215  const RTI::FedTime& theTime,
216  const char* theTag);
217 
219  virtual void sendInteraction(
220  RTI::InteractionClassHandle theInteraction,
221  const RTI::ParameterHandleValuePairSet& theParameters,
222  const char* theTag);
223 
226  virtual void sendInteractionSR(
227  unsigned int clientID,
228  RTI::InteractionClassHandle theInteraction,
229  const RTI::ParameterHandleValuePairSet& theParameters,
230  const char* theTag);
231 
233  virtual RTI::EventRetractionHandle deleteObjectInstance(
234  RTI::ObjectHandle theObject,
235  const RTI::FedTime& theTime,
236  const char* theTag);
237 
240  virtual RTI::EventRetractionHandle deleteObjectInstanceSR(
241  unsigned int clientID,
242  RTI::ObjectHandle theObject,
243  const RTI::FedTime& theTime,
244  const char* theTag);
245 
247  virtual void deleteObjectInstance(
248  RTI::ObjectHandle theObject,
249  const char* theTag);
250 
253  virtual void deleteObjectInstanceSR(
254  unsigned int clientID,
255  RTI::ObjectHandle theObject,
256  const char* theTag);
257 
260  virtual void localDeleteObjectInstanceSR(
261  unsigned int clientID,
262  RTI::ObjectHandle theObject);
263 
265  virtual void localDeleteObjectInstance(
266  RTI::ObjectHandle theObject);
267 
269  virtual void changeAttributeTransportationType (
270  RTI::ObjectHandle theObject,
271  const RTI::AttributeHandleSet& theAttributes,
272  RTI::TransportationHandle theType);
273 
275  virtual void changeInteractionTransportationType (
276  RTI::InteractionClassHandle theClass,
277  RTI::TransportationHandle theType);
278 
280  virtual void requestObjectAttributeValueUpdate (
281  RTI::ObjectHandle theObject,
282  const RTI::AttributeHandleSet& theAttributes);
283 
285  virtual void requestClassAttributeValueUpdate (
286  RTI::ObjectClassHandle theClass,
287  const RTI::AttributeHandleSet& theAttributes);
288 
290  virtual void unconditionalAttributeOwnershipDivestiture(
291  RTI::ObjectHandle theObject,
292  const RTI::AttributeHandleSet& theAttributes);
293 
295  virtual void negotiatedAttributeOwnershipDivestiture(
296  RTI::ObjectHandle theObject,
297  const RTI::AttributeHandleSet& theAttributes,
298  const char* theTag);
299 
301  virtual void attributeOwnershipAcquisition(
302  RTI::ObjectHandle theObject,
303  const RTI::AttributeHandleSet& desiredAttributes,
304  const char* theTag);
305 
307  virtual void attributeOwnershipAcquisitionIfAvailable(
308  RTI::ObjectHandle theObject,
309  const RTI::AttributeHandleSet& desiredAttributes);
310 
312  virtual RTI::AttributeHandleSet* attributeOwnershipReleaseResponse(
313  RTI::ObjectHandle theObject,
314  const RTI::AttributeHandleSet& theAttributes);
315 
317  virtual void cancelNegotiatedAttributeOwnershipDivestiture(
318  RTI::ObjectHandle theObject,
319  const RTI::AttributeHandleSet& theAttributes);
320 
322  virtual void cancelAttributeOwnershipAcquisition(
323  RTI::ObjectHandle theObject,
324  const RTI::AttributeHandleSet& theAttributes);
325 
327  virtual void queryAttributeOwnership(
328  RTI::ObjectHandle theObject,
329  RTI::AttributeHandle theAttribute);
330 
332  virtual RTI::Boolean isAttributeOwnedByFederate(
333  RTI::ObjectHandle theObject,
334  RTI::AttributeHandle theAttribute);
335 
337  virtual void enableTimeRegulation (
338  const RTI::FedTime& theFederateTime,
339  const RTI::FedTime& theLookahead);
340 
342  virtual void disableTimeRegulation();
343 
345  virtual void enableTimeConstrained();
346 
348  virtual void disableTimeConstrained();
349 
351  virtual void timeAdvanceRequest(
352  const RTI::FedTime& theTime);
353 
355  virtual void timeAdvanceRequestAvailable (
356  const RTI::FedTime& theTime);
357 
359  virtual void nextEventRequest(
360  const RTI::FedTime& theTime);
361 
363  virtual void nextEventRequestAvailable (
364  const RTI::FedTime& theTime);
365 
367  virtual void flushQueueRequest (
368  const RTI::FedTime& theTime);
369 
371  virtual void enableAsynchronousDelivery();
372 
374  virtual void disableAsynchronousDelivery();
375 
377  virtual void queryLBTS(RTI::FedTime& theTime);
378 
380  virtual void queryFederateTime(RTI::FedTime& theTime);
381 
383  virtual void queryMinNextEventTime (
384  RTI::FedTime& theTime);
385 
387  virtual void modifyLookahead (
388  const RTI::FedTime& theLookahead);
389 
391  virtual void queryLookahead (
392  RTI::FedTime& theTime);
393 
395  virtual void retract(
396  RTI::EventRetractionHandle theHandle);
397 
399  virtual void changeAttributeOrderType(
400  RTI::ObjectHandle theObject,
401  const RTI::AttributeHandleSet& theAttributes,
402  RTI::OrderingHandle theType);
403 
405  virtual void changeInteractionOrderType(
406  RTI::InteractionClassHandle theClass,
407  RTI::OrderingHandle theType);
408 
410  virtual RTI::Region* createRegion (
411  RTI::SpaceHandle theSpace,
412  RTI::ULong numberOfExtents);
413 
415  virtual void notifyAboutRegionModification (
416  RTI::Region &theRegion);
417 
419  virtual void deleteRegion(RTI::Region *theRegion);
420 
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);
428 
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);
438 
440  virtual RTI::ObjectHandle registerObjectInstanceWithRegion(
441  RTI::ObjectClassHandle theClass,
442  RTI::AttributeHandle theAttributes[],
443  RTI::Region* theRegions[],
444  RTI::ULong theNumberOfHandles);
445 
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);
454 
456  virtual void associateRegionForUpdates (
457  RTI::Region& theRegion,
458  RTI::ObjectHandle theObject,
459  const RTI::AttributeHandleSet& theAttributes);
460 
462  virtual void unassociateRegionForUpdates(
463  RTI::Region& theRegion,
464  RTI::ObjectHandle theObject);
465 
467  virtual void subscribeObjectClassAttributesWithRegion(
468  RTI::ObjectClassHandle theClass,
469  RTI::Region& theRegion,
470  const RTI::AttributeHandleSet &attributeList,
471  RTI::Boolean active = RTI::RTI_TRUE);
472 
474  virtual void unsubscribeObjectClassWithRegion(
475  RTI::ObjectClassHandle theClass,
476  RTI::Region& theRegion);
477 
479  virtual void subscribeInteractionClassWithRegion (
480  RTI::InteractionClassHandle theClass,
481  RTI::Region& theRegion,
482  RTI::Boolean active = RTI::RTI_TRUE);
483 
485  virtual void unsubscribeInteractionClassWithRegion (
486  RTI::InteractionClassHandle theClass,
487  RTI::Region& theRegion);
488 
490  virtual RTI::EventRetractionHandle sendInteractionWithRegion(
491  RTI::InteractionClassHandle theInteraction,
492  const RTI::ParameterHandleValuePairSet &theParameters,
493  const RTI::FedTime& theTime,
494  const char* theTag,
495  const RTI::Region& theRegion);
496 
499  virtual RTI::EventRetractionHandle sendInteractionWithRegionSR(
500  unsigned int clientID,
501  RTI::InteractionClassHandle theInteraction,
502  const RTI::ParameterHandleValuePairSet &theParameters,
503  const RTI::FedTime& theTime,
504  const char* theTag,
505  const RTI::Region& theRegion);
506 
508  virtual void sendInteractionWithRegion(
509  RTI::InteractionClassHandle theInteraction,
510  const RTI::ParameterHandleValuePairSet &theParameters,
511  const char* theTag,
512  const RTI::Region& theRegion);
513 
516  virtual void sendInteractionWithRegionSR(
517  unsigned int clientID,
518  RTI::InteractionClassHandle theInteraction,
519  const RTI::ParameterHandleValuePairSet &theParameters,
520  const char* theTag,
521  const RTI::Region& theRegion);
522 
524  virtual void requestClassAttributeValueUpdateWithRegion(
525  RTI::ObjectClassHandle theClass,
526  const RTI::AttributeHandleSet& theAttributes,
527  const RTI::Region& theRegion);
528 
530  virtual RTI::ObjectClassHandle getObjectClassHandle (
531  const char* theName);
532 
534  virtual char* getObjectClassName (
535  RTI::ObjectClassHandle theHandle);
536 
538  virtual RTI::AttributeHandle getAttributeHandle (
539  const char* theName,
540  RTI::ObjectClassHandle whichClass);
541 
543  virtual char* getAttributeName (
544  RTI::AttributeHandle theHandle,
545  RTI::ObjectClassHandle whichClass);
546 
548  virtual RTI::InteractionClassHandle getInteractionClassHandle (
549  const char* theName);
550 
552  virtual char* getInteractionClassName (
553  RTI::InteractionClassHandle theHandle);
554 
556  virtual RTI::ParameterHandle getParameterHandle (
557  const char* theName,
558  RTI::InteractionClassHandle whichClass);
559 
561  virtual char* getParameterName (
562  RTI::ParameterHandle theHandle,
563  RTI::InteractionClassHandle whichClass);
564 
566  virtual RTI::ObjectHandle getObjectInstanceHandle(
567  const char* theName);
568 
570  virtual char* getObjectInstanceName(
571  RTI::ObjectHandle theHandle);
572 
574  virtual RTI::SpaceHandle getRoutingSpaceHandle (
575  const char* theName);
576 
578  virtual const char* getRoutingSpaceName (
579  const RTI::SpaceHandle theHandle);
580 
582  virtual RTI::DimensionHandle getDimensionHandle(
583  const char* theName,
584  RTI::SpaceHandle whichSpace);
585 
587  virtual char* getDimensionName(
588  RTI::DimensionHandle theHandle,
589  RTI::SpaceHandle whichSpace);
590 
592  virtual RTI::SpaceHandle
593  getAttributeRoutingSpaceHandle(
594  RTI::AttributeHandle theHandle,
595  RTI::ObjectClassHandle whichClass);
596 
598  virtual RTI::ObjectClassHandle getObjectClass (
599  RTI::ObjectHandle theObject);
600 
602  virtual RTI::SpaceHandle getInteractionRoutingSpaceHandle(
603  RTI::InteractionClassHandle theHandle);
604 
606  virtual RTI::TransportationHandle getTransportationHandle(
607  const char *theName);
608 
610  virtual char* getTransportationName(
611  RTI::TransportationHandle theHandle);
612 
614  virtual RTI::OrderingHandle getOrderingHandle(
615  const char *theName);
616 
618  virtual char* getOrderingName(
619  RTI::OrderingHandle theHandle);
620 
622  virtual void enableClassRelevanceAdvisorySwitch();
623 
625  virtual void disableClassRelevanceAdvisorySwitch();
626 
628  virtual void enableAttributeRelevanceAdvisorySwitch();
629 
631  virtual void disableAttributeRelevanceAdvisorySwitch();
632 
634  virtual void enableAttributeScopeAdvisorySwitch();
635 
637  virtual void disableAttributeScopeAdvisorySwitch();
638 
640  virtual void enableInteractionRelevanceAdvisorySwitch();
641 
643  virtual void disableInteractionRelevanceAdvisorySwitch();
644 
646  virtual RTI::Boolean tick();
647 
649  virtual RTI::Boolean tick(
650  RTI::TickTime minimum,
651  RTI::TickTime maximum);
652 
654  virtual RTI::RegionToken getRegionToken(RTI::Region*);
655 
657  virtual RTI::Region* getRegion(RTI::RegionToken);
658 
659  public:
660 
662  static DtVrlRtiAmbassador* create(const std::vector<std::wstring>&);
663 
664  protected:
665 
667  virtual bool lockServiceCall();
668 
670  virtual void unlockServiceCall();
671 
673  virtual bool enterServiceCall();
674 
676  virtual void exitServiceCall();
677 
678 
679  protected:
680 
682  RTI::RTIambassador* myRtiAmb;
683 
685  DtServerExerciseConnection* myServerExerciseConnection;
686 
688  RTI::FederateAmbassador* myFedAmb;
689 
690  bool myIsJoined;
691 
692  };
693 }
694 
695 #endif
696 
#define DT_DLL_CSEC
Definition: clientServerExConnDllDefines.h:17

Document ID: Generated on Thu Dec 18 15:35:09 EST 2025 from SVN revision 282494
Copyright © 2024 MAK Technologies. All Rights Reserved (www.mak.com)