12 #ifndef RTI_STATE1516_H_
13 #define RTI_STATE1516_H_
26 class DtMomObserver :
public DtRtiAmbassadorObserver
30 static const DtMomArgument theDfltMomArgument;
31 static DtMomArgument theDfltRetVal;
34 DtMomObserver( DtMomMgr* momMgrPtr );
36 virtual ~DtMomObserver();
43 virtual unsigned long objectRegisterCount()
const;
47 virtual unsigned long objectDeleteCount()
const;
53 virtual void createFederationExecution
55 (std::wstring
const & federationExecutionName,
56 std::wstring
const & fullPathNameToTheFDDfile,
57 std::wstring
const & logicalTimeImplementationName,
60 virtual void createFederationExecution(std::wstring
const & federationExecutionName,
61 std::vector<std::wstring>
const & fomModules, std::wstring
const & logicalTimeImplementationName,
64 virtual void createFederationExecution(std::wstring
const & federationExecutionName,
65 std::vector<std::wstring>
const & fomModules, std::wstring
const & mimModule,
69 virtual void destroyFederationExecution
70 (std::wstring
const & federationExecutionName,
74 virtual void joinFederationExecution
75 (std::wstring
const & federateType,
76 std::wstring
const & federationExecutionName,
78 rti1516e::FederateHandle
const & federateHandle,
81 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);
83 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);
86 virtual void resignFederationExecution
91 virtual void registerFederationSynchronizationPoint
92 (std::wstring
const & label,
96 virtual void registerFederationSynchronizationPoint
97 (std::wstring
const & label,
103 virtual void listFederationExecutions (
107 virtual void synchronizationPointAchieved (
108 std::wstring
const & label,
113 virtual void requestFederationSave
114 (std::wstring
const & label,
117 virtual void requestFederationSave
118 (std::wstring
const & label,
123 virtual void federateSaveBegun (
127 virtual void federateSaveComplete (
130 virtual void federateSaveNotComplete(
134 virtual void queryFederationSaveStatus (
138 virtual void requestFederationRestore
139 (std::wstring
const & label,
143 virtual void federateRestoreComplete (
146 virtual void federateRestoreNotComplete (
150 virtual void queryFederationRestoreStatus (
158 virtual void publishObjectClassAttributes
159 (rti1516e::ObjectClassHandle
const & theClass,
164 virtual void unpublishObjectClass
165 (rti1516e::ObjectClassHandle
const & theClass,
168 virtual void unpublishObjectClassAttributes
169 (rti1516e::ObjectClassHandle
const & theClass,
174 virtual void publishInteractionClass
175 (rti1516e::InteractionClassHandle
const & theInteraction,
179 virtual void unpublishInteractionClass
180 (rti1516e::InteractionClassHandle
const & theInteraction,
184 virtual void subscribeObjectClassAttributes
185 (rti1516e::ObjectClassHandle
const & theClass,
188 std::wstring
const & updateRateDesignator,
192 virtual void unsubscribeObjectClass
193 (rti1516e::ObjectClassHandle
const & theClass,
196 virtual void unsubscribeObjectClassAttributes
197 (rti1516e::ObjectClassHandle
const & theClass,
202 virtual void subscribeInteractionClass
203 (rti1516e::InteractionClassHandle
const & theClass,
208 virtual void unsubscribeInteractionClass
209 (rti1516e::InteractionClassHandle
const & theClass,
217 virtual void reserveObjectInstanceName
218 (std::wstring
const & theObjectInstanceName,
222 virtual void registerObjectInstance
223 (rti1516e::ObjectClassHandle
const & theClass,
224 rti1516e::ObjectInstanceHandle
const & objectHandle,
227 virtual void registerObjectInstance
228 (rti1516e::ObjectClassHandle
const & theClass,
229 std::wstring
const & theObjectInstanceName,
230 rti1516e::ObjectInstanceHandle
const & objectHandle,
234 virtual void updateAttributeValues
235 (rti1516e::ObjectInstanceHandle
const & theObject,
240 virtual void updateAttributeValues
241 (rti1516e::ObjectInstanceHandle
const & theObject,
245 rti1516e::MessageRetractionHandle
const & retractHandle,
249 virtual void sendInteraction
250 (rti1516e::InteractionClassHandle
const & theInteraction,
255 virtual void sendInteraction
256 (rti1516e::InteractionClassHandle
const & theInteraction,
260 rti1516e::MessageRetractionHandle
const & retractHandle,
264 virtual void deleteObjectInstance
265 (rti1516e::ObjectInstanceHandle
const & theObject,
269 virtual void deleteObjectInstance
270 (rti1516e::ObjectInstanceHandle
const & theObject,
273 rti1516e::MessageRetractionHandle
const & retractHandle,
277 virtual void localDeleteObjectInstance
278 (rti1516e::ObjectInstanceHandle
const & theObject,
282 virtual void changeAttributeTransportationType
283 (rti1516e::ObjectInstanceHandle
const & theObject,
289 virtual void changeInteractionTransportationType
290 (rti1516e::InteractionClassHandle
const & theClass,
295 virtual void requestAttributeValueUpdate
296 (rti1516e::ObjectInstanceHandle
const & theObject,
301 virtual void requestAttributeValueUpdate
302 (rti1516e::ObjectClassHandle
const & theClass,
308 virtual void requestInteractionTransportationTypeChange (
309 rti1516e::InteractionClassHandle
const & theClass,
317 virtual void unconditionalAttributeOwnershipDivestiture
318 (rti1516e::ObjectInstanceHandle
const & theObject,
323 virtual void negotiatedAttributeOwnershipDivestiture
324 (rti1516e::ObjectInstanceHandle
const & theObject,
330 virtual void confirmDivestiture
331 (rti1516e::ObjectInstanceHandle
const & theObject,
337 virtual void attributeOwnershipAcquisition
338 (rti1516e::ObjectInstanceHandle
const & theObject,
344 virtual void attributeOwnershipAcquisitionIfAvailable
345 (rti1516e::ObjectInstanceHandle
const & theObject,
350 virtual void attributeOwnershipDivestitureIfWanted
351 (rti1516e::ObjectInstanceHandle
const & theObject,
357 virtual void cancelNegotiatedAttributeOwnershipDivestiture
358 (rti1516e::ObjectInstanceHandle
const & theObject,
363 virtual void cancelAttributeOwnershipAcquisition
364 (rti1516e::ObjectInstanceHandle
const & theObject,
369 virtual void queryAttributeOwnership
370 (rti1516e::ObjectInstanceHandle
const & theObject,
371 rti1516e::AttributeHandle
const & theAttribute,
375 virtual void isAttributeOwnedByFederate
376 (rti1516e::ObjectInstanceHandle
const & theObject,
377 rti1516e::AttributeHandle
const & theAttribute,
386 virtual void enableTimeRegulation
391 virtual void disableTimeRegulation (
395 virtual void enableTimeConstrained (
399 virtual void disableTimeConstrained (
403 virtual void timeAdvanceRequest
408 virtual void timeAdvanceRequestAvailable
413 virtual void nextMessageRequest
418 virtual void nextMessageRequestAvailable
423 virtual void flushQueueRequest
428 virtual void enableAsynchronousDelivery (
432 virtual void disableAsynchronousDelivery (
450 virtual void modifyLookahead
460 (rti1516e::MessageRetractionHandle
const & theHandle,
464 virtual void changeAttributeOrderType
465 (rti1516e::ObjectInstanceHandle
const & theObject,
471 virtual void changeInteractionOrderType
472 (rti1516e::InteractionClassHandle
const & theClass,
481 virtual void createRegion
483 rti1516e::RegionHandle
const & handle,
487 virtual void commitRegionModifications
492 virtual void deleteRegion
493 (rti1516e::RegionHandle
const & theRegion,
497 virtual void registerObjectInstanceWithRegions
498 (rti1516e::ObjectClassHandle
const & theClass,
500 theAttributeHandleSetRegionHandleSetPairVector,
501 rti1516e::ObjectInstanceHandle
const & objectHandle,
504 virtual void registerObjectInstanceWithRegions
505 (rti1516e::ObjectClassHandle
const & theClass,
507 theAttributeHandleSetRegionHandleSetPairVector,
508 std::wstring
const & theObjectInstanceName,
509 rti1516e::ObjectInstanceHandle
const & objectHandle,
513 virtual void associateRegionsForUpdates
514 (rti1516e::ObjectInstanceHandle
const & theObject,
516 theAttributeHandleSetRegionHandleSetPairVector,
520 virtual void unassociateRegionsForUpdates
521 (rti1516e::ObjectInstanceHandle
const & theObject,
523 theAttributeHandleSetRegionHandleSetPairVector,
527 virtual void subscribeObjectClassAttributesWithRegions
528 (rti1516e::ObjectClassHandle
const & theClass,
530 theAttributeHandleSetRegionHandleSetPairVector,
532 std::wstring
const & updateRateDesignator,
536 virtual void unsubscribeObjectClassAttributesWithRegions
537 (rti1516e::ObjectClassHandle
const & theClass,
539 theAttributeHandleSetRegionHandleSetPairVector,
543 virtual void subscribeInteractionClassWithRegions
544 (rti1516e::InteractionClassHandle
const & theClass,
550 virtual void unsubscribeInteractionClassWithRegions
551 (rti1516e::InteractionClassHandle
const & theClass,
556 virtual void sendInteractionWithRegions
557 (rti1516e::InteractionClassHandle
const & theInteraction,
563 virtual void sendInteractionWithRegions
564 (rti1516e::InteractionClassHandle
const & theInteraction,
569 rti1516e::MessageRetractionHandle
const & retractHandle,
573 virtual void requestAttributeValueUpdateWithRegions
574 (rti1516e::ObjectClassHandle
const & theClass,
584 virtual void getObjectClassHandle
585 (std::wstring
const & theName,
586 rti1516e::ObjectClassHandle
const & classHandle,
590 virtual void getObjectClassName
591 (rti1516e::ObjectClassHandle
const & theHandle,
592 std::wstring
const & name,
596 virtual void getAttributeHandle
597 (rti1516e::ObjectClassHandle
const & whichClass,
598 std::wstring
const & theAttributeName,
599 rti1516e::AttributeHandle
const & handle,
603 virtual void getAttributeName
604 (rti1516e::ObjectClassHandle
const & whichClass,
605 rti1516e::AttributeHandle
const & theHandle,
606 std::wstring
const & name,
610 virtual void getInteractionClassHandle (
611 std::wstring
const & theName,
612 rti1516e::InteractionClassHandle
const & result,
616 virtual void getInteractionClassName
617 (rti1516e::InteractionClassHandle
const & theHandle,
618 std::wstring
const & name,
622 virtual void getParameterHandle
623 (rti1516e::InteractionClassHandle
const & whichClass,
624 std::wstring
const & theName,
625 rti1516e::ParameterHandle
const & handle,
629 virtual void getParameterName
630 (rti1516e::InteractionClassHandle
const & whichClass,
631 rti1516e::ParameterHandle
const & theHandle,
632 std::wstring
const & name,
636 virtual void getObjectInstanceHandle
637 (std::wstring
const & theName,
638 rti1516e::ObjectInstanceHandle
const & objectHandle,
642 virtual void getObjectInstanceName
643 (rti1516e::ObjectInstanceHandle
const & theHandle,
644 std::wstring
const & name,
648 virtual void getDimensionHandle
649 (std::wstring
const & theName,
650 rti1516e::DimensionHandle
const & handle,
654 virtual void getDimensionName
655 (rti1516e::DimensionHandle
const & theHandle,
656 std::wstring
const & name,
660 virtual void getDimensionUpperBound
661 (rti1516e::DimensionHandle
const & theHandle,
662 unsigned long upperBound,
666 virtual void getAvailableDimensionsForClassAttribute
667 (rti1516e::ObjectClassHandle
const & theClass,
668 rti1516e::AttributeHandle
const & theHandle,
673 virtual void getKnownObjectClassHandle
674 (rti1516e::ObjectInstanceHandle
const & theObject,
675 rti1516e::ObjectClassHandle
const & classHandle,
679 virtual void getAvailableDimensionsForInteractionClass
680 (rti1516e::InteractionClassHandle
const & theClass,
685 virtual void getTransportationType
686 (std::wstring
const & transportationName,
691 virtual void getTransportationName
693 std::wstring
const & name,
697 virtual void getOrderType
698 (std::wstring
const & orderName,
703 virtual void getOrderName
705 std::wstring
const & name,
709 virtual void enableObjectClassRelevanceAdvisorySwitch (
713 virtual void disableObjectClassRelevanceAdvisorySwitch (
717 virtual void enableAttributeRelevanceAdvisorySwitch (
721 virtual void disableAttributeRelevanceAdvisorySwitch (
725 virtual void enableAttributeScopeAdvisorySwitch (
729 virtual void disableAttributeScopeAdvisorySwitch (
733 virtual void enableInteractionRelevanceAdvisorySwitch (
737 virtual void disableInteractionRelevanceAdvisorySwitch (
741 virtual void getDimensionHandleSet
742 (rti1516e::RegionHandle
const & theRegionHandle,
747 virtual void getRangeBounds
748 (rti1516e::RegionHandle
const & theRegionHandle,
749 rti1516e::DimensionHandle
const & theDimensionHandle,
754 virtual void setRangeBounds
755 (rti1516e::RegionHandle
const & theRegionHandle,
756 rti1516e::DimensionHandle
const & theDimensionHandle,
761 virtual void normalizeFederateHandle
762 (rti1516e::FederateHandle
const & theFederateHandle,
763 unsigned long normal,
767 virtual void normalizeServiceGroup
769 unsigned long normal,
773 virtual void evokeCallback(
double approximateMinimumTimeInSeconds,
bool result,
rti1516e::Exception* except=NULL);
775 virtual void evokeMultipleCallbacks(
double approximateMinimumTimeInSeconds,
776 double approximateMaximumTimeInSeconds,
781 virtual void enableCallbacks (
785 virtual void disableCallbacks (
788 virtual void decodeFederateHandle(
790 rti1516e::FederateHandle
const & handle,
793 virtual void decodeObjectClassHandle(
795 rti1516e::ObjectClassHandle
const & classHandle,
798 virtual void decodeInteractionClassHandle(
800 rti1516e::InteractionClassHandle
const & handle,
803 virtual void decodeObjectInstanceHandle(
805 rti1516e::ObjectInstanceHandle
const & objectHandle,
808 virtual void decodeAttributeHandle(
810 rti1516e::AttributeHandle
const & handle,
813 virtual void decodeParameterHandle(
815 rti1516e::ParameterHandle
const & handle,
818 virtual void decodeDimensionHandle(
820 rti1516e::DimensionHandle
const & handle,
823 virtual void decodeMessageRetractionHandle(
825 rti1516e::MessageRetractionHandle
const & retractHandle,
828 virtual void decodeRegionHandle(
830 rti1516e::RegionHandle
const & handle,
841 virtual void releaseObjectInstanceName(std::wstring
const & theObjectInstanceName,
rti1516e::Exception* except=NULL);
843 virtual void reserveMultipleObjectInstanceName(std::set<std::wstring>
const & theObjectInstanceNames,
rti1516e::Exception* except=NULL);
845 virtual void releaseMultipleObjectInstanceName(std::set<std::wstring>
const & theObjectInstanceNames,
rti1516e::Exception* except=NULL);
849 virtual void queryAttributeTransportationType(rti1516e::ObjectInstanceHandle
const & theObject, rti1516e::AttributeHandle
const & theAttribute,
rti1516e::Exception* except=NULL);
851 virtual void queryInteractionTransportationType(rti1516e::FederateHandle
const & theFederate, rti1516e::InteractionClassHandle
const & theInteraction,
rti1516e::Exception* except=NULL);
859 virtual void getFederateHandle(std::wstring
const & theName, rti1516e::FederateHandle
const & result,
rti1516e::Exception* except=NULL);
861 virtual void getFederateName(rti1516e::FederateHandle
const & theHandle, std::wstring result,
rti1516e::Exception* except=NULL);
863 virtual void getUpdateRateValue(std::wstring
const & updateRateDesignator,
double result,
rti1516e::Exception* except=NULL);
865 virtual void getUpdateRateValueForAttribute(rti1516e::ObjectInstanceHandle
const & theObject, rti1516e::AttributeHandle
const & theAttribute,
double result,
rti1516e::Exception* except=NULL);
868 virtual int verboseLevel()
const;
879 unsigned long myRegisterCount;
880 unsigned long myDeleteCount;
881 bool myAllowEvokeCallbackToBeObserved;
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:88
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:90
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