MAK RTIspy API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
momObserver.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2024 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: momObserver.h,v $ $Revision: 1.9 $ $State: Exp $
7 *******************************************************************************/
8 
11 
12 #pragma once
13 
14 #ifdef DtMOM
15 #ifdef DtIFSPEC13
16 
17 #include "ambObserver.h"
18 #include "momArgument.h"
19 class DtMomMgr;
20 class DtMomObserver;
21 
23 typedef DtMomObserver* (*DtMomObserverCreator)(DtMomMgr* momMgrPtr);
24 
25 class DtMomObserver : public DtRtiAmbassadorObserver
26 {
27 public:
29 
30  static DtMomObserver* create(DtMomMgr* momMgrPtr);
31  static void setCreator(DtMomObserverCreator functionPtr);
33 
35  DtMomObserver(DtMomMgr* momMgrPtr);
36 
38  virtual ~DtMomObserver();
39 
41  DtMomObserver( const DtMomObserver& orig );
42 
44  DtMomObserver& operator=( const DtMomObserver& orig );
45 
47  virtual void reset();
48 
51  virtual unsigned long objectRegisterCount() const;
52 
55  virtual unsigned long objectDeleteCount() const;
56 
58 
59  virtual void createFederationExecution(
60  const char* executionName,
61  const char* FED,
62  RTI::Exception* except = 0 );
63 
64  virtual void destroyFederationExecution(
65  const char* executionName,
66  RTI::Exception* except = 0 );
67 
68  virtual void joinFederationExecution(
69  const char* yourName,
70  const char* executionName,
71  RTI::FederateAmbassador* federateAmbassadorReference,
72  RTI::FederateHandle& handle,
73  RTI::Exception* except = 0 );
74 
75  virtual void resignFederationExecution(
76  RTI::ResignAction theAction,
77  RTI::Exception* except = 0 );
78 
79  virtual void registerFederationSynchronizationPoint(
80  const char* label,
81  const char* theTag,
82  RTI::Exception* except = 0 );
83 
84  virtual void registerFederationSynchronizationPoint(
85  const char* label,
86  const char* theTag,
87  const RTI::FederateHandleSet& syncSet,
88  RTI::Exception* except = 0 );
89 
90  virtual void synchronizationPointAchieved(
91  const char* label,
92  RTI::Exception* except = 0 );
93 
94  virtual void requestFederationSave(
95  const char* label,
96  const RTI::FedTime& theTime,
97  RTI::Exception* except = 0 );
98 
99  virtual void requestFederationSave(
100  const char* label,
101  RTI::Exception* except = 0 );
102 
103  virtual void federateSaveBegun(
104  RTI::Exception* except = 0 );
105 
106  virtual void federateSaveComplete(
107  RTI::Exception* except = 0 );
108 
109  virtual void federateSaveNotComplete(
110  RTI::Exception* except = 0 );
111 
112  virtual void requestFederationRestore(
113  const char* label,
114  RTI::Exception* except = 0 );
115 
116  virtual void federateRestoreComplete(
117  RTI::Exception* except = 0 );
118 
119  virtual void federateRestoreNotComplete(
120  RTI::Exception* except = 0 );
122 
124 
125 
126  virtual void publishObjectClass(
127  RTI::ObjectClassHandle theClass,
128  const RTI::AttributeHandleSet& attributeList,
129  RTI::Exception* except = 0 );
130 
131  virtual void unpublishObjectClass(
132  RTI::ObjectClassHandle theClass,
133  RTI::Exception* except = 0 );
134 
135  virtual void publishInteractionClass(
136  RTI::InteractionClassHandle theInteraction,
137  RTI::Exception* except = 0 );
138 
139  virtual void unpublishInteractionClass(
140  RTI::InteractionClassHandle theInteraction,
141  RTI::Exception* except = 0 );
142 
143  virtual void subscribeObjectClassAttributes(
144  RTI::ObjectClassHandle theClass,
145  const RTI::AttributeHandleSet& attributeList,
146  RTI::Boolean active = RTI::RTI_TRUE,
147  RTI::Exception* except = 0 );
148 
149  virtual void unsubscribeObjectClass(
150  RTI::ObjectClassHandle theClass,
151  RTI::Exception* except = 0 );
152 
153  virtual void subscribeInteractionClass(
154  RTI::InteractionClassHandle theClass,
155  RTI::Boolean active = RTI::RTI_TRUE,
156  RTI::Exception* except = 0 );
157 
158  virtual void unsubscribeInteractionClass(
159  RTI::InteractionClassHandle theClass,
160  RTI::Exception* except = 0 );
162 
164 
165  virtual void registerObjectInstance(
166  RTI::ObjectClassHandle theClass,
167  const char* theObject,
168  RTI::ObjectHandle& handle,
169  RTI::Exception* except = 0 );
170 
171  virtual void registerObjectInstance(
172  RTI::ObjectClassHandle theClass,
173  RTI::ObjectHandle& handle,
174  RTI::Exception* except = 0 );
175 
176  virtual void updateAttributeValues(
177  RTI::ObjectHandle theObject,
178  const RTI::AttributeHandleValuePairSet& theAttributes,
179  const RTI::FedTime& theTime,
180  const char* theTag,
181  RTI::EventRetractionHandle& handle,
182  RTI::Exception* except = 0 );
183 
184  virtual void updateAttributeValues(
185  RTI::ObjectHandle theObject,
186  const RTI::AttributeHandleValuePairSet& theAttributes,
187  const char* theTag,
188  RTI::Exception* except = 0 );
189 
190  virtual void sendInteraction(
191  RTI::InteractionClassHandle theInteraction,
192  const RTI::ParameterHandleValuePairSet& theParameters,
193  const RTI::FedTime& theTime,
194  const char* theTag,
195  RTI::EventRetractionHandle& handle,
196  RTI::Exception* except = 0 );
197 
198  virtual void sendInteraction(
199  RTI::InteractionClassHandle theInteraction,
200  const RTI::ParameterHandleValuePairSet& theParameters,
201  const char* theTag,
202  RTI::Exception* except = 0 );
203 
204  virtual void deleteObjectInstance(
205  RTI::ObjectHandle theObject,
206  const RTI::FedTime& theTime,
207  const char* theTag,
208  RTI::EventRetractionHandle& handle,
209  RTI::Exception* except = 0 );
210 
211  virtual void deleteObjectInstance(
212  RTI::ObjectHandle theObject,
213  const char* theTag,
214  RTI::Exception* except = 0 );
215 
216  virtual void localDeleteObjectInstance(
217  RTI::ObjectHandle theObject,
218  RTI::Exception* except = 0 );
219 
220  virtual void changeAttributeTransportationType(
221  RTI::ObjectHandle theObject,
222  const RTI::AttributeHandleSet& theAttributes,
223  RTI::TransportationHandle theType,
224  RTI::Exception* except = 0 );
225 
226  virtual void changeInteractionTransportationType(
227  RTI::InteractionClassHandle theClass,
228  RTI::TransportationHandle theType,
229  RTI::Exception* except = 0 );
230 
231  virtual void requestObjectAttributeValueUpdate(
232  RTI::ObjectHandle theObject,
233  const RTI::AttributeHandleSet& theAttributes,
234  RTI::Exception* except = 0 );
235 
236  virtual void requestClassAttributeValueUpdate(
237  RTI::ObjectClassHandle theClass,
238  const RTI::AttributeHandleSet& theAttributes,
239  RTI::Exception* except = 0 );
241 
243 
244  virtual void unconditionalAttributeOwnershipDivestiture(
245  RTI::ObjectHandle theObject,
246  const RTI::AttributeHandleSet& theAttributes,
247  RTI::Exception* except = 0 );
248 
249  virtual void negotiatedAttributeOwnershipDivestiture(
250  RTI::ObjectHandle theObject,
251  const RTI::AttributeHandleSet& theAttributes,
252  const char* theTag,
253  RTI::Exception* except = 0 );
254 
255  virtual void attributeOwnershipAcquisition(
256  RTI::ObjectHandle theObject,
257  const RTI::AttributeHandleSet& desiredAttributes,
258  const char* theTag,
259  RTI::Exception* except = 0 );
260 
261  virtual void attributeOwnershipAcquisitionIfAvailable(
262  RTI::ObjectHandle theObject,
263  const RTI::AttributeHandleSet& desiredAttributes,
264  RTI::Exception* except = 0 );
265 
266  virtual void attributeOwnershipReleaseResponse(
267  RTI::ObjectHandle theObject,
268  const RTI::AttributeHandleSet& theAttributes,
270  RTI::Exception* except = 0 );
271 
272  virtual void cancelNegotiatedAttributeOwnershipDivestiture(
273  RTI::ObjectHandle theObject,
274  const RTI::AttributeHandleSet& theAttributes,
275  RTI::Exception* except = 0 );
276 
277  virtual void cancelAttributeOwnershipAcquisition(
278  RTI::ObjectHandle theObject,
279  const RTI::AttributeHandleSet& theAttributes,
280  RTI::Exception* except = 0 );
281 
282  virtual void queryAttributeOwnership(
283  RTI::ObjectHandle theObject,
284  RTI::AttributeHandle theAttribute,
285  RTI::Exception* except = 0 );
286 
287  virtual void isAttributeOwnedByFederate(
288  RTI::ObjectHandle theObject,
289  RTI::AttributeHandle theAttribute,
290  RTI::Boolean boolean,
291  RTI::Exception* except = 0 );
293 
295 
296  virtual void enableTimeRegulation(
297  const RTI::FedTime& theFederateTime,
298  const RTI::FedTime& theLookahead,
299  RTI::Exception* except = 0 );
300 
301  virtual void disableTimeRegulation(
302  RTI::Exception* except = 0 );
303 
304  virtual void enableTimeConstrained(
305  RTI::Exception* except = 0 );
306 
307  virtual void disableTimeConstrained(
308  RTI::Exception* except = 0 );
309 
310  virtual void timeAdvanceRequest(
311  const RTI::FedTime& theTime,
312  RTI::Exception* except = 0 );
313 
314  virtual void timeAdvanceRequestAvailable(
315  const RTI::FedTime& theTime,
316  RTI::Exception* except = 0 );
317 
318  virtual void nextEventRequest(
319  const RTI::FedTime& theTime,
320  RTI::Exception* except = 0 );
321 
322  virtual void nextEventRequestAvailable(
323  const RTI::FedTime& theTime,
324  RTI::Exception* except = 0 );
325 
326  virtual void flushQueueRequest(
327  const RTI::FedTime& theTime,
328  RTI::Exception* except = 0 );
329 
330  virtual void enableAsynchronousDelivery(
331  RTI::Exception* except = 0 );
332 
333  virtual void disableAsynchronousDelivery(
334  RTI::Exception* except = 0 );
335 
336  virtual void queryLBTS(
337  RTI::FedTime& theTime,
338  RTI::Exception* except = 0 );
339 
340  virtual void queryFederateTime(
341  RTI::FedTime& theTime,
342  RTI::Exception* except = 0 );
343 
344  virtual void queryMinNextEventTime(
345  RTI::FedTime& theTime,
346  RTI::Exception* except = 0 );
347 
348  virtual void modifyLookahead(
349  const RTI::FedTime& theLookahead,
350  RTI::Exception* except = 0 );
351 
352  virtual void queryLookahead(
353  RTI::FedTime& theTime,
354  RTI::Exception* except = 0 );
355 
356  virtual void retract(
357  RTI::EventRetractionHandle theHandle,
358  RTI::Exception* except = 0 );
359 
360  virtual void changeAttributeOrderType(
361  RTI::ObjectHandle theObject,
362  const RTI::AttributeHandleSet& theAttributes,
363  RTI::OrderingHandle theType,
364  RTI::Exception* except = 0 );
365 
366  virtual void changeInteractionOrderType(
367  RTI::InteractionClassHandle theClass,
368  RTI::OrderingHandle theType,
369  RTI::Exception* except = 0 );
371 
373 
374  virtual void createRegion(
375  RTI::SpaceHandle theSpace,
376  RTI::ULong numberOfExtents,
377  RTI::Region* region,
378  RTI::Exception* except = 0 );
379 
380  virtual void notifyAboutRegionModification(
381  RTI::Region& theRegion,
382  RTI::Exception* except = 0 );
383 
384  virtual void deleteRegion(
385  RTI::Region* theRegion,
386  RTI::Exception* except = 0 );
387 
388  virtual void registerObjectInstanceWithRegion(
389  RTI::ObjectClassHandle theClass,
390  const char* theObject,
391  RTI::AttributeHandle theAttributes[],
392  RTI::Region* theRegions[],
393  RTI::ULong theNumberOfHandles,
394  RTI::ObjectHandle& handle,
395  RTI::Exception* except = 0 );
396 
397  virtual void registerObjectInstanceWithRegion(
398  RTI::ObjectClassHandle theClass,
399  RTI::AttributeHandle theAttributes[],
400  RTI::Region* theRegions[],
401  RTI::ULong theNumberOfHandles,
402  RTI::ObjectHandle& handle,
403  RTI::Exception* except = 0 );
404 
405  virtual void associateRegionForUpdates(
406  RTI::Region& theRegion,
407  RTI::ObjectHandle theObject,
408  const RTI::AttributeHandleSet& theAttributes,
409  RTI::Exception* except = 0 );
410 
411  virtual void unassociateRegionForUpdates(
412  RTI::Region& theRegion,
413  RTI::ObjectHandle theObject,
414  RTI::Exception* except = 0 );
415 
416  virtual void subscribeObjectClassAttributesWithRegion(
417  RTI::ObjectClassHandle theClass,
418  RTI::Region& theRegion,
419  const RTI::AttributeHandleSet& attributeList,
420  RTI::Boolean active = RTI::RTI_TRUE,
421  RTI::Exception* except = 0 );
422 
423  virtual void unsubscribeObjectClassWithRegion(
424  RTI::ObjectClassHandle theClass,
425  RTI::Region& theRegion,
426  RTI::Exception* except = 0 );
427 
428  virtual void subscribeInteractionClassWithRegion(
429  RTI::InteractionClassHandle theClass,
430  RTI::Region& theRegion,
431  RTI::Boolean active = RTI::RTI_TRUE,
432  RTI::Exception* except = 0 );
433 
434  virtual void unsubscribeInteractionClassWithRegion(
435  RTI::InteractionClassHandle theClass,
436  RTI::Region& theRegion,
437  RTI::Exception* except = 0 );
438 
439  virtual void sendInteractionWithRegion(
440  RTI::InteractionClassHandle theInteraction,
441  const RTI::ParameterHandleValuePairSet& theParameters,
442  const RTI::FedTime& theTime,
443  const char* theTag,
444  const RTI::Region& theRegion,
445  RTI::EventRetractionHandle& handle,
446  RTI::Exception* except = 0 );
447 
448  virtual void sendInteractionWithRegion(
449  RTI::InteractionClassHandle theInteraction,
450  const RTI::ParameterHandleValuePairSet& theParameters,
451  const char* theTag,
452  const RTI::Region& theRegion,
453  RTI::Exception* except = 0 );
454 
455  virtual void requestClassAttributeValueUpdateWithRegion(
456  RTI::ObjectClassHandle theClass,
457  const RTI::AttributeHandleSet& theAttributes,
458  const RTI::Region& theRegion,
459  RTI::Exception* except = 0 );
461 
463 
464  virtual void getObjectClassHandle(
465  const char* theName,
466  RTI::ObjectClassHandle& handle,
467  RTI::Exception* except = 0 );
468 
469  virtual void getObjectClassName(
470  RTI::ObjectClassHandle theHandle,
471  char* className,
472  RTI::Exception* except = 0 );
473 
474  virtual void getAttributeHandle(
475  const char* theName,
476  RTI::ObjectClassHandle whichClass,
477  RTI::AttributeHandle& handle,
478  RTI::Exception* except = 0 );
479 
480  virtual void getAttributeName(
481  RTI::AttributeHandle theHandle,
482  RTI::ObjectClassHandle whichClass,
483  char* attributeName,
484  RTI::Exception* except = 0 );
485 
486  virtual void getInteractionClassHandle(
487  const char* theName,
488  RTI::InteractionClassHandle& handle,
489  RTI::Exception* except = 0 );
490 
491  virtual void getInteractionClassName(
492  RTI::InteractionClassHandle theHandle,
493  char* className,
494  RTI::Exception* except = 0 );
495 
496  virtual void getParameterHandle(
497  const char* theName,
498  RTI::InteractionClassHandle whichClass,
499  RTI::ParameterHandle& handle,
500  RTI::Exception* except = 0 );
501 
502  virtual void getParameterName(
503  RTI::ParameterHandle theHandle,
504  RTI::InteractionClassHandle whichClass,
505  char* paramName,
506  RTI::Exception* except = 0 );
507 
508  virtual void getObjectInstanceHandle(
509  const char* theName,
510  RTI::ObjectHandle& handle,
511  RTI::Exception* except = 0 );
512 
513  virtual void getObjectInstanceName(
514  RTI::ObjectHandle theHandle,
515  char* objectInstanceName,
516  RTI::Exception* except = 0 );
517 
518  virtual void getRoutingSpaceHandle(
519  const char* theName,
520  RTI::SpaceHandle& handle,
521  RTI::Exception* except = 0 );
522 
523  virtual void getRoutingSpaceName(
524  RTI::SpaceHandle theHandle,
525  char* spaceName,
526  RTI::Exception* except = 0 );
527 
528  virtual void getDimensionHandle(
529  const char* theName,
530  RTI::SpaceHandle whichSpace,
531  RTI::DimensionHandle& handle,
532  RTI::Exception* except = 0 );
533 
534  virtual void getDimensionName(
535  RTI::DimensionHandle theHandle,
536  RTI::SpaceHandle whichSpace,
537  char* dimensionName,
538  RTI::Exception* except = 0 );
539 
540  virtual void getAttributeRoutingSpaceHandle(
541  RTI::AttributeHandle theHandle,
542  RTI::ObjectClassHandle whichClass,
543  RTI::SpaceHandle& handle,
544  RTI::Exception* except = 0 );
545 
546  virtual void getObjectClass(
547  RTI::ObjectHandle theObject,
548  RTI::ObjectClassHandle& handle,
549  RTI::Exception* except = 0 );
550 
551  virtual void getInteractionRoutingSpaceHandle(
552  RTI::InteractionClassHandle theHandle,
553  RTI::SpaceHandle& handle,
554  RTI::Exception* except = 0 );
555 
556  virtual void getTransportationHandle(
557  const char* theName,
558  RTI::TransportationHandle& handle,
559  RTI::Exception* except = 0 );
560 
561  virtual void getTransportationName(
562  RTI::TransportationHandle theHandle,
563  char* transportationName,
564  RTI::Exception* except = 0 );
565 
566  virtual void getOrderingHandle(
567  const char* theName,
568  RTI::OrderingHandle& handle,
569  RTI::Exception* except = 0 );
570 
571  virtual void getOrderingName(
572  RTI::OrderingHandle theHandle,
573  char* orderingName,
574  RTI::Exception* except = 0 );
575 
576  virtual void enableClassRelevanceAdvisorySwitch(
577  RTI::Exception* except = 0 );
578 
579  virtual void disableClassRelevanceAdvisorySwitch(
580  RTI::Exception* except = 0 );
581 
582  virtual void enableAttributeRelevanceAdvisorySwitch(
583  RTI::Exception* except = 0 );
584 
585  virtual void disableAttributeRelevanceAdvisorySwitch(
586  RTI::Exception* except = 0 );
587 
588  virtual void enableAttributeScopeAdvisorySwitch(
589  RTI::Exception* except = 0 );
590 
591  virtual void disableAttributeScopeAdvisorySwitch(
592  RTI::Exception* except = 0 );
593 
594  virtual void enableInteractionRelevanceAdvisorySwitch(
595  RTI::Exception* except = 0 );
596 
597  virtual void disableInteractionRelevanceAdvisorySwitch(
598  RTI::Exception* except = 0 );
599 
600  virtual void tick(
601  RTI::Boolean result,
602  RTI::Exception* except = 0 );
603 
604  virtual void tick(
605  RTI::TickTime minimum,
606  RTI::TickTime maximum,
607  RTI::Boolean result,
608  RTI::Exception* except = 0 );
609 
610  virtual void getRegionToken(
611  RTI::Region*,
612  RTI::RegionToken& token,
613  RTI::Exception* except = 0 );
614 
615  virtual void getRegion(
616  RTI::RegionToken,
617  RTI::Region* region,
618  RTI::Exception* except = 0 );
620 
621 protected:
622 
623  virtual void observe( const MAKRti::DtString& functionName,
624  RTI::Exception* except = 0,
625  const DtMomArgument& argument1 = theDfltMomArgument,
626  const DtMomArgument& argument2 = theDfltMomArgument,
627  const DtMomArgument& argument3 = theDfltMomArgument,
628  const DtMomArgument& argument4 = theDfltMomArgument,
629  const DtMomArgument& argument5 = theDfltMomArgument,
630  const DtMomArgument& returnArg = theDfltRetVal );
631 
632 protected:
633  DtMomMgr* myMomMgr;
634 
635  unsigned long myRegisterCount;
636  unsigned long myDeleteCount;
637  bool myAllowEvokeCallbackToBeObserved;
638 
639 protected:
640 
641  static const DtMomArgument theDfltMomArgument;
642  static const DtMomArgument theDfltRetVal;
643  static DtMomObserverCreator theCreator;
644 };
645 
646 #endif
647 #endif
std::set< AttributeHandle > AttributeHandleSet
Definition: Typedefs.h:27
ResignAction
Definition: datatypes.pb.h:305
std::set< FederateHandle > FederateHandleSet
Definition: Typedefs.h:29

Document ID: Generated on Sun Jul 20 16:15:30 EDT 2025 from SVN revision 277985
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)