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;
55 (std::wstring
const & federationExecutionName,
56 std::wstring
const & fullPathNameToTheFDDfile,
57 std::wstring
const & logicalTimeImplementationName,
58 rti1516e::Exception* except=
NULL);
61 std::vector<std::wstring>
const & fomModules, std::wstring
const & logicalTimeImplementationName,
62 rti1516e::Exception* except=
NULL);
65 std::vector<std::wstring>
const & fomModules, std::wstring
const & mimModule,
66 std::wstring
const & logicalTimeImplementationName, rti1516e::Exception* except=
NULL);
70 (std::wstring
const & federationExecutionName,
71 rti1516e::Exception* except=
NULL);
75 (std::wstring
const & federateType,
76 std::wstring
const & federationExecutionName,
79 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);
88 rti1516e::Exception* except=
NULL);
92 (std::wstring
const & label,
93 rti1516e::VariableLengthData
const & theUserSuppliedTag,
94 rti1516e::Exception* except=
NULL);
97 (std::wstring
const & label,
98 rti1516e::VariableLengthData
const & theUserSuppliedTag,
99 rti1516e::FederateHandleSet
const & syncSet,
100 rti1516e::Exception* except=
NULL);
103 virtual void listFederationExecutions (
104 rti1516e::Exception* except=
NULL);
108 std::wstring
const & label,
110 rti1516e::Exception* except=
NULL);
114 (std::wstring
const & label,
115 rti1516e::Exception* except=
NULL);
118 (std::wstring
const & label,
119 rti1516e::LogicalTime
const & theTime,
120 rti1516e::Exception* except=
NULL);
124 rti1516e::Exception* except=
NULL);
128 rti1516e::Exception* except=
NULL);
131 rti1516e::Exception* except=
NULL);
134 virtual void queryFederationSaveStatus (
135 rti1516e::Exception* except=
NULL);
139 (std::wstring
const & label,
140 rti1516e::Exception* except=
NULL);
144 rti1516e::Exception* except=
NULL);
147 rti1516e::Exception* except=
NULL);
150 virtual void queryFederationRestoreStatus (
151 rti1516e::Exception* except=
NULL);
158 virtual void publishObjectClassAttributes
160 rti1516e::AttributeHandleSet
const & attributeList,
161 rti1516e::Exception* except=
NULL);
166 rti1516e::Exception* except=
NULL);
168 virtual void unpublishObjectClassAttributes
170 rti1516e::AttributeHandleSet
const & attributeList,
171 rti1516e::Exception* except=
NULL);
176 rti1516e::Exception* except=
NULL);
181 rti1516e::Exception* except=
NULL);
186 rti1516e::AttributeHandleSet
const & attributeList,
188 std::wstring
const & updateRateDesignator,
189 rti1516e::Exception* except=
NULL);
194 rti1516e::Exception* except=
NULL);
196 virtual void unsubscribeObjectClassAttributes
198 rti1516e::AttributeHandleSet
const & attributeList,
199 rti1516e::Exception* except=
NULL);
205 rti1516e::Exception* except=
NULL);
210 rti1516e::Exception* except=
NULL);
217 virtual void reserveObjectInstanceName
218 (std::wstring
const & theObjectInstanceName,
219 rti1516e::Exception* except=
NULL);
224 rti1516e::ObjectInstanceHandle
const & objectHandle,
225 rti1516e::Exception* except=
NULL);
229 std::wstring
const & theObjectInstanceName,
230 rti1516e::ObjectInstanceHandle
const & objectHandle,
231 rti1516e::Exception* except=
NULL);
235 (rti1516e::ObjectInstanceHandle
const & theObject,
236 rti1516e::AttributeHandleValueMap
const & theAttributeValues,
237 rti1516e::VariableLengthData
const & theUserSuppliedTag,
238 rti1516e::Exception* except=
NULL);
241 (rti1516e::ObjectInstanceHandle
const & theObject,
242 rti1516e::AttributeHandleValueMap
const & theAttributeValues,
243 rti1516e::VariableLengthData
const & theUserSuppliedTag,
244 rti1516e::LogicalTime
const & theTime,
245 rti1516e::MessageRetractionHandle
const & retractHandle,
246 rti1516e::Exception* except=
NULL);
251 rti1516e::ParameterHandleValueMap
const & theParameterValues,
252 rti1516e::VariableLengthData
const & theUserSuppliedTag,
253 rti1516e::Exception* except=
NULL);
257 rti1516e::ParameterHandleValueMap
const & theParameterValues,
258 rti1516e::VariableLengthData
const & theUserSuppliedTag,
259 rti1516e::LogicalTime
const & theTime,
260 rti1516e::MessageRetractionHandle
const & retractHandle,
261 rti1516e::Exception* except=
NULL);
265 (rti1516e::ObjectInstanceHandle
const & theObject,
266 rti1516e::VariableLengthData
const & theUserSuppliedTag,
267 rti1516e::Exception* except=
NULL);
270 (rti1516e::ObjectInstanceHandle
const & theObject,
271 rti1516e::VariableLengthData
const & theUserSuppliedTag,
272 rti1516e::LogicalTime
const & theTime,
273 rti1516e::MessageRetractionHandle
const & retractHandle,
274 rti1516e::Exception* except=
NULL);
278 (rti1516e::ObjectInstanceHandle
const & theObject,
279 rti1516e::Exception* except=
NULL);
283 (rti1516e::ObjectInstanceHandle
const & theObject,
284 rti1516e::AttributeHandleSet
const & theAttributes,
285 rti1516e::TransportationType theType,
286 rti1516e::Exception* except=
NULL);
291 rti1516e::TransportationType theType,
292 rti1516e::Exception* except=
NULL);
295 virtual void requestAttributeValueUpdate
296 (rti1516e::ObjectInstanceHandle
const & theObject,
297 rti1516e::AttributeHandleSet
const & theAttributes,
298 rti1516e::VariableLengthData
const & theUserSuppliedTag,
299 rti1516e::Exception* except=
NULL);
301 virtual void requestAttributeValueUpdate
303 rti1516e::AttributeHandleSet
const & theAttributes,
304 rti1516e::VariableLengthData
const & theUserSuppliedTag,
305 rti1516e::Exception* except=
NULL);
308 virtual void requestInteractionTransportationTypeChange (
310 rti1516e::TransportationType theType,rti1516e::Exception* except=
NULL);
318 (rti1516e::ObjectInstanceHandle
const & theObject,
319 rti1516e::AttributeHandleSet
const & theAttributes,
320 rti1516e::Exception* except=
NULL);
324 (rti1516e::ObjectInstanceHandle
const & theObject,
325 rti1516e::AttributeHandleSet
const & theAttributes,
326 rti1516e::VariableLengthData
const & theUserSuppliedTag,
327 rti1516e::Exception* except=
NULL);
330 virtual void confirmDivestiture
331 (rti1516e::ObjectInstanceHandle
const & theObject,
332 rti1516e::AttributeHandleSet
const & confirmedAttributes,
333 rti1516e::VariableLengthData
const & theUserSuppliedTag,
334 rti1516e::Exception* except=
NULL);
338 (rti1516e::ObjectInstanceHandle
const & theObject,
339 rti1516e::AttributeHandleSet
const & desiredAttributes,
340 rti1516e::VariableLengthData
const & theUserSuppliedTag,
341 rti1516e::Exception* except=
NULL);
345 (rti1516e::ObjectInstanceHandle
const & theObject,
346 rti1516e::AttributeHandleSet
const & desiredAttributes,
347 rti1516e::Exception* except=
NULL);
350 virtual void attributeOwnershipDivestitureIfWanted
351 (rti1516e::ObjectInstanceHandle
const & theObject,
352 rti1516e::AttributeHandleSet
const & theAttributes,
353 rti1516e::AttributeHandleSet & theDivestedAttributes,
354 rti1516e::Exception* except=
NULL);
358 (rti1516e::ObjectInstanceHandle
const & theObject,
359 rti1516e::AttributeHandleSet
const & theAttributes,
360 rti1516e::Exception* except=
NULL);
364 (rti1516e::ObjectInstanceHandle
const & theObject,
365 rti1516e::AttributeHandleSet
const & theAttributes,
366 rti1516e::Exception* except=
NULL);
370 (rti1516e::ObjectInstanceHandle
const & theObject,
372 rti1516e::Exception* except=
NULL);
376 (rti1516e::ObjectInstanceHandle
const & theObject,
379 rti1516e::Exception* except=
NULL);
387 (rti1516e::LogicalTimeInterval
const & theLookahead,
388 rti1516e::Exception* except=
NULL);
392 rti1516e::Exception* except=
NULL);
396 rti1516e::Exception* except=
NULL);
400 rti1516e::Exception* except=
NULL);
404 (rti1516e::LogicalTime
const & theTime,
405 rti1516e::Exception* except=
NULL);
409 (rti1516e::LogicalTime
const & theTime,
410 rti1516e::Exception* except=
NULL);
413 virtual void nextMessageRequest
414 (rti1516e::LogicalTime
const & theTime,
415 rti1516e::Exception* except=
NULL);
418 virtual void nextMessageRequestAvailable
419 (rti1516e::LogicalTime
const & theTime,
420 rti1516e::Exception* except=
NULL);
424 (rti1516e::LogicalTime
const & theTime,
425 rti1516e::Exception* except=
NULL);
429 rti1516e::Exception* except=
NULL);
433 rti1516e::Exception* except=
NULL);
436 virtual void queryGALT (rti1516e::LogicalTime & theTime,
438 rti1516e::Exception* except=
NULL);
441 virtual void queryLogicalTime (rti1516e::LogicalTime & theTime,
442 rti1516e::Exception* except=
NULL);
445 virtual void queryLITS (rti1516e::LogicalTime & theTime,
447 rti1516e::Exception* except=
NULL);
451 (rti1516e::LogicalTimeInterval
const & theLookahead,
452 rti1516e::Exception* except=
NULL);
455 virtual void queryLookahead (rti1516e::LogicalTimeInterval & interval,
456 rti1516e::Exception* except=
NULL);
460 (rti1516e::MessageRetractionHandle
const & theHandle,
461 rti1516e::Exception* except=
NULL);
465 (rti1516e::ObjectInstanceHandle
const & theObject,
466 rti1516e::AttributeHandleSet
const & theAttributes,
468 rti1516e::Exception* except=
NULL);
474 rti1516e::Exception* except=
NULL);
482 (rti1516e::DimensionHandleSet
const & theDimensions,
483 rti1516e::RegionHandle
const & handle,
484 rti1516e::Exception* except=
NULL);
487 virtual void commitRegionModifications
488 (rti1516e::RegionHandleSet
const & theRegionHandleSet,
489 rti1516e::Exception* except=
NULL);
493 (rti1516e::RegionHandle
const & theRegion,
494 rti1516e::Exception* except=
NULL);
497 virtual void registerObjectInstanceWithRegions
499 rti1516e::AttributeHandleSetRegionHandleSetPairVector
const &
500 theAttributeHandleSetRegionHandleSetPairVector,
501 rti1516e::ObjectInstanceHandle
const & objectHandle,
502 rti1516e::Exception* except=
NULL);
504 virtual void registerObjectInstanceWithRegions
506 rti1516e::AttributeHandleSetRegionHandleSetPairVector
const &
507 theAttributeHandleSetRegionHandleSetPairVector,
508 std::wstring
const & theObjectInstanceName,
509 rti1516e::ObjectInstanceHandle
const & objectHandle,
510 rti1516e::Exception* except=
NULL);
513 virtual void associateRegionsForUpdates
514 (rti1516e::ObjectInstanceHandle
const & theObject,
515 rti1516e::AttributeHandleSetRegionHandleSetPairVector
const &
516 theAttributeHandleSetRegionHandleSetPairVector,
517 rti1516e::Exception* except=
NULL);
520 virtual void unassociateRegionsForUpdates
521 (rti1516e::ObjectInstanceHandle
const & theObject,
522 rti1516e::AttributeHandleSetRegionHandleSetPairVector
const &
523 theAttributeHandleSetRegionHandleSetPairVector,
524 rti1516e::Exception* except=
NULL);
527 virtual void subscribeObjectClassAttributesWithRegions
529 rti1516e::AttributeHandleSetRegionHandleSetPairVector
const &
530 theAttributeHandleSetRegionHandleSetPairVector,
532 std::wstring
const & updateRateDesignator,
533 rti1516e::Exception* except=
NULL);
536 virtual void unsubscribeObjectClassAttributesWithRegions
538 rti1516e::AttributeHandleSetRegionHandleSetPairVector
const &
539 theAttributeHandleSetRegionHandleSetPairVector,
540 rti1516e::Exception* except=
NULL);
543 virtual void subscribeInteractionClassWithRegions
545 rti1516e::RegionHandleSet
const & theRegionHandleSet,
547 rti1516e::Exception* except=
NULL);
550 virtual void unsubscribeInteractionClassWithRegions
552 rti1516e::RegionHandleSet
const & theRegionHandleSet,
553 rti1516e::Exception* except=
NULL);
556 virtual void sendInteractionWithRegions
558 rti1516e::ParameterHandleValueMap
const & theParameterValues,
559 rti1516e::RegionHandleSet
const & theRegionHandleSet,
560 rti1516e::VariableLengthData
const & theUserSuppliedTag,
561 rti1516e::Exception* except=
NULL);
563 virtual void sendInteractionWithRegions
565 rti1516e::ParameterHandleValueMap
const & theParameterValues,
566 rti1516e::RegionHandleSet
const & theRegionHandleSet,
567 rti1516e::VariableLengthData
const & theUserSuppliedTag,
568 rti1516e::LogicalTime
const & theTime,
569 rti1516e::MessageRetractionHandle
const & retractHandle,
570 rti1516e::Exception* except=
NULL);
573 virtual void requestAttributeValueUpdateWithRegions
575 rti1516e::AttributeHandleSetRegionHandleSetPairVector
const & theSet,
576 rti1516e::VariableLengthData
const & theUserSuppliedTag,
577 rti1516e::Exception* except=
NULL);
585 (std::wstring
const & theName,
587 rti1516e::Exception* except=
NULL);
592 std::wstring
const & name,
593 rti1516e::Exception* except=
NULL);
598 std::wstring
const & theAttributeName,
600 rti1516e::Exception* except=
NULL);
606 std::wstring
const & name,
607 rti1516e::Exception* except=
NULL);
611 std::wstring
const & theName,
613 rti1516e::Exception* except=
NULL);
618 std::wstring
const & name,
619 rti1516e::Exception* except=
NULL);
624 std::wstring
const & theName,
626 rti1516e::Exception* except=
NULL);
632 std::wstring
const & name,
633 rti1516e::Exception* except=
NULL);
637 (std::wstring
const & theName,
638 rti1516e::ObjectInstanceHandle
const & objectHandle,
639 rti1516e::Exception* except=
NULL);
643 (rti1516e::ObjectInstanceHandle
const & theHandle,
644 std::wstring
const & name,
645 rti1516e::Exception* except=
NULL);
649 (std::wstring
const & theName,
651 rti1516e::Exception* except=
NULL);
656 std::wstring
const & name,
657 rti1516e::Exception* except=
NULL);
660 virtual void getDimensionUpperBound
662 unsigned long upperBound,
663 rti1516e::Exception* except=
NULL);
666 virtual void getAvailableDimensionsForClassAttribute
669 rti1516e::DimensionHandleSet handleSet,
670 rti1516e::Exception* except=
NULL);
673 virtual void getKnownObjectClassHandle
674 (rti1516e::ObjectInstanceHandle
const & theObject,
676 rti1516e::Exception* except=
NULL);
679 virtual void getAvailableDimensionsForInteractionClass
681 rti1516e::DimensionHandleSet handleSet,
682 rti1516e::Exception* except=
NULL);
685 virtual void getTransportationType
686 (std::wstring
const & transportationName,
687 rti1516e::TransportationType type,
688 rti1516e::Exception* except=
NULL);
692 (rti1516e::TransportationType transportationType,
693 std::wstring
const & name,
694 rti1516e::Exception* except=
NULL);
697 virtual void getOrderType
698 (std::wstring
const & orderName,
700 rti1516e::Exception* except=
NULL);
703 virtual void getOrderName
705 std::wstring
const & name,
706 rti1516e::Exception* except=
NULL);
709 virtual void enableObjectClassRelevanceAdvisorySwitch (
710 rti1516e::Exception* except=
NULL);
713 virtual void disableObjectClassRelevanceAdvisorySwitch (
714 rti1516e::Exception* except=
NULL);
718 rti1516e::Exception* except=
NULL);
722 rti1516e::Exception* except=
NULL);
726 rti1516e::Exception* except=
NULL);
730 rti1516e::Exception* except=
NULL);
734 rti1516e::Exception* except=
NULL);
738 rti1516e::Exception* except=
NULL);
741 virtual void getDimensionHandleSet
742 (rti1516e::RegionHandle
const & theRegionHandle,
743 rti1516e::DimensionHandleSet
const & handleSet,
744 rti1516e::Exception* except=
NULL);
747 virtual void getRangeBounds
748 (rti1516e::RegionHandle
const & theRegionHandle,
750 rti1516e::RangeBounds
const & bounds,
751 rti1516e::Exception* except=
NULL);
754 virtual void setRangeBounds
755 (rti1516e::RegionHandle
const & theRegionHandle,
757 rti1516e::RangeBounds
const & theRangeBounds,
758 rti1516e::Exception* except=
NULL);
761 virtual void normalizeFederateHandle
763 unsigned long normal,
764 rti1516e::Exception* except=
NULL);
767 virtual void normalizeServiceGroup
768 (rti1516e::ServiceGroup theServiceGroup,
769 unsigned long normal,
770 rti1516e::Exception* except=
NULL);
776 virtual void evokeCallback(
double approximateMinimumTimeInSeconds,
bool result, rti1516e::Exception* except=
NULL);
778 virtual void evokeMultipleCallbacks(
double approximateMinimumTimeInSeconds,
779 double approximateMaximumTimeInSeconds,
781 rti1516e::Exception* except=
NULL);
785 virtual void enableCallbacks (
786 rti1516e::Exception* except=
NULL);
789 virtual void disableCallbacks (
790 rti1516e::Exception* except=
NULL);
792 virtual void decodeFederateHandle(
793 rti1516e::VariableLengthData
const & encodedValue,
795 rti1516e::Exception* except=
NULL)
const;
797 virtual void decodeObjectClassHandle(
798 rti1516e::VariableLengthData
const & encodedValue,
800 rti1516e::Exception* except=
NULL)
const;
802 virtual void decodeInteractionClassHandle(
803 rti1516e::VariableLengthData
const & encodedValue,
805 rti1516e::Exception* except=
NULL)
const;
807 virtual void decodeObjectInstanceHandle(
808 rti1516e::VariableLengthData
const & encodedValue,
809 rti1516e::ObjectInstanceHandle
const & objectHandle,
810 rti1516e::Exception* except=
NULL)
const;
812 virtual void decodeAttributeHandle(
813 rti1516e::VariableLengthData
const & encodedValue,
815 rti1516e::Exception* except=
NULL)
const;
817 virtual void decodeParameterHandle(
818 rti1516e::VariableLengthData
const & encodedValue,
820 rti1516e::Exception* except=
NULL)
const;
822 virtual void decodeDimensionHandle(
823 rti1516e::VariableLengthData
const & encodedValue,
825 rti1516e::Exception* except=
NULL)
const;
827 virtual void decodeMessageRetractionHandle(
828 rti1516e::VariableLengthData
const & encodedValue,
829 rti1516e::MessageRetractionHandle
const & retractHandle,
830 rti1516e::Exception* except=
NULL)
const;
832 virtual void decodeRegionHandle(
833 rti1516e::VariableLengthData
const & encodedValue,
834 rti1516e::RegionHandle
const & handle,
835 rti1516e::Exception* except=
NULL)
const;
837 virtual void connect(
rti1516e::FederateAmbassador & federateAmbassador, rti1516e::CallbackModel theCallbackModel, std::wstring
const & localSettingsDesignator, rti1516e::Exception* except=
NULL);
839 virtual void disconnect(rti1516e::Exception* except=
NULL);
841 virtual void abortFederationSave(rti1516e::Exception* except=
NULL);
843 virtual void abortFederationRestore(rti1516e::Exception* except=
NULL);
845 virtual void releaseObjectInstanceName(std::wstring
const & theObjectInstanceName,rti1516e::Exception* except=
NULL);
847 virtual void reserveMultipleObjectInstanceName(std::set<std::wstring>
const & theObjectInstanceNames,rti1516e::Exception* except=
NULL);
849 virtual void releaseMultipleObjectInstanceName(std::set<std::wstring>
const & theObjectInstanceNames,rti1516e::Exception* except=
NULL);
851 virtual void requestAttributeTransportationTypeChange(rti1516e::ObjectInstanceHandle
const & theObject, rti1516e::AttributeHandleSet
const & theAttributes, rti1516e::TransportationType theType,rti1516e::Exception* except=
NULL);
853 virtual void queryAttributeTransportationType(rti1516e::ObjectInstanceHandle
const & theObject,
rti1516e::AttributeHandle const & theAttribute,rti1516e::Exception* except=
NULL);
857 virtual void attributeOwnershipReleaseDenied(rti1516e::ObjectInstanceHandle
const & theObject, rti1516e::AttributeHandleSet
const & theAttributes,rti1516e::Exception* except=
NULL);
863 virtual void getFederateHandle(std::wstring
const & theName,
rti1516e::FederateHandle const & result, rti1516e::Exception* except=
NULL);
867 virtual void getUpdateRateValue(std::wstring
const & updateRateDesignator,
double result, rti1516e::Exception* except=
NULL);
869 virtual void getUpdateRateValueForAttribute(rti1516e::ObjectInstanceHandle
const & theObject,
rti1516e::AttributeHandle const & theAttribute,
double result, rti1516e::Exception* except=
NULL);
872 virtual int verboseLevel()
const;
883 unsigned long myRegisterCount;
884 unsigned long myDeleteCount;