MAK Data Logger API Documentation for DIS
clientRtiAmbassador13.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2012 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
11 
12 #pragma once
13 
14 #if DtHLA
15 #if !DtHLA_1516
16 
18 
19 #include <vlutil/vlMachineTypes.h>
20 #include <vl/vrlRtiAmb13.h>
21 
22 #include <RTI.hh>
23 
24 #include <vector>
25 
26 namespace MAKTrafficClientServerExConn
27 {
28  class DtServerExerciseConnection;
29  class DtClientExerciseConnection;
30  class DtServerRtiAmbassador;
31 
32  class DT_DLL_CSEC DtClientRtiAmbassador : public DtVrlRtiAmbassador
33  {
34 
35  public:
36 
38  DtClientRtiAmbassador();
39 
41  virtual ~DtClientRtiAmbassador();
42 
43  private:
44 
46  DtClientRtiAmbassador(const DtClientRtiAmbassador& orig);
47 
49  DtClientRtiAmbassador& operator=(const DtClientRtiAmbassador& orig);
50 
51  public:
52 
54  virtual void setClientExerciseConnection(DtClientExerciseConnection* exConn);
55 
57  virtual DtClientExerciseConnection* clientExerciseConnection();
58 
60  virtual DtServerExerciseConnection* serverExerciseConnection();
61 
63  virtual RTI::RTIambassador* rtiAmb();
64 
66  virtual DtServerRtiAmbassador* serverRtiAmb();
67 
70  virtual void setSelfReflect(bool enableSelfReflect);
71 
73  virtual bool selfReflectEnabled() const;
74 
76  virtual void rejoin();
77 
79  virtual void readyToResign();
80 
82  virtual void createFederationExecution (
83  const char *executionName,
84  const char *FED);
85 
87  virtual void destroyFederationExecution (
88  const char *executionName);
89 
91  virtual RTI::FederateHandle joinFederationExecution (
92  const char* yourName,
93  const char* executionName,
94  RTI::FederateAmbassador* federateAmbassadorReference);
95 
97  virtual void resignFederationExecution(
98  RTI::ResignAction theAction);
99 
101  virtual void registerFederationSynchronizationPoint(
102  const char* label,
103  const char* theTag);
104 
106  virtual void registerFederationSynchronizationPoint(
107  const char* label,
108  const char* theTag,
109  const RTI::FederateHandleSet& syncSet);
110 
112  virtual void synchronizationPointAchieved(
113  const char* label);
114 
116  virtual void requestFederationSave (
117  const char* label,
118  const RTI::FedTime& theTime);
119 
121  virtual void requestFederationSave (
122  const char *label);
123 
125  virtual void federateSaveBegun();
126 
128  virtual void federateSaveComplete();
129 
131  virtual void federateSaveNotComplete();
132 
134  virtual void requestFederationRestore(const char* label);
135 
137  virtual void federateRestoreComplete();
138 
140  virtual void federateRestoreNotComplete();
141 
143  virtual void publishObjectClass(
144  RTI::ObjectClassHandle theClass,
145  const RTI::AttributeHandleSet& attributeList);
146 
148  virtual void unpublishObjectClass(
149  RTI::ObjectClassHandle theClass);
150 
152  virtual void publishInteractionClass(
153  RTI::InteractionClassHandle theInteraction);
154 
156  virtual void unpublishInteractionClass(
157  RTI::InteractionClassHandle theInteraction);
158 
160  virtual void subscribeObjectClassAttributes(
161  RTI::ObjectClassHandle theClass,
162  const RTI::AttributeHandleSet& attributeList,
163  RTI::Boolean active = RTI::RTI_TRUE);
164 
166  virtual void unsubscribeObjectClass(
167  RTI::ObjectClassHandle theClass);
168 
170  virtual void subscribeInteractionClass(
171  RTI::InteractionClassHandle theClass,
172  RTI::Boolean active = RTI::RTI_TRUE);
173 
175  virtual void unsubscribeInteractionClass(
176  RTI::InteractionClassHandle theClass);
177 
179  virtual RTI::ObjectHandle registerObjectInstance(
180  RTI::ObjectClassHandle theClass, const char* theObject);
181 
183  virtual RTI::ObjectHandle registerObjectInstance(
184  RTI::ObjectClassHandle theClass);
185 
187  virtual RTI::EventRetractionHandle updateAttributeValues(
188  RTI::ObjectHandle theObject,
189  const RTI::AttributeHandleValuePairSet& theAttributes,
190  const RTI::FedTime& theTime,
191  const char* theTag);
192 
194  virtual void updateAttributeValues(
195  RTI::ObjectHandle theObject,
196  const RTI::AttributeHandleValuePairSet& theAttributes,
197  const char* theTag);
198 
200  virtual RTI::EventRetractionHandle sendInteraction(
201  RTI::InteractionClassHandle theInteraction,
202  const RTI::ParameterHandleValuePairSet& theParameters,
203  const RTI::FedTime& theTime,
204  const char* theTag);
205 
207  virtual void sendInteraction(
208  RTI::InteractionClassHandle theInteraction,
209  const RTI::ParameterHandleValuePairSet& theParameters,
210  const char* theTag);
211 
213  virtual RTI::EventRetractionHandle deleteObjectInstance(
214  RTI::ObjectHandle theObject,
215  const RTI::FedTime& theTime,
216  const char* theTag);
217 
219  virtual void deleteObjectInstance(
220  RTI::ObjectHandle theObject,
221  const char* theTag);
222 
224  virtual void localDeleteObjectInstance(
225  RTI::ObjectHandle theObject);
226 
228  virtual void changeAttributeTransportationType (
229  RTI::ObjectHandle theObject,
230  const RTI::AttributeHandleSet& theAttributes,
231  RTI::TransportationHandle theType);
232 
234  virtual void changeInteractionTransportationType (
235  RTI::InteractionClassHandle theClass,
236  RTI::TransportationHandle theType);
237 
239  virtual void requestObjectAttributeValueUpdate (
240  RTI::ObjectHandle theObject,
241  const RTI::AttributeHandleSet& theAttributes);
242 
244  virtual void requestClassAttributeValueUpdate (
245  RTI::ObjectClassHandle theClass,
246  const RTI::AttributeHandleSet& theAttributes);
247 
249  virtual void unconditionalAttributeOwnershipDivestiture(
250  RTI::ObjectHandle theObject,
251  const RTI::AttributeHandleSet& theAttributes);
252 
254  virtual void negotiatedAttributeOwnershipDivestiture(
255  RTI::ObjectHandle theObject,
256  const RTI::AttributeHandleSet& theAttributes,
257  const char* theTag);
258 
260  virtual void attributeOwnershipAcquisition(
261  RTI::ObjectHandle theObject,
262  const RTI::AttributeHandleSet& desiredAttributes,
263  const char* theTag);
264 
266  virtual void attributeOwnershipAcquisitionIfAvailable(
267  RTI::ObjectHandle theObject,
268  const RTI::AttributeHandleSet& desiredAttributes);
269 
271  virtual RTI::AttributeHandleSet* attributeOwnershipReleaseResponse(
272  RTI::ObjectHandle theObject,
273  const RTI::AttributeHandleSet& theAttributes);
274 
276  virtual void cancelNegotiatedAttributeOwnershipDivestiture(
277  RTI::ObjectHandle theObject,
278  const RTI::AttributeHandleSet& theAttributes);
279 
281  virtual void cancelAttributeOwnershipAcquisition(
282  RTI::ObjectHandle theObject,
283  const RTI::AttributeHandleSet& theAttributes);
284 
286  virtual void queryAttributeOwnership(
287  RTI::ObjectHandle theObject,
288  RTI::AttributeHandle theAttribute);
289 
291  virtual RTI::Boolean isAttributeOwnedByFederate(
292  RTI::ObjectHandle theObject,
293  RTI::AttributeHandle theAttribute);
294 
296  virtual void enableTimeRegulation (
297  const RTI::FedTime& theFederateTime,
298  const RTI::FedTime& theLookahead);
299 
301  virtual void disableTimeRegulation();
302 
304  virtual void enableTimeConstrained();
305 
307  virtual void disableTimeConstrained();
308 
310  virtual void timeAdvanceRequest(
311  const RTI::FedTime& theTime);
312 
314  virtual void timeAdvanceRequestAvailable (
315  const RTI::FedTime& theTime);
316 
318  virtual void nextEventRequest(
319  const RTI::FedTime& theTime);
320 
322  virtual void nextEventRequestAvailable (
323  const RTI::FedTime& theTime);
324 
326  virtual void flushQueueRequest (
327  const RTI::FedTime& theTime);
328 
330  virtual void enableAsynchronousDelivery();
331 
333  virtual void disableAsynchronousDelivery();
334 
336  virtual void queryLBTS(RTI::FedTime& theTime);
337 
339  virtual void queryFederateTime(RTI::FedTime& theTime);
340 
342  virtual void queryMinNextEventTime (
343  RTI::FedTime& theTime);
344 
346  virtual void modifyLookahead (
347  const RTI::FedTime& theLookahead);
348 
350  virtual void queryLookahead (
351  RTI::FedTime& theTime);
352 
354  virtual void retract(
355  RTI::EventRetractionHandle theHandle);
356 
358  virtual void changeAttributeOrderType(
359  RTI::ObjectHandle theObject,
360  const RTI::AttributeHandleSet& theAttributes,
361  RTI::OrderingHandle theType);
362 
364  virtual void changeInteractionOrderType(
365  RTI::InteractionClassHandle theClass,
366  RTI::OrderingHandle theType);
367 
369  virtual RTI::Region* createRegion (
370  RTI::SpaceHandle theSpace,
371  RTI::ULong numberOfExtents);
372 
374  virtual void notifyAboutRegionModification (
375  RTI::Region &theRegion);
376 
378  virtual void deleteRegion(RTI::Region *theRegion);
379 
381  virtual RTI::ObjectHandle registerObjectInstanceWithRegion(
382  RTI::ObjectClassHandle theClass,
383  const char* theObject,
384  RTI::AttributeHandle theAttributes[],
385  RTI::Region* theRegions[],
386  RTI::ULong theNumberOfHandles);
387 
389  virtual RTI::ObjectHandle registerObjectInstanceWithRegion(
390  RTI::ObjectClassHandle theClass,
391  RTI::AttributeHandle theAttributes[],
392  RTI::Region* theRegions[],
393  RTI::ULong theNumberOfHandles);
394 
396  virtual void associateRegionForUpdates (
397  RTI::Region& theRegion,
398  RTI::ObjectHandle theObject,
399  const RTI::AttributeHandleSet& theAttributes);
400 
402  virtual void unassociateRegionForUpdates(
403  RTI::Region& theRegion,
404  RTI::ObjectHandle theObject);
405 
407  virtual void subscribeObjectClassAttributesWithRegion(
408  RTI::ObjectClassHandle theClass,
409  RTI::Region& theRegion,
410  const RTI::AttributeHandleSet &attributeList,
411  RTI::Boolean active = RTI::RTI_TRUE);
412 
414  virtual void unsubscribeObjectClassWithRegion(
415  RTI::ObjectClassHandle theClass,
416  RTI::Region& theRegion);
417 
419  virtual void subscribeInteractionClassWithRegion (
420  RTI::InteractionClassHandle theClass,
421  RTI::Region& theRegion,
422  RTI::Boolean active = RTI::RTI_TRUE);
423 
425  virtual void unsubscribeInteractionClassWithRegion (
426  RTI::InteractionClassHandle theClass,
427  RTI::Region& theRegion);
428 
430  virtual RTI::EventRetractionHandle sendInteractionWithRegion(
431  RTI::InteractionClassHandle theInteraction,
432  const RTI::ParameterHandleValuePairSet &theParameters,
433  const RTI::FedTime& theTime,
434  const char* theTag,
435  const RTI::Region& theRegion);
436 
438  virtual void sendInteractionWithRegion(
439  RTI::InteractionClassHandle theInteraction,
440  const RTI::ParameterHandleValuePairSet &theParameters,
441  const char* theTag,
442  const RTI::Region& theRegion);
443 
445  virtual void requestClassAttributeValueUpdateWithRegion(
446  RTI::ObjectClassHandle theClass,
447  const RTI::AttributeHandleSet& theAttributes,
448  const RTI::Region& theRegion);
449 
451  virtual RTI::ObjectClassHandle getObjectClassHandle (
452  const char* theName);
453 
455  virtual char* getObjectClassName (
456  RTI::ObjectClassHandle theHandle);
457 
459  virtual RTI::AttributeHandle getAttributeHandle (
460  const char* theName,
461  RTI::ObjectClassHandle whichClass);
462 
464  virtual char* getAttributeName (
465  RTI::AttributeHandle theHandle,
466  RTI::ObjectClassHandle whichClass);
467 
469  virtual RTI::InteractionClassHandle getInteractionClassHandle (
470  const char* theName);
471 
473  virtual char* getInteractionClassName (
474  RTI::InteractionClassHandle theHandle);
475 
477  virtual RTI::ParameterHandle getParameterHandle (
478  const char* theName,
479  RTI::InteractionClassHandle whichClass);
480 
482  virtual char* getParameterName (
483  RTI::ParameterHandle theHandle,
484  RTI::InteractionClassHandle whichClass);
485 
487  virtual RTI::ObjectHandle getObjectInstanceHandle(
488  const char* theName);
489 
491  virtual char* getObjectInstanceName(
492  RTI::ObjectHandle theHandle);
493 
495  virtual RTI::SpaceHandle getRoutingSpaceHandle (
496  const char* theName);
497 
499  virtual const char* getRoutingSpaceName (
500  const RTI::SpaceHandle theHandle);
501 
503  virtual RTI::DimensionHandle getDimensionHandle(
504  const char* theName,
505  RTI::SpaceHandle whichSpace);
506 
508  virtual char* getDimensionName(
509  RTI::DimensionHandle theHandle,
510  RTI::SpaceHandle whichSpace);
511 
513  virtual RTI::SpaceHandle
514  getAttributeRoutingSpaceHandle(
515  RTI::AttributeHandle theHandle,
516  RTI::ObjectClassHandle whichClass);
517 
519  virtual RTI::ObjectClassHandle getObjectClass (
520  RTI::ObjectHandle theObject);
521 
523  virtual RTI::SpaceHandle getInteractionRoutingSpaceHandle(
524  RTI::InteractionClassHandle theHandle);
525 
527  virtual RTI::TransportationHandle getTransportationHandle(
528  const char *theName);
529 
531  virtual char* getTransportationName(
532  RTI::TransportationHandle theHandle);
533 
535  virtual RTI::OrderingHandle getOrderingHandle(
536  const char *theName);
537 
539  virtual char* getOrderingName(
540  RTI::OrderingHandle theHandle);
541 
543  virtual void enableClassRelevanceAdvisorySwitch();
544 
546  virtual void disableClassRelevanceAdvisorySwitch();
547 
549  virtual void enableAttributeRelevanceAdvisorySwitch();
550 
552  virtual void disableAttributeRelevanceAdvisorySwitch();
553 
555  virtual void enableAttributeScopeAdvisorySwitch();
556 
558  virtual void disableAttributeScopeAdvisorySwitch();
559 
561  virtual void enableInteractionRelevanceAdvisorySwitch();
562 
564  virtual void disableInteractionRelevanceAdvisorySwitch();
565 
567  virtual RTI::Boolean tick();
568 
570  virtual RTI::Boolean tick(
571  RTI::TickTime minimum,
572  RTI::TickTime maximum);
573 
575  virtual RTI::RegionToken getRegionToken(RTI::Region*);
576 
578  virtual RTI::Region* getRegion(RTI::RegionToken);
579 
580  public:
581 
583  static DtVrlRtiAmbassador* create(const std::vector<std::wstring>&);
584 
585  protected:
586 
588  DtServerExerciseConnection* myServerExerciseConnection;
589 
591  DtClientExerciseConnection* myClientExerciseConnection;
592 
594  DtServerRtiAmbassador* myServerRtiAmbassador;
595 
597  RTI::FederateAmbassador* myFedAmb;
598 
600  bool mySelfReflectEnabled;
601 
603  bool myReadyToResign;
604 
605  };
606 
609  class DT_DLL_CSEC DtPassiveClientRtiAmbassador : public DtClientRtiAmbassador
610  {
611  protected:
612 
614  DtPassiveClientRtiAmbassador(const DtPassiveClientRtiAmbassador& orig);
615 
617  DtPassiveClientRtiAmbassador& operator=(const DtPassiveClientRtiAmbassador& orig);
618 
619  public:
620 
622  DtPassiveClientRtiAmbassador() : DtClientRtiAmbassador()
623  {};
624 
626  virtual ~DtPassiveClientRtiAmbassador()
627  {};
628 
630  virtual void subscribeObjectClassAttributes(
631  RTI::ObjectClassHandle theClass,
632  const RTI::AttributeHandleSet& attributeList,
633  RTI::Boolean active = RTI::RTI_TRUE)
634  {};
635 
637  virtual void unsubscribeObjectClass(
638  RTI::ObjectClassHandle theClass)
639  {};
640 
642  virtual void subscribeInteractionClass(
643  RTI::InteractionClassHandle theClass,
644  RTI::Boolean active = RTI::RTI_TRUE)
645  {};
646 
648  virtual void unsubscribeInteractionClass(
649  RTI::InteractionClassHandle theClass)
650  {};
651 
653  virtual void subscribeObjectClassAttributesWithRegion(
654  RTI::ObjectClassHandle theClass,
655  RTI::Region& theRegion,
656  const RTI::AttributeHandleSet &attributeList,
657  RTI::Boolean active = RTI::RTI_TRUE)
658  {};
659 
661  virtual void unsubscribeObjectClassWithRegion(
662  RTI::ObjectClassHandle theClass,
663  RTI::Region& theRegion)
664  {};
665 
667  virtual void subscribeInteractionClassWithRegion (
668  RTI::InteractionClassHandle theClass,
669  RTI::Region& theRegion,
670  RTI::Boolean active = RTI::RTI_TRUE)
671  {};
672 
674  virtual void unsubscribeInteractionClassWithRegion (
675  RTI::InteractionClassHandle theClass,
676  RTI::Region& theRegion)
677  {};
678 
680  virtual void localDeleteObjectInstance(
681  RTI::ObjectHandle theObject)
682  {};
683 
684  public:
685 
687  static DtVrlRtiAmbassador* create(const std::vector<std::wstring>&);
688 
689  };
690 
691 }
692 
693 #endif
694 #endif
695 

Document ID: Generated on Sun Dec 15 18:04:30 EST 2013 from SVN revision 134418
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)