24 typedef DtMomObserver* (*DtMomObserverCreator)(DtMomMgr* momMgrPtr);
26 class DtMomObserver :
public DtRtiAmbassadorObserver
31 static DtMomObserver* create(DtMomMgr* momMgrPtr);
32 static void setCreator(DtMomObserverCreator functionPtr);
36 DtMomObserver( DtMomMgr* momMgrPtr );
39 virtual ~DtMomObserver();
46 virtual unsigned long objectRegisterCount()
const;
50 virtual unsigned long objectDeleteCount()
const;
56 virtual void createFederationExecution
58 (std::wstring
const & federationExecutionName,
59 std::wstring
const & fullPathNameToTheFDDfile,
60 std::wstring
const & logicalTimeImplementationName,
61 rti1516::Exception* except=NULL);
64 virtual void destroyFederationExecution
65 (std::wstring
const & federationExecutionName,
66 rti1516::Exception* except=NULL);
69 virtual void joinFederationExecution
70 (std::wstring
const & federateType,
71 std::wstring
const & federationExecutionName,
72 rti1516::FederateAmbassador & federateAmbassador,
73 rti1516::FederateHandle federateHandle,
74 rti1516::Exception* except=NULL);
77 virtual void resignFederationExecution
79 rti1516::Exception* except=NULL);
82 virtual void registerFederationSynchronizationPoint
83 (std::wstring
const & label,
84 rti1516::VariableLengthData
const & theUserSuppliedTag,
85 rti1516::Exception* except=NULL);
87 virtual void registerFederationSynchronizationPoint
88 (std::wstring
const & label,
89 rti1516::VariableLengthData
const & theUserSuppliedTag,
91 rti1516::Exception* except=NULL);
94 virtual void synchronizationPointAchieved
95 (std::wstring
const & label,
96 rti1516::Exception* except=NULL);
99 virtual void requestFederationSave
100 (std::wstring
const & label,
101 rti1516::Exception* except=NULL);
103 virtual void requestFederationSave
104 (std::wstring
const & label,
105 rti1516::LogicalTime
const & theTime,
106 rti1516::Exception* except=NULL);
109 virtual void federateSaveBegun (
110 rti1516::Exception* except=NULL);
113 virtual void federateSaveComplete (
114 rti1516::Exception* except=NULL);
116 virtual void federateSaveNotComplete(
117 rti1516::Exception* except=NULL);
120 virtual void queryFederationSaveStatus (
121 rti1516::Exception* except=NULL);
124 virtual void requestFederationRestore
125 (std::wstring
const & label,
126 rti1516::Exception* except=NULL);
129 virtual void federateRestoreComplete (
130 rti1516::Exception* except=NULL);
132 virtual void federateRestoreNotComplete (
133 rti1516::Exception* except=NULL);
136 virtual void queryFederationRestoreStatus (
137 rti1516::Exception* except=NULL);
144 virtual void publishObjectClassAttributes
145 (rti1516::ObjectClassHandle theClass,
147 rti1516::Exception* except=NULL);
150 virtual void unpublishObjectClass
151 (rti1516::ObjectClassHandle theClass,
152 rti1516::Exception* except=NULL);
154 virtual void unpublishObjectClassAttributes
155 (rti1516::ObjectClassHandle theClass,
157 rti1516::Exception* except=NULL);
160 virtual void publishInteractionClass
161 (rti1516::InteractionClassHandle theInteraction,
162 rti1516::Exception* except=NULL);
165 virtual void unpublishInteractionClass
166 (rti1516::InteractionClassHandle theInteraction,
167 rti1516::Exception* except=NULL);
170 virtual void subscribeObjectClassAttributes
171 (rti1516::ObjectClassHandle theClass,
174 rti1516::Exception* except=NULL);
177 virtual void unsubscribeObjectClass
178 (rti1516::ObjectClassHandle theClass,
179 rti1516::Exception* except=NULL);
181 virtual void unsubscribeObjectClassAttributes
182 (rti1516::ObjectClassHandle theClass,
184 rti1516::Exception* except=NULL);
187 virtual void subscribeInteractionClass
188 (rti1516::InteractionClassHandle theClass,
190 rti1516::Exception* except=NULL);
193 virtual void unsubscribeInteractionClass
194 (rti1516::InteractionClassHandle theClass,
195 rti1516::Exception* except=NULL);
202 virtual void reserveObjectInstanceName
203 (std::wstring
const & theObjectInstanceName,
204 rti1516::Exception* except=NULL);
207 virtual void registerObjectInstance
208 (rti1516::ObjectClassHandle theClass,
209 rti1516::ObjectInstanceHandle objectHandle,
210 rti1516::Exception* except=NULL);
212 virtual void registerObjectInstance
213 (rti1516::ObjectClassHandle theClass,
214 std::wstring
const & theObjectInstanceName,
215 rti1516::ObjectInstanceHandle objectHandle,
216 rti1516::Exception* except=NULL);
219 virtual void updateAttributeValues
220 (rti1516::ObjectInstanceHandle theObject,
222 rti1516::VariableLengthData
const & theUserSuppliedTag,
223 rti1516::Exception* except=NULL);
225 virtual void updateAttributeValues
226 (rti1516::ObjectInstanceHandle theObject,
228 rti1516::VariableLengthData
const & theUserSuppliedTag,
229 rti1516::LogicalTime
const & theTime,
230 rti1516::MessageRetractionHandle retractHandle,
231 rti1516::Exception* except=NULL);
234 virtual void sendInteraction
235 (rti1516::InteractionClassHandle theInteraction,
237 rti1516::VariableLengthData
const & theUserSuppliedTag,
238 rti1516::Exception* except=NULL);
240 virtual void sendInteraction
241 (rti1516::InteractionClassHandle theInteraction,
243 rti1516::VariableLengthData
const & theUserSuppliedTag,
244 rti1516::LogicalTime
const & theTime,
245 rti1516::MessageRetractionHandle retractHandle,
246 rti1516::Exception* except=NULL);
249 virtual void deleteObjectInstance
250 (rti1516::ObjectInstanceHandle theObject,
251 rti1516::VariableLengthData
const & theUserSuppliedTag,
252 rti1516::Exception* except=NULL);
254 virtual void deleteObjectInstance
255 (rti1516::ObjectInstanceHandle theObject,
256 rti1516::VariableLengthData
const & theUserSuppliedTag,
257 rti1516::LogicalTime
const & theTime,
258 rti1516::MessageRetractionHandle retractHandle,
259 rti1516::Exception* except=NULL);
262 virtual void localDeleteObjectInstance
263 (rti1516::ObjectInstanceHandle theObject,
264 rti1516::Exception* except=NULL);
267 virtual void changeAttributeTransportationType
268 (rti1516::ObjectInstanceHandle theObject,
271 rti1516::Exception* except=NULL);
274 virtual void changeInteractionTransportationType
275 (rti1516::InteractionClassHandle theClass,
277 rti1516::Exception* except=NULL);
280 virtual void requestAttributeValueUpdate
281 (rti1516::ObjectInstanceHandle theObject,
283 rti1516::VariableLengthData
const & theUserSuppliedTag,
284 rti1516::Exception* except=NULL);
286 virtual void requestAttributeValueUpdate
287 (rti1516::ObjectClassHandle theClass,
289 rti1516::VariableLengthData
const & theUserSuppliedTag,
290 rti1516::Exception* except=NULL);
297 virtual void unconditionalAttributeOwnershipDivestiture
298 (rti1516::ObjectInstanceHandle theObject,
300 rti1516::Exception* except=NULL);
303 virtual void negotiatedAttributeOwnershipDivestiture
304 (rti1516::ObjectInstanceHandle theObject,
306 rti1516::VariableLengthData
const & theUserSuppliedTag,
307 rti1516::Exception* except=NULL);
310 virtual void confirmDivestiture
311 (rti1516::ObjectInstanceHandle theObject,
313 rti1516::VariableLengthData
const & theUserSuppliedTag,
314 rti1516::Exception* except=NULL);
317 virtual void attributeOwnershipAcquisition
318 (rti1516::ObjectInstanceHandle theObject,
320 rti1516::VariableLengthData
const & theUserSuppliedTag,
321 rti1516::Exception* except=NULL);
324 virtual void attributeOwnershipAcquisitionIfAvailable
325 (rti1516::ObjectInstanceHandle theObject,
327 rti1516::Exception* except=NULL);
330 virtual void attributeOwnershipDivestitureIfWanted
331 (rti1516::ObjectInstanceHandle theObject,
334 rti1516::Exception* except=NULL);
337 virtual void cancelNegotiatedAttributeOwnershipDivestiture
338 (rti1516::ObjectInstanceHandle theObject,
340 rti1516::Exception* except=NULL);
343 virtual void cancelAttributeOwnershipAcquisition
344 (rti1516::ObjectInstanceHandle theObject,
346 rti1516::Exception* except=NULL);
349 virtual void queryAttributeOwnership
350 (rti1516::ObjectInstanceHandle theObject,
351 rti1516::AttributeHandle theAttribute,
352 rti1516::Exception* except=NULL);
355 virtual void isAttributeOwnedByFederate
356 (rti1516::ObjectInstanceHandle theObject,
357 rti1516::AttributeHandle theAttribute,
359 rti1516::Exception* except=NULL);
366 virtual void enableTimeRegulation
367 (rti1516::LogicalTimeInterval
const & theLookahead,
368 rti1516::Exception* except=NULL);
371 virtual void disableTimeRegulation (
372 rti1516::Exception* except=NULL);
375 virtual void enableTimeConstrained (
376 rti1516::Exception* except=NULL);
379 virtual void disableTimeConstrained (
380 rti1516::Exception* except=NULL);
383 virtual void timeAdvanceRequest
384 (rti1516::LogicalTime
const & theTime,
385 rti1516::Exception* except=NULL);
388 virtual void timeAdvanceRequestAvailable
389 (rti1516::LogicalTime
const & theTime,
390 rti1516::Exception* except=NULL);
393 virtual void nextMessageRequest
394 (rti1516::LogicalTime
const & theTime,
395 rti1516::Exception* except=NULL);
398 virtual void nextMessageRequestAvailable
399 (rti1516::LogicalTime
const & theTime,
400 rti1516::Exception* except=NULL);
403 virtual void flushQueueRequest
404 (rti1516::LogicalTime
const & theTime,
405 rti1516::Exception* except=NULL);
408 virtual void enableAsynchronousDelivery (
409 rti1516::Exception* except=NULL);
412 virtual void disableAsynchronousDelivery (
413 rti1516::Exception* except=NULL);
416 virtual void queryGALT (rti1516::LogicalTime & theTime,
418 rti1516::Exception* except=NULL);
421 virtual void queryLogicalTime (rti1516::LogicalTime & theTime,
422 rti1516::Exception* except=NULL);
425 virtual void queryLITS (rti1516::LogicalTime & theTime,
427 rti1516::Exception* except=NULL);
430 virtual void modifyLookahead
431 (rti1516::LogicalTimeInterval
const & theLookahead,
432 rti1516::Exception* except=NULL);
435 virtual void queryLookahead (rti1516::LogicalTimeInterval & interval,
436 rti1516::Exception* except=NULL);
440 (rti1516::MessageRetractionHandle theHandle,
441 rti1516::Exception* except=NULL);
444 virtual void changeAttributeOrderType
445 (rti1516::ObjectInstanceHandle theObject,
448 rti1516::Exception* except=NULL);
451 virtual void changeInteractionOrderType
452 (rti1516::InteractionClassHandle theClass,
454 rti1516::Exception* except=NULL);
461 virtual void createRegion
463 rti1516::RegionHandle handle,
464 rti1516::Exception* except=NULL);
467 virtual void commitRegionModifications
469 rti1516::Exception* except=NULL);
472 virtual void deleteRegion
473 (rti1516::RegionHandle theRegion,
474 rti1516::Exception* except=NULL);
477 virtual void registerObjectInstanceWithRegions
478 (rti1516::ObjectClassHandle theClass,
480 theAttributeHandleSetRegionHandleSetPairVector,
481 rti1516::ObjectInstanceHandle objectHandle,
482 rti1516::Exception* except=NULL);
484 virtual void registerObjectInstanceWithRegions
485 (rti1516::ObjectClassHandle theClass,
487 theAttributeHandleSetRegionHandleSetPairVector,
488 std::wstring
const & theObjectInstanceName,
489 rti1516::ObjectInstanceHandle objectHandle,
490 rti1516::Exception* except=NULL);
493 virtual void associateRegionsForUpdates
494 (rti1516::ObjectInstanceHandle theObject,
496 theAttributeHandleSetRegionHandleSetPairVector,
497 rti1516::Exception* except=NULL);
500 virtual void unassociateRegionsForUpdates
501 (rti1516::ObjectInstanceHandle theObject,
503 theAttributeHandleSetRegionHandleSetPairVector,
504 rti1516::Exception* except=NULL);
507 virtual void subscribeObjectClassAttributesWithRegions
508 (rti1516::ObjectClassHandle theClass,
510 theAttributeHandleSetRegionHandleSetPairVector,
512 rti1516::Exception* except=NULL);
515 virtual void unsubscribeObjectClassAttributesWithRegions
516 (rti1516::ObjectClassHandle theClass,
518 theAttributeHandleSetRegionHandleSetPairVector,
519 rti1516::Exception* except=NULL);
522 virtual void subscribeInteractionClassWithRegions
523 (rti1516::InteractionClassHandle theClass,
526 rti1516::Exception* except=NULL);
529 virtual void unsubscribeInteractionClassWithRegions
530 (rti1516::InteractionClassHandle theClass,
532 rti1516::Exception* except=NULL);
535 virtual void sendInteractionWithRegions
536 (rti1516::InteractionClassHandle theInteraction,
539 rti1516::VariableLengthData
const & theUserSuppliedTag,
540 rti1516::Exception* except=NULL);
542 virtual void sendInteractionWithRegions
543 (rti1516::InteractionClassHandle theInteraction,
546 rti1516::VariableLengthData
const & theUserSuppliedTag,
547 rti1516::LogicalTime
const & theTime,
548 rti1516::MessageRetractionHandle retractHandle,
549 rti1516::Exception* except=NULL);
552 virtual void requestAttributeValueUpdateWithRegions
553 (rti1516::ObjectClassHandle theClass,
555 rti1516::VariableLengthData
const & theUserSuppliedTag,
556 rti1516::Exception* except=NULL);
563 virtual void getObjectClassHandle
564 (std::wstring
const & theName,
565 rti1516::ObjectClassHandle classHandle,
566 rti1516::Exception* except=NULL);
569 virtual void getObjectClassName
570 (rti1516::ObjectClassHandle theHandle,
572 rti1516::Exception* except=NULL);
575 virtual void getAttributeHandle
576 (rti1516::ObjectClassHandle whichClass,
577 std::wstring
const & theAttributeName,
578 rti1516::AttributeHandle handle,
579 rti1516::Exception* except=NULL);
582 virtual void getAttributeName
583 (rti1516::ObjectClassHandle whichClass,
584 rti1516::AttributeHandle theHandle,
586 rti1516::Exception* except=NULL);
589 virtual void getInteractionClassHandle
590 (std::wstring
const & theName,
591 rti1516::InteractionClassHandle handle,
592 rti1516::Exception* except=NULL);
595 virtual void getInteractionClassName
596 (rti1516::InteractionClassHandle theHandle,
598 rti1516::Exception* except=NULL);
601 virtual void getParameterHandle
602 (rti1516::InteractionClassHandle whichClass,
603 std::wstring
const & theName,
604 rti1516::ParameterHandle handle,
605 rti1516::Exception* except=NULL);
608 virtual void getParameterName
609 (rti1516::InteractionClassHandle whichClass,
610 rti1516::ParameterHandle theHandle,
612 rti1516::Exception* except=NULL);
615 virtual void getObjectInstanceHandle
616 (std::wstring
const & theName,
617 rti1516::ObjectInstanceHandle objectHandle,
618 rti1516::Exception* except=NULL);
621 virtual void getObjectInstanceName
622 (rti1516::ObjectInstanceHandle theHandle,
624 rti1516::Exception* except=NULL);
627 virtual void getDimensionHandle
628 (std::wstring
const & theName,
629 rti1516::DimensionHandle handle,
630 rti1516::Exception* except=NULL);
633 virtual void getDimensionName
634 (rti1516::DimensionHandle theHandle,
636 rti1516::Exception* except=NULL);
639 virtual void getDimensionUpperBound
640 (rti1516::DimensionHandle theHandle,
641 unsigned long upperBound,
642 rti1516::Exception* except=NULL);
645 virtual void getAvailableDimensionsForClassAttribute
646 (rti1516::ObjectClassHandle theClass,
647 rti1516::AttributeHandle theHandle,
649 rti1516::Exception* except=NULL);
652 virtual void getKnownObjectClassHandle
653 (rti1516::ObjectInstanceHandle theObject,
654 rti1516::ObjectClassHandle classHandle,
655 rti1516::Exception* except=NULL);
658 virtual void getAvailableDimensionsForInteractionClass
659 (rti1516::InteractionClassHandle theClass,
661 rti1516::Exception* except=NULL);
664 virtual void getTransportationType
665 (std::wstring
const & transportationName,
667 rti1516::Exception* except=NULL);
670 virtual void getTransportationName
673 rti1516::Exception* except=NULL);
676 virtual void getOrderType
677 (std::wstring
const & orderName,
679 rti1516::Exception* except=NULL);
682 virtual void getOrderName
685 rti1516::Exception* except=NULL);
688 virtual void enableObjectClassRelevanceAdvisorySwitch (
689 rti1516::Exception* except=NULL);
692 virtual void disableObjectClassRelevanceAdvisorySwitch (
693 rti1516::Exception* except=NULL);
696 virtual void enableAttributeRelevanceAdvisorySwitch (
697 rti1516::Exception* except=NULL);
700 virtual void disableAttributeRelevanceAdvisorySwitch (
701 rti1516::Exception* except=NULL);
704 virtual void enableAttributeScopeAdvisorySwitch (
705 rti1516::Exception* except=NULL);
708 virtual void disableAttributeScopeAdvisorySwitch (
709 rti1516::Exception* except=NULL);
712 virtual void enableInteractionRelevanceAdvisorySwitch (
713 rti1516::Exception* except=NULL);
716 virtual void disableInteractionRelevanceAdvisorySwitch (
717 rti1516::Exception* except=NULL);
720 virtual void getDimensionHandleSet
721 (rti1516::RegionHandle theRegionHandle,
723 rti1516::Exception* except=NULL);
726 virtual void getRangeBounds
727 (rti1516::RegionHandle theRegionHandle,
728 rti1516::DimensionHandle theDimensionHandle,
729 rti1516::RangeBounds bounds,
730 rti1516::Exception* except=NULL);
733 virtual void setRangeBounds
734 (rti1516::RegionHandle theRegionHandle,
735 rti1516::DimensionHandle theDimensionHandle,
736 rti1516::RangeBounds
const & theRangeBounds,
737 rti1516::Exception* except=NULL);
740 virtual void normalizeFederateHandle
741 (rti1516::FederateHandle theFederateHandle,
742 unsigned long normal,
743 rti1516::Exception* except=NULL);
746 virtual void normalizeServiceGroup
747 (rti1516::ServiceGroupIndicator theServiceGroup,
748 unsigned long normal,
749 rti1516::Exception* except=NULL);
754 virtual void evokeCallback(
double approximateMinimumTimeInSeconds,
756 rti1516::Exception* except=NULL);
759 virtual void evokeMultipleCallbacks(
double approximateMinimumTimeInSeconds,
760 double approximateMaximumTimeInSeconds,
762 rti1516::Exception* except=NULL);
765 virtual void enableCallbacks (
766 rti1516::Exception* except=NULL);
769 virtual void disableCallbacks (
770 rti1516::Exception* except=NULL);
772 virtual void decodeFederateHandle(
773 rti1516::VariableLengthData
const & encodedValue,
774 rti1516::FederateHandle handle,
775 rti1516::Exception* except=NULL)
const;
777 virtual void decodeObjectClassHandle(
778 rti1516::VariableLengthData
const & encodedValue,
779 rti1516::ObjectClassHandle classHandle,
780 rti1516::Exception* except=NULL)
const;
782 virtual void decodeInteractionClassHandle(
783 rti1516::VariableLengthData
const & encodedValue,
784 rti1516::InteractionClassHandle handle,
785 rti1516::Exception* except=NULL)
const;
787 virtual void decodeObjectInstanceHandle(
788 rti1516::VariableLengthData
const & encodedValue,
789 rti1516::ObjectInstanceHandle objectHandle,
790 rti1516::Exception* except=NULL)
const;
792 virtual void decodeAttributeHandle(
793 rti1516::VariableLengthData
const & encodedValue,
794 rti1516::AttributeHandle handle,
795 rti1516::Exception* except=NULL)
const;
797 virtual void decodeParameterHandle(
798 rti1516::VariableLengthData
const & encodedValue,
799 rti1516::ParameterHandle handle,
800 rti1516::Exception* except=NULL)
const;
802 virtual void decodeDimensionHandle(
803 rti1516::VariableLengthData
const & encodedValue,
804 rti1516::DimensionHandle handle,
805 rti1516::Exception* except=NULL)
const;
807 virtual void decodeMessageRetractionHandle(
808 rti1516::VariableLengthData
const & encodedValue,
809 rti1516::MessageRetractionHandle retractHandle,
810 rti1516::Exception* except=NULL)
const;
812 virtual void decodeRegionHandle(
813 rti1516::VariableLengthData
const & encodedValue,
814 rti1516::RegionHandle handle,
815 rti1516::Exception* except=NULL)
const;
819 virtual int verboseLevel()
const;
828 unsigned long myRegisterCount;
829 unsigned long myDeleteCount;
830 bool myAllowEvokeCallbackToBeObserved;
832 static const DtMomArgument theDfltMomArgument;
833 static const DtMomArgument theDfltRetVal;
834 static DtMomObserverCreator theCreator;
std::set< DimensionHandle > DimensionHandleSet
Definition: Typedefs.h:33
std::set< AttributeHandle > AttributeHandleSet
Definition: Typedefs.h:29
OrderType
Definition: datatypes.pb.h:472
TransportationType
Definition: rtiAmbassadorFedProBase.h:43
std::vector< AttributeHandleSetRegionHandleSetPair > AttributeHandleSetRegionHandleSetPairVector
Definition: Typedefs.h:52
Instances of DtFederateMgr process federation-level messages (such as create, destroy, join, resign, and sync points) and manages the objects responsible for handling general communication, objects, interactions, the FOM, MOM, and data distribution mmg.
Definition: fedMgr.h:93
std::map< AttributeHandle, VariableLengthData > AttributeHandleValueMap
Definition: Typedefs.h:39
The object manager class processes the object management services.
Definition: objMgr.h:81
ResignAction
Definition: datatypes.pb.h:305
std::map< ParameterHandle, VariableLengthData > ParameterHandleValueMap
Definition: Typedefs.h:44
std::set< FederateHandle > FederateHandleSet
Definition: Typedefs.h:32
std::set< RegionHandle > RegionHandleSet
Definition: Typedefs.h:34