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,
63 virtual void createFederationExecution(std::wstring
const & federationExecutionName,
64 std::vector<std::wstring>
const & fomModules, std::wstring
const & logicalTimeImplementationName,
67 virtual void createFederationExecution(std::wstring
const & federationExecutionName,
68 std::vector<std::wstring>
const & fomModules, std::wstring
const & mimModule,
72 virtual void destroyFederationExecution
73 (std::wstring
const & federationExecutionName,
77 virtual void joinFederationExecution
78 (std::wstring
const & federateType,
79 std::wstring
const & federationExecutionName,
81 rti1516e::FederateHandle
const & federateHandle,
84 virtual void joinFederationExecution(std::wstring
const & federateType, std::wstring
const & federationExecutionName, std::vector<std::wstring>
const & additionalFomModules, rti1516e::FederateHandle
const & result,
rti1516e::Exception* except=NULL);
86 virtual void joinFederationExecution(std::wstring
const & federateName, std::wstring
const & federateType, std::wstring
const & federationExecutionName, std::vector<std::wstring>
const & additionalFomModules, rti1516e::FederateHandle
const & result,
rti1516e::Exception* except=NULL);
89 virtual void resignFederationExecution
94 virtual void registerFederationSynchronizationPoint
95 (std::wstring
const & label,
99 virtual void registerFederationSynchronizationPoint
100 (std::wstring
const & label,
106 virtual void listFederationExecutions (
110 virtual void synchronizationPointAchieved (
111 std::wstring
const & label,
116 virtual void requestFederationSave
117 (std::wstring
const & label,
120 virtual void requestFederationSave
121 (std::wstring
const & label,
126 virtual void federateSaveBegun (
130 virtual void federateSaveComplete (
133 virtual void federateSaveNotComplete(
137 virtual void queryFederationSaveStatus (
141 virtual void requestFederationRestore
142 (std::wstring
const & label,
146 virtual void federateRestoreComplete (
149 virtual void federateRestoreNotComplete (
153 virtual void queryFederationRestoreStatus (
161 virtual void publishObjectClassAttributes
162 (rti1516e::ObjectClassHandle
const & theClass,
167 virtual void unpublishObjectClass
168 (rti1516e::ObjectClassHandle
const & theClass,
171 virtual void unpublishObjectClassAttributes
172 (rti1516e::ObjectClassHandle
const & theClass,
177 virtual void publishInteractionClass
178 (rti1516e::InteractionClassHandle
const & theInteraction,
182 virtual void unpublishInteractionClass
183 (rti1516e::InteractionClassHandle
const & theInteraction,
187 virtual void subscribeObjectClassAttributes
188 (rti1516e::ObjectClassHandle
const & theClass,
191 std::wstring
const & updateRateDesignator,
195 virtual void unsubscribeObjectClass
196 (rti1516e::ObjectClassHandle
const & theClass,
199 virtual void unsubscribeObjectClassAttributes
200 (rti1516e::ObjectClassHandle
const & theClass,
205 virtual void subscribeInteractionClass
206 (rti1516e::InteractionClassHandle
const & theClass,
211 virtual void unsubscribeInteractionClass
212 (rti1516e::InteractionClassHandle
const & theClass,
220 virtual void reserveObjectInstanceName
221 (std::wstring
const & theObjectInstanceName,
225 virtual void registerObjectInstance
226 (rti1516e::ObjectClassHandle
const & theClass,
227 rti1516e::ObjectInstanceHandle
const & objectHandle,
230 virtual void registerObjectInstance
231 (rti1516e::ObjectClassHandle
const & theClass,
232 std::wstring
const & theObjectInstanceName,
233 rti1516e::ObjectInstanceHandle
const & objectHandle,
237 virtual void updateAttributeValues
238 (rti1516e::ObjectInstanceHandle
const & theObject,
243 virtual void updateAttributeValues
244 (rti1516e::ObjectInstanceHandle
const & theObject,
248 rti1516e::MessageRetractionHandle
const & retractHandle,
252 virtual void sendInteraction
253 (rti1516e::InteractionClassHandle
const & theInteraction,
258 virtual void sendInteraction
259 (rti1516e::InteractionClassHandle
const & theInteraction,
263 rti1516e::MessageRetractionHandle
const & retractHandle,
267 virtual void deleteObjectInstance
268 (rti1516e::ObjectInstanceHandle
const & theObject,
272 virtual void deleteObjectInstance
273 (rti1516e::ObjectInstanceHandle
const & theObject,
276 rti1516e::MessageRetractionHandle
const & retractHandle,
280 virtual void localDeleteObjectInstance
281 (rti1516e::ObjectInstanceHandle
const & theObject,
285 virtual void requestAttributeValueUpdate
286 (rti1516e::ObjectInstanceHandle
const & theObject,
291 virtual void requestAttributeValueUpdate
292 (rti1516e::ObjectClassHandle
const & theClass,
298 virtual void requestInteractionTransportationTypeChange (
299 rti1516e::InteractionClassHandle
const & theClass,
307 virtual void unconditionalAttributeOwnershipDivestiture
308 (rti1516e::ObjectInstanceHandle
const & theObject,
313 virtual void negotiatedAttributeOwnershipDivestiture
314 (rti1516e::ObjectInstanceHandle
const & theObject,
320 virtual void confirmDivestiture
321 (rti1516e::ObjectInstanceHandle
const & theObject,
327 virtual void attributeOwnershipAcquisition
328 (rti1516e::ObjectInstanceHandle
const & theObject,
334 virtual void attributeOwnershipAcquisitionIfAvailable
335 (rti1516e::ObjectInstanceHandle
const & theObject,
340 virtual void attributeOwnershipDivestitureIfWanted
341 (rti1516e::ObjectInstanceHandle
const & theObject,
347 virtual void cancelNegotiatedAttributeOwnershipDivestiture
348 (rti1516e::ObjectInstanceHandle
const & theObject,
353 virtual void cancelAttributeOwnershipAcquisition
354 (rti1516e::ObjectInstanceHandle
const & theObject,
359 virtual void queryAttributeOwnership
360 (rti1516e::ObjectInstanceHandle
const & theObject,
361 rti1516e::AttributeHandle
const & theAttribute,
365 virtual void isAttributeOwnedByFederate
366 (rti1516e::ObjectInstanceHandle
const & theObject,
367 rti1516e::AttributeHandle
const & theAttribute,
376 virtual void enableTimeRegulation
381 virtual void disableTimeRegulation (
385 virtual void enableTimeConstrained (
389 virtual void disableTimeConstrained (
393 virtual void timeAdvanceRequest
398 virtual void timeAdvanceRequestAvailable
403 virtual void nextMessageRequest
408 virtual void nextMessageRequestAvailable
413 virtual void flushQueueRequest
418 virtual void enableAsynchronousDelivery (
422 virtual void disableAsynchronousDelivery (
440 virtual void modifyLookahead
450 (rti1516e::MessageRetractionHandle
const & theHandle,
454 virtual void changeAttributeOrderType
455 (rti1516e::ObjectInstanceHandle
const & theObject,
461 virtual void changeInteractionOrderType
462 (rti1516e::InteractionClassHandle
const & theClass,
471 virtual void createRegion
473 rti1516e::RegionHandle
const & handle,
477 virtual void commitRegionModifications
482 virtual void deleteRegion
483 (rti1516e::RegionHandle
const & theRegion,
487 virtual void registerObjectInstanceWithRegions
488 (rti1516e::ObjectClassHandle
const & theClass,
490 theAttributeHandleSetRegionHandleSetPairVector,
491 rti1516e::ObjectInstanceHandle
const & objectHandle,
494 virtual void registerObjectInstanceWithRegions
495 (rti1516e::ObjectClassHandle
const & theClass,
497 theAttributeHandleSetRegionHandleSetPairVector,
498 std::wstring
const & theObjectInstanceName,
499 rti1516e::ObjectInstanceHandle
const & objectHandle,
503 virtual void associateRegionsForUpdates
504 (rti1516e::ObjectInstanceHandle
const & theObject,
506 theAttributeHandleSetRegionHandleSetPairVector,
510 virtual void unassociateRegionsForUpdates
511 (rti1516e::ObjectInstanceHandle
const & theObject,
513 theAttributeHandleSetRegionHandleSetPairVector,
517 virtual void subscribeObjectClassAttributesWithRegions
518 (rti1516e::ObjectClassHandle
const & theClass,
520 theAttributeHandleSetRegionHandleSetPairVector,
522 std::wstring
const & updateRateDesignator,
526 virtual void unsubscribeObjectClassAttributesWithRegions
527 (rti1516e::ObjectClassHandle
const & theClass,
529 theAttributeHandleSetRegionHandleSetPairVector,
533 virtual void subscribeInteractionClassWithRegions
534 (rti1516e::InteractionClassHandle
const & theClass,
540 virtual void unsubscribeInteractionClassWithRegions
541 (rti1516e::InteractionClassHandle
const & theClass,
546 virtual void sendInteractionWithRegions
547 (rti1516e::InteractionClassHandle
const & theInteraction,
553 virtual void sendInteractionWithRegions
554 (rti1516e::InteractionClassHandle
const & theInteraction,
559 rti1516e::MessageRetractionHandle
const & retractHandle,
563 virtual void requestAttributeValueUpdateWithRegions
564 (rti1516e::ObjectClassHandle
const & theClass,
574 virtual void getObjectClassHandle
575 (std::wstring
const & theName,
576 rti1516e::ObjectClassHandle
const & classHandle,
580 virtual void getObjectClassName
581 (rti1516e::ObjectClassHandle
const & theHandle,
582 std::wstring
const & name,
586 virtual void getAttributeHandle
587 (rti1516e::ObjectClassHandle
const & whichClass,
588 std::wstring
const & theAttributeName,
589 rti1516e::AttributeHandle
const & handle,
593 virtual void getAttributeName
594 (rti1516e::ObjectClassHandle
const & whichClass,
595 rti1516e::AttributeHandle
const & theHandle,
596 std::wstring
const & name,
600 virtual void getInteractionClassHandle (
601 std::wstring
const & theName,
602 rti1516e::InteractionClassHandle
const & result,
606 virtual void getInteractionClassName
607 (rti1516e::InteractionClassHandle
const & theHandle,
608 std::wstring
const & name,
612 virtual void getParameterHandle
613 (rti1516e::InteractionClassHandle
const & whichClass,
614 std::wstring
const & theName,
615 rti1516e::ParameterHandle
const & handle,
619 virtual void getParameterName
620 (rti1516e::InteractionClassHandle
const & whichClass,
621 rti1516e::ParameterHandle
const & theHandle,
622 std::wstring
const & name,
626 virtual void getObjectInstanceHandle
627 (std::wstring
const & theName,
628 rti1516e::ObjectInstanceHandle
const & objectHandle,
632 virtual void getObjectInstanceName
633 (rti1516e::ObjectInstanceHandle
const & theHandle,
634 std::wstring
const & name,
638 virtual void getDimensionHandle
639 (std::wstring
const & theName,
640 rti1516e::DimensionHandle
const & handle,
644 virtual void getDimensionName
645 (rti1516e::DimensionHandle
const & theHandle,
646 std::wstring
const & name,
650 virtual void getDimensionUpperBound
651 (rti1516e::DimensionHandle
const & theHandle,
652 unsigned long upperBound,
656 virtual void getAvailableDimensionsForClassAttribute
657 (rti1516e::ObjectClassHandle
const & theClass,
658 rti1516e::AttributeHandle
const & theHandle,
663 virtual void getKnownObjectClassHandle
664 (rti1516e::ObjectInstanceHandle
const & theObject,
665 rti1516e::ObjectClassHandle
const & classHandle,
669 virtual void getAvailableDimensionsForInteractionClass
670 (rti1516e::InteractionClassHandle
const & theClass,
675 virtual void getTransportationType
676 (std::wstring
const & transportationName,
681 virtual void getTransportationName
683 std::wstring
const & name,
687 virtual void getOrderType
688 (std::wstring
const & orderName,
693 virtual void getOrderName
695 std::wstring
const & name,
699 virtual void enableObjectClassRelevanceAdvisorySwitch (
703 virtual void disableObjectClassRelevanceAdvisorySwitch (
707 virtual void enableAttributeRelevanceAdvisorySwitch (
711 virtual void disableAttributeRelevanceAdvisorySwitch (
715 virtual void enableAttributeScopeAdvisorySwitch (
719 virtual void disableAttributeScopeAdvisorySwitch (
723 virtual void enableInteractionRelevanceAdvisorySwitch (
727 virtual void disableInteractionRelevanceAdvisorySwitch (
731 virtual void getDimensionHandleSet
732 (rti1516e::RegionHandle
const & theRegionHandle,
737 virtual void getRangeBounds
738 (rti1516e::RegionHandle
const & theRegionHandle,
739 rti1516e::DimensionHandle
const & theDimensionHandle,
744 virtual void setRangeBounds
745 (rti1516e::RegionHandle
const & theRegionHandle,
746 rti1516e::DimensionHandle
const & theDimensionHandle,
751 virtual void normalizeFederateHandle
752 (rti1516e::FederateHandle
const & theFederateHandle,
753 unsigned long normal,
757 virtual void normalizeServiceGroup
759 unsigned long normal,
763 virtual void evokeCallback(
double approximateMinimumTimeInSeconds,
bool result,
rti1516e::Exception* except=NULL);
765 virtual void evokeMultipleCallbacks(
double approximateMinimumTimeInSeconds,
766 double approximateMaximumTimeInSeconds,
771 virtual void enableCallbacks (
775 virtual void disableCallbacks (
778 virtual void decodeFederateHandle(
780 rti1516e::FederateHandle
const & handle,
783 virtual void decodeObjectClassHandle(
785 rti1516e::ObjectClassHandle
const & classHandle,
788 virtual void decodeInteractionClassHandle(
790 rti1516e::InteractionClassHandle
const & handle,
793 virtual void decodeObjectInstanceHandle(
795 rti1516e::ObjectInstanceHandle
const & objectHandle,
798 virtual void decodeAttributeHandle(
800 rti1516e::AttributeHandle
const & handle,
803 virtual void decodeParameterHandle(
805 rti1516e::ParameterHandle
const & handle,
808 virtual void decodeDimensionHandle(
810 rti1516e::DimensionHandle
const & handle,
813 virtual void decodeMessageRetractionHandle(
815 rti1516e::MessageRetractionHandle
const & retractHandle,
818 virtual void decodeRegionHandle(
820 rti1516e::RegionHandle
const & handle,
831 virtual void releaseObjectInstanceName(std::wstring
const & theObjectInstanceName,
rti1516e::Exception* except=NULL);
833 virtual void reserveMultipleObjectInstanceName(std::set<std::wstring>
const & theObjectInstanceNames,
rti1516e::Exception* except=NULL);
835 virtual void releaseMultipleObjectInstanceName(std::set<std::wstring>
const & theObjectInstanceNames,
rti1516e::Exception* except=NULL);
839 virtual void queryAttributeTransportationType(rti1516e::ObjectInstanceHandle
const & theObject, rti1516e::AttributeHandle
const & theAttribute,
rti1516e::Exception* except=NULL);
841 virtual void queryInteractionTransportationType(rti1516e::FederateHandle
const & theFederate, rti1516e::InteractionClassHandle
const & theInteraction,
rti1516e::Exception* except=NULL);
849 virtual void getFederateHandle(std::wstring
const & theName, rti1516e::FederateHandle
const & result,
rti1516e::Exception* except=NULL);
851 virtual void getFederateName(rti1516e::FederateHandle
const & theHandle, std::wstring result,
rti1516e::Exception* except=NULL);
853 virtual void getUpdateRateValue(std::wstring
const & updateRateDesignator,
double result,
rti1516e::Exception* except=NULL);
855 virtual void getUpdateRateValueForAttribute(rti1516e::ObjectInstanceHandle
const & theObject, rti1516e::AttributeHandle
const & theAttribute,
double result,
rti1516e::Exception* except=NULL);
858 virtual int verboseLevel()
const;
869 unsigned long myRegisterCount;
870 unsigned long myDeleteCount;
871 bool myAllowEvokeCallbackToBeObserved;
873 static const DtMomArgument theDfltMomArgument;
874 static const DtMomArgument theDfltRetVal;
875 static DtMomObserverCreator theCreator;
Definition: LogicalTimeInterval.h:35
std::set< AttributeHandle > AttributeHandleSet
Definition: Typedefs.h:35
Definition: LogicalTime.h:35
Definition: VariableLengthData.h:34
ResignAction
Definition: Enums.h:33
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
Definition: Exception.h:26
std::set< RegionHandle > RegionHandleSet
Definition: Typedefs.h:39
std::vector< AttributeHandleSetRegionHandleSetPair > AttributeHandleSetRegionHandleSetPairVector
Definition: Typedefs.h:57
OrderType
Definition: Enums.h:27
The object manager class processes the object management services.
Definition: objMgr.h:81
Definition: RangeBounds.h:21
ServiceGroup
Definition: Enums.h:80
CallbackModel
Definition: Enums.h:21
std::map< AttributeHandle, VariableLengthData > AttributeHandleValueMap
Definition: Typedefs.h:44
std::set< FederateHandle > FederateHandleSet
Definition: Typedefs.h:37
An abstract base class which must be implemented, and used by a federate.
Definition: FederateAmbassador.h:32
TransportationType
Definition: Enums.h:97
std::set< DimensionHandle > DimensionHandleSet
Definition: Typedefs.h:38
std::map< ParameterHandle, VariableLengthData > ParameterHandleValueMap
Definition: Typedefs.h:49