[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[certi-cvs] certi/include RTI_LogicalTimeFactory.h RTI_Logi...
From: |
certi-cvs |
Subject: |
[certi-cvs] certi/include RTI_LogicalTimeFactory.h RTI_Logi... |
Date: |
Tue, 30 Sep 2008 13:52:42 +0000 |
CVSROOT: /sources/certi
Module name: certi
Changes by: Eric NOULARD <erk> 08/09/30 13:52:41
Added files:
include : RTI_LogicalTimeFactory.h
RTI_LogicalTimeIntervalFactory.h
RTI_SynchronizationFailureReason.h
RTI_TransportationType.h RTI_exception.h
RTI_RTIambassadorFactory.h
RTI_SpecificPostamble.h RTI_Handle.h
RTI_EncodedLogicalTime.h RTI_LogicalTime.h
RTI_RestoreFailureReason.h
RTI_FederateAmbassador.h
RTI_SpecificConfig.h.in RTI_1516.h RTI_vector.h
RTI_SpecificTypedefs.h RTI_OrderType.h
RTI_RangeBounds.h RTI_ServiceGroupIndicator.h
RTI_Value.h RTI_SaveStatus.h RTI_memory.h
RTI_string.h RTI_Typedefs.h RTI_RestoreStatus.h
RTI_set.h RTI_EncodedLogicalTimeInterval.h
RTI_ResignAction.h RTI_bool.h RTI_map.h
RTI_LogicalTimeInterval.h
RTI_SaveFailureReason.h RTI_RTIambassador.h
Log message:
Add RTI 1516 headers taken from IEEE-1516-2000
the main header is RTI_1516.h
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_LogicalTimeFactory.h?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_LogicalTimeIntervalFactory.h?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_SynchronizationFailureReason.h?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_TransportationType.h?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_exception.h?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_RTIambassadorFactory.h?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_SpecificPostamble.h?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_Handle.h?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_EncodedLogicalTime.h?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_LogicalTime.h?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_RestoreFailureReason.h?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_FederateAmbassador.h?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_SpecificConfig.h.in?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_1516.h?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_vector.h?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_SpecificTypedefs.h?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_OrderType.h?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_RangeBounds.h?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_ServiceGroupIndicator.h?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_Value.h?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_SaveStatus.h?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_memory.h?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_string.h?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_Typedefs.h?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_RestoreStatus.h?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_set.h?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_EncodedLogicalTimeInterval.h?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_ResignAction.h?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_bool.h?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_map.h?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_LogicalTimeInterval.h?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_SaveFailureReason.h?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI_RTIambassador.h?cvsroot=certi&rev=1.1
Patches:
Index: RTI_LogicalTimeFactory.h
===================================================================
RCS file: RTI_LogicalTimeFactory.h
diff -N RTI_LogicalTimeFactory.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_LogicalTimeFactory.h 30 Sep 2008 13:52:38 -0000 1.1
@@ -0,0 +1,31 @@
+/***********************************************************************
+IEEE 1516.1 High Level Architecture Interface Specification C++ API
+File: RTI_LogicalTimeFactory.h
+***********************************************************************/
+#ifndef RTI_LogicalTimeFactory_h
+#define RTI_LogicalTimeFactory_h
+// The classes associated with logical time allow a federation to provide
+// their own representation for logical time and logical time interval. The
+// federation is responsible to inherit from the abstract classes declared
+// below. The encoded time classes are used to hold the arbitrary bit
+// representation of the logical time and logical time intervals.
+class RTI_LogicalTime;
+class RTI_CouldNotDecode;
+class RTI_InternalError;
+class RTI_EXPORT RTI_LogicalTimeFactory
+{
+ public:
+ virtual
+ ~RTI_LogicalTimeFactory()
+ throw ();
+ virtual
+ RTI_auto_ptr< RTI_LogicalTime >
+ makeInitial()
+ throw (RTI_InternalError) = 0;
+ virtual
+ RTI_auto_ptr< RTI_LogicalTime >
+ decode(RTI_EncodedLogicalTime const & encodedLogicalTime)
+ throw (RTI_InternalError,
+ RTI_CouldNotDecode) = 0;
+};
+#endif // RTI_LogicalTimeFactory_h
Index: RTI_LogicalTimeIntervalFactory.h
===================================================================
RCS file: RTI_LogicalTimeIntervalFactory.h
diff -N RTI_LogicalTimeIntervalFactory.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_LogicalTimeIntervalFactory.h 30 Sep 2008 13:52:38 -0000 1.1
@@ -0,0 +1,29 @@
+/***********************************************************************
+IEEE 1516.1 High Level Architecture Interface Specification C++ API
+File: RTI_LogicalTimeIntervalFactory.h
+***********************************************************************/
+#ifndef RTI_LogicalTimeIntervalFactory_h
+#define RTI_LogicalTimeIntervalFactory_h
+// The classes associated with logical time allow a federation to provide
+// their own representation for logical time and logical time interval. The
+// federation is responsible to inherit from the abstract classes declared
+// below. The encoded time classes are used to hold the arbitrary bit
+// representation of the logical time and logical time intervals.
+class RTI_EXPORT RTI_LogicalTimeIntervalFactory
+{
+ public:
+ virtual
+ ~RTI_LogicalTimeIntervalFactory()
+ throw ();
+ virtual
+ RTI_auto_ptr< RTI_LogicalTimeInterval >
+ makeZero() = 0;
+ virtual
+ RTI_auto_ptr< RTI_LogicalTimeInterval >
+ epsilon() = 0;
+ virtual
+ RTI_auto_ptr< RTI_LogicalTimeInterval >
+ decode(RTI_EncodedLogicalTimeInterval const & encodedLogicalTimeInterval)
+ throw (RTI_CouldNotDecode) = 0;
+};
+#endif // RTI_LogicalTimeIntervalFactory_h
Index: RTI_SynchronizationFailureReason.h
===================================================================
RCS file: RTI_SynchronizationFailureReason.h
diff -N RTI_SynchronizationFailureReason.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_SynchronizationFailureReason.h 30 Sep 2008 13:52:38 -0000 1.1
@@ -0,0 +1,45 @@
+/***********************************************************************
+IEEE 1516.1 High Level Architecture Interface Specification C++ API
+File: RTI_SynchronizationFailureReason.h
+***********************************************************************/
+#ifndef RTI_SynchronizationFailureReason_h
+#define RTI_SynchronizationFailureReason_h
+class RTI_bool;
+#include <RTI_SpecificConfig.h>
+#include <RTI_string>
+// Type safe class used to represent type of data order.
+class RTI_EXPORT RTI_SynchronizationFailureReason
+{
+ public:
+ RTI_SynchronizationFailureReason(RTI_SynchronizationFailureReason
+const & rhs);
+ static
+ RTI_SynchronizationFailureReason const
+ synchronizationPointLabelNotUnique();
+ static
+ RTI_SynchronizationFailureReason const
+ synchronizationSetMemberNotJoined();
+ RTI_SynchronizationFailureReason &
+ operator=(RTI_SynchronizationFailureReason const & rhs);
+ RTI_bool
+ operator==(RTI_SynchronizationFailureReason const & rhs) const;
+ RTI_bool
+ operator!=(RTI_SynchronizationFailureReason const & rhs) const;
+ RTI_wstring const
+ toString() const;
+ private:
+ RTI_SynchronizationFailureReason(unsigned SynchronizationFailureReason);
+ unsigned _SynchronizationFailureReason;
+};
+// These constants Synchronization a little typing for users.
+// They can be used much like a enum, but in a type-safe way
+RTI_SynchronizationFailureReason const
+RTI_SYNCHRONIZATION_POINT_LABEL_NOT_UNIQUE =
+RTI_SynchronizationFailureReason::synchronizationPointLabelNotUnique();
+RTI_SynchronizationFailureReason const
+RTI_SYNCHRONIZATION_SET_MEMBER_NOT_JOINED =
+RTI_SynchronizationFailureReason::synchronizationSetMemberNotJoined();
+#ifdef RTI_USE_INLINE
+#include "RTI_SynchronizationFailureReason.i"
+#endif // RTI_USE_INLINE
+#endif // RTI_SynchronizationFailureReason_h
Index: RTI_TransportationType.h
===================================================================
RCS file: RTI_TransportationType.h
diff -N RTI_TransportationType.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_TransportationType.h 30 Sep 2008 13:52:38 -0000 1.1
@@ -0,0 +1,56 @@
+/***********************************************************************
+IEEE 1516.1 High Level Architecture Interface Specification C++ API
+File: RTI_TransportationType.h
+***********************************************************************/
+#ifndef RTI_TransportationType_h
+#define RTI_TransportationType_h
+class RTI_bool;
+#include <RTI_SpecificConfig.h>
+#include <RTI_SpecificTypedefs.h> // for RTI_EncodedData
+#include <RTI_string>
+// Type safe class used to represent type of data transportation.
+class RTI_EXPORT RTI_TransportationType
+{
+ public:
+ RTI_TransportationType(RTI_EncodedData const & rhs);
+ RTI_TransportationType(RTI_TransportationType const & rhs)
+ throw ();
+ static
+ RTI_TransportationType const
+ reliable()
+ throw();
+ static
+ RTI_TransportationType const
+ bestEffort()
+ throw();
+ RTI_TransportationType &
+ operator =(RTI_TransportationType const & rhs)
+ throw();
+ RTI_bool
+ operator ==(RTI_TransportationType const & rhs) const
+ throw();
+ RTI_bool
+ operator !=(RTI_TransportationType const & rhs) const
+ throw();
+ RTI_wstring const
+ toString() const;
+ RTI_EncodedData
+ encode() const
+ throw();
+ private:
+ RTI_TransportationType(unsigned transportationType)
+ throw();
+ unsigned _transportationType;
+};
+// These constants save a little typing for users.
+// They can be used much like a enum, but in a type-safe way
+RTI_TransportationType const
+RTI_RELIABLE =
+RTI_TransportationType::reliable();
+RTI_TransportationType const
+RTI_BEST_EFFORT =
+RTI_TransportationType::bestEffort();
+#ifdef RTI_USE_INLINE
+#include "RTI_TransportationType.i"
+#endif // RTI_USE_INLINE
+#endif // RTI_TransportationType_h
Index: RTI_exception.h
===================================================================
RCS file: RTI_exception.h
diff -N RTI_exception.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_exception.h 30 Sep 2008 13:52:38 -0000 1.1
@@ -0,0 +1,138 @@
+/***********************************************************************
+IEEE 1516.1 High Level Architecture Interface Specification C++ API
+File: RTI_exception.h
+***********************************************************************/
+#ifndefRTI_exception_h
+#defineRTI_exception_h
+#include <RTI_SpecificConfig.h>
+// The RTI_exception class follows the interface of the C++ standard exception
+// class.The key method, what, returns a null terminated character string that
+// describes details of the exception that has occured.
+class RTI_exception
+{
+public:
+ RTI_exception();
+ RTI_exception(RTI_exception const & rhs);
+ RTI_exception &
+ operator=(RTI_exception const & rhs);
+ virtual
+ ~RTI_exception()
+ throw();
+ virtual
+ char const *
+ what() const
+ throw() = 0;
+};
+#include <RTI_string>
+#define RTI_EXCEPTION(A) class A : public RTI_exception { public: A(RTI_string
+const & message) throw(); A(A const & rhs) throw(); A & operator=(A const &)
+throw(); virtual ~A() throw(); virtual char const * what() const throw(); pri-
+vate: RTI_string _msg; };
+RTI_EXCEPTION(RTI_ArrayIndexOutOfBounds)
+RTI_EXCEPTION(RTI_AsynchronousDeliveryAlreadyDisabled)
+RTI_EXCEPTION(RTI_AsynchronousDeliveryAlreadyEnabled)
+RTI_EXCEPTION(RTI_AttributeAcquisitionWasNotCanceled)
+RTI_EXCEPTION(RTI_AttributeAcquisitionWasNotRequested)
+RTI_EXCEPTION(RTI_AttributeAlreadyBeingAcquired)
+RTI_EXCEPTION(RTI_AttributeAlreadyBeingDivested)
+RTI_EXCEPTION(RTI_AttributeAlreadyOwned)
+RTI_EXCEPTION(RTI_AttributeDivestitureWasNotRequested)
+RTI_EXCEPTION(RTI_AttributeNotDefined)
+RTI_EXCEPTION(RTI_AttributeNotOwned)
+RTI_EXCEPTION(RTI_AttributeNotPublished)
+RTI_EXCEPTION(RTI_AttributeNotRecognized)
+RTI_EXCEPTION(RTI_AttributeNotSubscribed)
+RTI_EXCEPTION(RTI_AttributeRelevanceAdvisorySwitchIsOff)
+RTI_EXCEPTION(RTI_AttributeRelevanceAdvisorySwitchIsOn)
+RTI_EXCEPTION(RTI_AttributeScopeAdvisorySwitchIsOff)
+RTI_EXCEPTION(RTI_AttributeScopeAdvisorySwitchIsOn)
+RTI_EXCEPTION(RTI_CouldNotDecode)
+RTI_EXCEPTION(RTI_CouldNotDiscover)
+RTI_EXCEPTION(RTI_CouldNotOpenFDD)
+RTI_EXCEPTION(RTI_CouldNotInitiateRestore)
+RTI_EXCEPTION(RTI_DeletePrivilegeNotHeld)
+RTI_EXCEPTION(RTI_RequestForTimeConstrainedPending)
+RTI_EXCEPTION(RTI_NoRequestToEnableTimeConstrainedWasPending)
+RTI_EXCEPTION(RTI_RequestForTimeRegulationPending)
+RTI_EXCEPTION(RTI_NoRequestToEnableTimeRegulationWasPending)
+RTI_EXCEPTION(RTI_ErrorReadingFDD)
+RTI_EXCEPTION(RTI_FederateAlreadyExecutionMember)
+RTI_EXCEPTION(RTI_FederateHasNotBegunSave)
+RTI_EXCEPTION(RTI_FederateInternalError)
+RTI_EXCEPTION(RTI_FederateNotExecutionMember)
+RTI_EXCEPTION(RTI_FederateOwnsAttributes)
+RTI_EXCEPTION(RTI_FederateServiceInvocationsAreBeingReportedViaMOM)
+RTI_EXCEPTION(RTI_FederateUnableToUseTime)
+RTI_EXCEPTION(RTI_FederatesCurrentlyJoined)
+RTI_EXCEPTION(RTI_FederationExecutionAlreadyExists)
+RTI_EXCEPTION(RTI_FederationExecutionDoesNotExist)
+RTI_EXCEPTION(RTI_IllegalName)
+RTI_EXCEPTION(RTI_IllegalTimeArithmetic)
+RTI_EXCEPTION(RTI_InteractionClassNotDefined)
+RTI_EXCEPTION(RTI_InteractionClassNotPublished)
+RTI_EXCEPTION(RTI_InteractionClassNotRecognized)
+RTI_EXCEPTION(RTI_InteractionClassNotSubscribed)
+RTI_EXCEPTION(RTI_InteractionParameterNotDefined)
+RTI_EXCEPTION(RTI_InteractionParameterNotRecognized)
+RTI_EXCEPTION(RTI_InteractionRelevanceAdvisorySwitchIsOff)
+RTI_EXCEPTION(RTI_InteractionRelevanceAdvisorySwitchIsOn)
+RTI_EXCEPTION(RTI_InTimeAdvancingState)
+RTI_EXCEPTION(RTI_InvalidAttributeHandle)
+RTI_EXCEPTION(RTI_InvalidDimensionHandle)
+RTI_EXCEPTION(RTI_InvalidInteractionClassHandle)
+RTI_EXCEPTION(RTI_InvalidLogicalTime)
+RTI_EXCEPTION(RTI_InvalidLogicalTimeInterval)
+RTI_EXCEPTION(RTI_InvalidLookahead)
+RTI_EXCEPTION(RTI_InvalidObjectClassHandle)
+RTI_EXCEPTION(RTI_InvalidOrderName)
+RTI_EXCEPTION(RTI_InvalidOrderType)
+RTI_EXCEPTION(RTI_InvalidParameterHandle)
+RTI_EXCEPTION(RTI_InvalidRangeBounds)
+RTI_EXCEPTION(RTI_InvalidRegion)
+RTI_EXCEPTION(RTI_InvalidRegionContext)
+RTI_EXCEPTION(RTI_InvalidRetractionHandle)
+RTI_EXCEPTION(RTI_InvalidString)
+RTI_EXCEPTION(RTI_InvalidTransportationName)
+RTI_EXCEPTION(RTI_InvalidTransportationType)
+RTI_EXCEPTION(RTI_JoinedFederateIsNotInTimeAdvancingState)
+RTI_EXCEPTION(RTI_LogicalTimeAlreadyPassed)
+RTI_EXCEPTION(RTI_LowerBoundOutOfRange)
+RTI_EXCEPTION(RTI_MessageCanNoLongerBeRetracted)
+RTI_EXCEPTION(RTI_NameNotFound)
+RTI_EXCEPTION(RTI_ObjectClassNotDefined)
+RTI_EXCEPTION(RTI_ObjectClassNotKnown)
+RTI_EXCEPTION(RTI_ObjectClassNotPublished)
+RTI_EXCEPTION(RTI_ObjectClassNotSubscribed)
+RTI_EXCEPTION(RTI_ObjectClassRelevanceAdvisorySwitchIsOff)
+RTI_EXCEPTION(RTI_ObjectClassRelevanceAdvisorySwitchIsOn)
+RTI_EXCEPTION(RTI_ObjectInstanceNameInUse)
+RTI_EXCEPTION(RTI_ObjectInstanceNameNotReserved)
+RTI_EXCEPTION(RTI_ObjectInstanceNotKnown)
+RTI_EXCEPTION(RTI_OwnershipAcquisitionPending)
+RTI_EXCEPTION(RTI_RTIinternalError)
+RTI_EXCEPTION(RTI_RegionDoesNotContainSpecifiedDimension)
+RTI_EXCEPTION(RTI_RegionInUseForUpdateOrSubscription)
+RTI_EXCEPTION(RTI_RegionNotCreatedByThisFederate)
+RTI_EXCEPTION(RTI_RestoreInProgress)
+RTI_EXCEPTION(RTI_RestoreNotInProgress)
+RTI_EXCEPTION(RTI_RestoreNotRequested)
+RTI_EXCEPTION(RTI_SaveInProgress)
+RTI_EXCEPTION(RTI_SaveNotInitiated)
+RTI_EXCEPTION(RTI_SaveNotInProgress)
+RTI_EXCEPTION(RTI_SpecifiedSaveLabelDoesNotExist)
+RTI_EXCEPTION(RTI_SynchronizationPointLabelNotAnnounced)
+RTI_EXCEPTION(RTI_SynchronizationSetMemberNotJoined)
+RTI_EXCEPTION(RTI_TimeConstrainedAlreadyEnabled)
+RTI_EXCEPTION(RTI_TimeConstrainedIsNotEnabled)
+RTI_EXCEPTION(RTI_TimeRegulationAlreadyEnabled)
+RTI_EXCEPTION(RTI_TimeRegulationIsNotEnabled)
+RTI_EXCEPTION(RTI_UnableToPerformSave)
+RTI_EXCEPTION(RTI_UnknownName)
+RTI_EXCEPTION(RTI_UpperBoundOutOfRange)
+RTI_EXCEPTION(RTI_ValueCountExceeded)
+RTI_EXCEPTION(RTI_ValueLengthExceeded)
+#undef RTI_EXCEPTION
+#ifdef RTI_USE_INLINE
+#include "RTI_exception.i"
+#endif // RTI_USE_INLINE
+#endif // RTI_exception_h
Index: RTI_RTIambassadorFactory.h
===================================================================
RCS file: RTI_RTIambassadorFactory.h
diff -N RTI_RTIambassadorFactory.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_RTIambassadorFactory.h 30 Sep 2008 13:52:38 -0000 1.1
@@ -0,0 +1,27 @@
+/***********************************************************************
+IEEE 1516.1 High Level Architecture Interface Specification C++ API
+File: RTI_RTIambassadorFactory.h
+***********************************************************************/
+#ifndef RTI_RTIambassadorFactory_h
+#define RTI_RTIambassadorFactory_h
+#include <RTI_memory>
+#include <RTI_vector>
+#include <RTI_string>
+class RTI_RTIinternalError;
+class RTI_RTIambassador;
+class RTI_RTIambassadorFactory
+
+{
+public:
+ RTI_RTIambassadorFactory();
+ virtual
+ ~RTI_RTIambassadorFactory()
+ throw ();
+ // 10.35
+ RTI_auto_ptr< RTI_RTIambassador >
+ createRTIambassador(RTI_vector< RTI_wstring,
+ RTI___STL_DEFAULT_ALLOCATOR(RTI_wstring) >
+ & args)
+ throw (RTI_RTIinternalError);
+};
+#endif // RTI_RTIambassadorFactory_h
Index: RTI_SpecificPostamble.h
===================================================================
RCS file: RTI_SpecificPostamble.h
diff -N RTI_SpecificPostamble.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_SpecificPostamble.h 30 Sep 2008 13:52:38 -0000 1.1
@@ -0,0 +1,10 @@
+/***********************************************************************
+IEEE 1516.1 High Level Architecture Interface Specification C++ API
+File: RTI_SpecificPostamble.h
+***********************************************************************/
+// Purpose: This file contains definitions that need to follow the RTI
+// class declaration that are specific to the RTI implementation.
+#ifndef RTIspecificPostamble_h
+#define RTIspecificPostamble_h
+// RTI vendor specific details could go here
+#endif // RTIspecificPostamble_h
Index: RTI_Handle.h
===================================================================
RCS file: RTI_Handle.h
diff -N RTI_Handle.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_Handle.h 30 Sep 2008 13:52:38 -0000 1.1
@@ -0,0 +1,58 @@
+/***********************************************************************
+IEEE 1516.1 High Level Architecture Interface Specification C++ API
+File: RTI_Handle.h
+***********************************************************************/
+#ifndef RTI_Handle_h
+#define RTI_Handle_h
+class RTI_bool;
+#include <RTI_SpecificConfig.h>
+#include <RTI_string>
+// The RTIhandle class is used to provide the common interface to the
different
+// RTI handle types used in the API. This interface includes a constructor,
+// assignment, equality, inequality, and less than operators. The encode
method
+// returns a type safe EncodedHandleClass instance that can be used to
exchange
+// handles between federates as attributes and parameters. The constructor
takes
+// a EncodedHandleClass which enables the type safe creation of a RTIhandle
from
+// encoded data passed to a federate. The template parameter class
+// ImplementationSpecificHandleClass provides RTI implementations the ability
+// to customize a private class member for their particular implementation.The
+// int template type parameter provides the ability to support strong typing.
+template<class ImplementationSpecificHandleClass,
+ class EncodedHandleClass,
+ class ImplementationSpecificHandleClassFriend,
+ int i>
+class RTI_EXPORT RTI_Handle
+{
+ public:
+ explicit
+ RTI_Handle(EncodedHandleClass encodedHandle);
+ ~RTI_Handle()
+ throw();
+ RTI_Handle(RTI_Handle const & rhs);
+ RTI_Handle &
+ operator=(RTI_Handle const & rhs);
+ RTI_bool
+ operator==(RTI_Handle const & rhs) const;
+ RTI_bool
+ operator!=(RTI_Handle const & rhs) const;
+ RTI_bool
+ operator< (RTI_Handle const & rhs) const;
+ EncodedHandleClass
+ encode() const;
+ RTI_wstring const
+ toString() const;
+ private:
+ ImplementationSpecificHandleClass _impl;
+ //
+ // This class is the only class which can construct an RTI_Handle
+ //
+ friend ImplementationSpecificHandleClassFriend;
+ RTI_Handle(ImplementationSpecificHandleClass const & impl);
+};
+#ifdef RTI_USE_INLINE
+#include "RTI_Handle.i"
+#endif // RTI_USE_INLINE
+#ifdef RTI_TEMPLATES_REQUIRE_SOURCE
+#include "RTI_Handle.cpp"
+#endif // RTI_TEMPLATES_REQUIRE_SOURCE
+#endif // RTI_Handle_h
Index: RTI_EncodedLogicalTime.h
===================================================================
RCS file: RTI_EncodedLogicalTime.h
diff -N RTI_EncodedLogicalTime.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_EncodedLogicalTime.h 30 Sep 2008 13:52:39 -0000 1.1
@@ -0,0 +1,15 @@
+/***********************************************************************
+IEEE 1516.1 High Level Architecture Interface Specification C++ API
+File: RTI_EncodedLogicalTime.h
+***********************************************************************/
+#ifndef RTI_EncodedLogicalTime_h
+#define RTI_EncodedLogicalTime_h
+#include <RTI_SpecificConfig.h>
+class RTI_EncodedLogicalTime
+{
+public:
+ virtual ~RTI_EncodedLogicalTime() throw () {}
+ virtual voidconst * data() const = 0;
+ virtual size_tsize() const = 0;
+};
+#endif // RTI_EncodedLogicalTime_h
Index: RTI_LogicalTime.h
===================================================================
RCS file: RTI_LogicalTime.h
diff -N RTI_LogicalTime.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_LogicalTime.h 30 Sep 2008 13:52:39 -0000 1.1
@@ -0,0 +1,76 @@
+/***********************************************************************
+IEEE 1516.1 High Level Architecture Interface Specification C++ API
+File: RTI_LogicalTime.h
+***********************************************************************/
+#ifndef RTI_LogicalTime_h
+#define RTI_LogicalTime_h
+class RTI_LogicalTimeInterval;
+// The classes associated with logical time allow a federation to provide
their
+// own representation for logical time and logical time interval. The
federation
+// is responsible to inherit from the abstract classes declared below. The
+// encoded time classes are used to hold the arbitrary bit representation of
the
+// logical time and logical time intervals.
+#include <RTI_memory>
+class RTI_EncodedLogicalTime;
+class RTI_EXPORT RTI_LogicalTime
+{
+ public:
+ virtual
+ ~RTI_LogicalTime()
+ throw ();
+ virtual
+ void
+ setInitial() = 0;
+ virtual
+ RTI_bool
+ isInitial() = 0;
+ virtual
+ void
+ setFinal() = 0;
+ virtual
+ RTI_bool
+ isFinal() = 0;
+ virtual
+ void
+ setTo(RTI_LogicalTime const & value)
+ throw (RTI_InvalidLogicalTime) = 0;
+ virtual
+ void
+ increaseBy(RTI_LogicalTimeInterval const & addend)
+ throw (RTI_IllegalTimeArithmetic, RTI_InvalidLogicalTimeInterval) = 0;
+ virtual
+ void
+ decreaseBy(RTI_LogicalTimeInterval const & subtrahend)
+ throw (RTI_IllegalTimeArithmetic, RTI_InvalidLogicalTimeInterval) = 0;
+ virtual
+ RTI_auto_ptr< RTI_LogicalTimeInterval >
+ subtract(RTI_LogicalTime const & subtrahend) const
+ throw (RTI_InvalidLogicalTime) = 0;
+ virtual
+ RTI_bool
+ isGreaterThan(RTI_LogicalTime const & value) const
+ throw (RTI_InvalidLogicalTime) = 0;
+ virtual
+ RTI_bool
+ isLessThan(RTI_LogicalTime const & value) const
+ throw (RTI_InvalidLogicalTime) = 0;
+ virtual
+ RTI_bool
+ isEqualTo(RTI_LogicalTime const & value) const
+ throw (RTI_InvalidLogicalTime) = 0;
+ virtual
+ RTI_bool
+ isGreaterThanOrEqualTo(RTI_LogicalTime const & value) const
+ throw (RTI_InvalidLogicalTime) = 0;
+ virtual
+ RTI_bool
+ isLessThanOrEqualTo(RTI_LogicalTime const & value) const
+ throw (RTI_InvalidLogicalTime) = 0;
+ virtual
+ RTI_auto_ptr< RTI_EncodedLogicalTime >
+ encode() const = 0;
+ virtual
+ RTI_wstring
+ toString() const = 0;
+};
+#endif // RTI_LogicalTime_h
Index: RTI_RestoreFailureReason.h
===================================================================
RCS file: RTI_RestoreFailureReason.h
diff -N RTI_RestoreFailureReason.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_RestoreFailureReason.h 30 Sep 2008 13:52:39 -0000 1.1
@@ -0,0 +1,56 @@
+/***********************************************************************
+IEEE 1516.1 High Level Architecture Interface Specification C++ API
+File: RTI_RestoreFailureReason.h
+***********************************************************************/
+#ifndef RTI_RestoreFailureReason_h
+#define RTI_RestoreFailureReason_h
+class RTI_bool;
+#include <RTI_SpecificConfig.h>
+#include <RTI_string>
+// Type safe class used to represent the reason a restore failed
+class RTI_EXPORT RTI_RestoreFailureReason
+{
+ public:
+ RTI_RestoreFailureReason(RTI_RestoreFailureReason const & rhs);
+ static
+ RTI_RestoreFailureReason const
+ rtiUnableToRestore();
+ static
+ RTI_RestoreFailureReason const
+ federateReportedFailureDuringRestore();
+ static
+ RTI_RestoreFailureReason const
+ federateResignedDuringRestore();
+ static
+ RTI_RestoreFailureReason const
+ rtiDetectedFailureDuringRestore();
+ RTI_RestoreFailureReason &
+ operator=(RTI_RestoreFailureReason const & rhs);
+ RTI_bool
+ operator==(RTI_RestoreFailureReason const & rhs) const;
+ RTI_bool
+ operator!=(RTI_RestoreFailureReason const & rhs) const;
+ RTI_wstring const
+ toString() const;
+ private:
+ RTI_RestoreFailureReason(unsigned RestoreFailureReason);
+ unsigned _RestoreFailureReason;
+};
+// These constants Restore a little typing for users.
+// They can be used much like a enum, but in a type-safe way
+RTI_RestoreFailureReason const
+RTI_RTI_UNABLE_TO_RESTORE =
+RTI_RestoreFailureReason::rtiUnableToRestore();
+RTI_RestoreFailureReason const
+RTI_FEDERATE_REPORTED_FAILURE_DURING_RESTORE =
+RTI_RestoreFailureReason::federateReportedFailureDuringRestore();
+RTI_RestoreFailureReason const
+RTI_FEDERATE_RESIGNED_DURING_RESTORE =
+RTI_RestoreFailureReason::federateResignedDuringRestore();
+RTI_RestoreFailureReason const
+RTI_RTI_DETECTED_FAILURE_DURING_RESTORE =
+RTI_RestoreFailureReason::rtiDetectedFailureDuringRestore();
+#ifdef RTI_USE_INLINE
+#include "RTI_RestoreFailureReason.i"
+#endif // RTI_USE_INLINE
+#endif // RTI_RestoreFailureReason_h
Index: RTI_FederateAmbassador.h
===================================================================
RCS file: RTI_FederateAmbassador.h
diff -N RTI_FederateAmbassador.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_FederateAmbassador.h 30 Sep 2008 13:52:39 -0000 1.1
@@ -0,0 +1,576 @@
+/***********************************************************************
+ IEEE 1516.1 High Level Architecture Interface Specification C++ API
+ File: RTI_FederateAmbassador.h
+***********************************************************************/
+// This is a pure abstract interface that must be implemented by the
+// federate to receive callbacks from the RTI.
+#ifndef RTI_FederateAmbassador_h
+#define RTI_FederateAmbassador_h
+//
+// These forward declarations significantly decrease compilation time when only
+// including this file
+//
+class RTI_AttributeAcquisitionWasNotCanceled;
+class RTI_AttributeAcquisitionWasNotRequested;
+class RTI_AttributeAlreadyOwned;
+class RTI_AttributeDivestitureWasNotRequested;
+class RTI_AttributeNotOwned;
+class RTI_AttributeNotPublished;
+class RTI_AttributeNotRecognized;
+class RTI_AttributeNotRecognized;
+class RTI_AttributeNotSubscribed;
+class RTI_CouldNotDiscover;
+class RTI_CouldNotInitiateRestore;
+class RTI_FederateInternalError;
+class RTI_InteractionClassNotPublished;
+class RTI_InteractionClassNotRecognized;
+class RTI_InteractionClassNotSubscribed;
+class RTI_InteractionParameterNotRecognized;
+class RTI_InvalidLogicalTime;
+class RTI_JoinedFederateIsNotInTimeAdvancingState;
+class RTI_LogicalTime;
+class RTI_NoRequestToEnableTimeConstrainedWasPending;
+class RTI_NoRequestToEnableTimeRegulationWasPending;
+class RTI_ObjectClassNotKnown;
+class RTI_ObjectClassNotPublished;
+class RTI_ObjectInstanceNotKnown;
+class RTI_OrderType;
+class RTI_SpecifiedSaveLabelDoesNotExist;
+class RTI_TransportationType;
+class RTI_UnableToPerformSave;
+class RTI_UnknownName;
+#include <RTI_SpecificConfig.h>
+#include <RTI_memory>
+#include <RTI_SynchronizationFailureReason.h>
+#include <RTI_RestoreFailureReason.h>
+#include <RTI_SaveFailureReason.h>
+#include <RTI_SaveStatus.h>
+#include <RTI_RestoreStatus.h>
+#include <RTI_Typedefs.h>
+class RTI_FederateAmbassador
+{
+public:
+ RTI_FederateAmbassador()
+ throw (RTI_FederateInternalError);
+ virtual
+ ~RTI_FederateAmbassador()
+ throw ();
+ // 4.7
+ virtual
+ void
+ synchronizationPointRegistrationSucceeded(RTI_wstring const & label)
+ throw (RTI_FederateInternalError) = 0;
+ virtual
+ void
+ synchronizationPointRegistrationFailed(RTI_wstring const & label,
+ RTI_SynchronizationFailureReason theReason)
+ throw (RTI_FederateInternalError) = 0;
+ // 4.8
+ virtual
+ void
+ announceSynchronizationPoint(RTI_wstringconst & label,
+ RTI_UserSuppliedTag const &
theUserSuppliedTag)
+ throw (RTI_FederateInternalError) = 0;
+ // 4.10
+ virtual
+ void
+ federationSynchronized(RTI_wstring const & label)
+ throw (RTI_FederateInternalError) = 0;
+ // 4.12
+ virtual
+ void
+ initiateFederateSave(RTI_wstring const & label)
+ throw (RTI_UnableToPerformSave,
+ RTI_FederateInternalError) = 0;
+ virtual
+ void
+ initiateFederateSave(RTI_wstring const & label,
+ RTI_LogicalTime const & theTime)
+ throw (RTI_UnableToPerformSave,
+ RTI_InvalidLogicalTime,
+ RTI_FederateInternalError) = 0;
+ // 4.15
+ virtual
+ void
+ federationSaved()
+ throw (RTI_FederateInternalError) = 0;
+ virtual
+ void
+ federationNotSaved(RTI_SaveFailureReason theSaveFailureReason)
+ throw (RTI_FederateInternalError) = 0;
+ // 4.17
+ virtual
+ void
+ federationSaveStatusResponse(RTI_auto_ptr<
+ RTI_FederateHandleSaveStatusPairVector > theFederateStatusVector)
+ throw (RTI_FederateInternalError) = 0;
+ // 4.19
+ virtual
+ void
+ requestFederationRestoreSucceeded(RTI_wstring const & label)
+ throw (RTI_FederateInternalError) = 0;
+ virtual
+ void
+ requestFederationRestoreFailed()
+ throw (RTI_FederateInternalError) = 0;
+ // 4.20
+ virtual
+ void
+ federationRestoreBegun()
+ throw (RTI_FederateInternalError) = 0;
+ // 4.21
+ virtual
+ void
+ initiateFederateRestore(RTI_wstring const & label,
+ RTI_FederateHandle const & handle)
+ throw (RTI_SpecifiedSaveLabelDoesNotExist,
+ RTI_CouldNotInitiateRestore,
+ RTI_FederateInternalError) = 0;
+ // 4.23
+ virtual
+ void
+ federationRestored()
+ throw (RTI_FederateInternalError) = 0;
+ virtual
+ void
+ federationNotRestored(RTI_RestoreFailureReason theRestoreFailureReason)
+ throw (RTI_FederateInternalError) = 0;
+ // 4.25
+ virtual
+ void
+ federationRestoreStatusResponse(RTI_auto_ptr<
+ RTI_FederateHandleRestoreStatusPairVector > theFederateStatusVector)
+ throw (RTI_FederateInternalError) = 0;
+ /////////////////////////////////////
+ // Declaration Management Services //
+ /////////////////////////////////////
+ // 5.10
+ virtual
+ void
+ startRegistrationForObjectClass(RTI_ObjectClassHandle const & theClass)
+ throw (RTI_ObjectClassNotPublished,
+ RTI_FederateInternalError) = 0;
+ // 5.11
+ virtual
+ void
+ stopRegistrationForObjectClass(RTI_ObjectClassHandle const & theClass)
+ throw (RTI_ObjectClassNotPublished,
+ RTI_FederateInternalError) = 0;
+ // 5.12
+ virtual
+ void
+ turnInteractionsOn(RTI_InteractionClassHandle const & theHandle)
+ throw (RTI_InteractionClassNotPublished,
+ RTI_FederateInternalError) = 0;
+ // 5.13
+ virtual
+ void
+ turnInteractionsOff(RTI_InteractionClassHandle const & theHandle)
+ throw (RTI_InteractionClassNotPublished,
+ RTI_FederateInternalError) = 0;
+ ////////////////////////////////
+ // Object Management Services //
+ ////////////////////////////////
+ // 6.3
+ virtual
+ void
+ objectInstanceNameReservationSucceeded(RTI_wstring const &
+theObjectInstanceName)
+ throw (RTI_UnknownName,
+ RTI_FederateInternalError) = 0;
+ virtual
+ void
+ objectInstanceNameReservationFailed(RTI_wstring const & theObjectInstanceName)
+ throw (RTI_UnknownName,
+ RTI_FederateInternalError) = 0;
+ // 6.5
+ virtual
+ void
+ discoverObjectInstance(RTI_ObjectInstanceHandleconst & theObject,
+ RTI_ObjectClassHandle const &
theObjectClass,
+ RTI_wstring const &
theObjectInstanceName)
+ throw (RTI_CouldNotDiscover,
+ RTI_ObjectClassNotKnown,
+ RTI_FederateInternalError) = 0;
+ // 6.7
+ virtual
+ void
+ reflectAttributeValues
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_auto_ptr< RTI_AttributeHandleValueMap >
theAttributeValues,
+ RTI_UserSuppliedTag const &
theUserSuppliedTag,
+ RTI_OrderType const & sentOrder,
+ RTI_TransportationType const & theType)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotRecognized,
+ RTI_AttributeNotSubscribed,
+ RTI_FederateInternalError) = 0;
+ virtual
+ void
+ reflectAttributeValues
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_auto_ptr< RTI_AttributeHandleValueMap > theAttributeValues,
+ RTI_UserSuppliedTag const &
theUserSuppliedTag,
+ RTI_OrderType const & sentOrder,
+ RTI_TransportationType const & theType,
+ RTI_RegionHandleSet const &
theSentRegionHandleSet)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotRecognized,
+ RTI_AttributeNotSubscribed,
+ RTI_FederateInternalError) = 0;
+ virtual
+ void
+ reflectAttributeValues
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_auto_ptr< RTI_AttributeHandleValueMap > theAttributeValues,
+ RTI_UserSuppliedTag const & theUserSuppliedTag,
+ RTI_OrderType const & sentOrder,
+ RTI_TransportationType const & theType,
+ RTI_LogicalTime const & theTime,
+ RTI_OrderType const & receivedOrder)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotRecognized,
+ RTI_AttributeNotSubscribed,
+ RTI_FederateInternalError) = 0;
+ virtual
+ void
+ reflectAttributeValues
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_auto_ptr< RTI_AttributeHandleValueMap > theAttributeValues,
+ RTI_UserSuppliedTag const & theUserSuppliedTag,
+ RTI_OrderType const & sentOrder,
+ RTI_TransportationType const & theType,
+ RTI_LogicalTime const & theTime,
+ RTI_OrderType const & receivedOrder,
+ RTI_RegionHandleSet const &
theSentRegionHandleSet)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotRecognized,
+ RTI_AttributeNotSubscribed,
+ RTI_FederateInternalError) = 0;
+ virtual
+ void
+ reflectAttributeValues
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_auto_ptr< RTI_AttributeHandleValueMap > theAttributeValues,
+ RTI_UserSuppliedTag const & theUserSuppliedTag,
+ RTI_OrderType const & sentOrder,
+ RTI_TransportationType const & theType,
+ RTI_LogicalTime const & theTime,
+ RTI_OrderType const & receivedOrder,
+ RTI_MessageRetractionHandle const & theHandle)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotRecognized,
+ RTI_AttributeNotSubscribed,
+ RTI_InvalidLogicalTime,
+ RTI_FederateInternalError) = 0;
+ virtual
+ void
+ reflectAttributeValues
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_auto_ptr< RTI_AttributeHandleValueMap > theAttributeValues,
+ RTI_UserSuppliedTag const & theUserSuppliedTag,
+ RTI_OrderType const & sentOrder,
+ RTI_TransportationType const & theType,
+ RTI_LogicalTime const & theTime,
+ RTI_OrderType const & receivedOrder,
+ RTI_MessageRetractionHandle const & theHandle,
+ RTI_RegionHandleSet const &
theSentRegionHandleSet)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotRecognized,
+ RTI_AttributeNotSubscribed,
+ RTI_InvalidLogicalTime,
+ RTI_FederateInternalError) = 0;
+ // 6.9
+ virtual
+ void
+ receiveInteraction
+ (RTI_InteractionClassHandle const & theInteraction,
+ RTI_auto_ptr< RTI_ParameterHandleValueMap > theParameterValues,
+ RTI_UserSuppliedTag const & theUserSuppliedTag,
+ RTI_OrderType const & sentOrder,
+ RTI_TransportationType const & theType)
+ throw (RTI_InteractionClassNotRecognized,
+ RTI_InteractionParameterNotRecognized,
+ RTI_InteractionClassNotSubscribed,
+ RTI_FederateInternalError) = 0;
+ virtual
+ void
+ receiveInteraction
+ (RTI_InteractionClassHandle const & theInteraction,
+ RTI_auto_ptr< RTI_ParameterHandleValueMap > theParameterValues,
+ RTI_UserSuppliedTag const & theUserSuppliedTag,
+ RTI_OrderType const & sentOrder,
+ RTI_TransportationType const & theType,
+ RTI_RegionHandleSet const &
theSentRegionHandleSet)
+ throw (RTI_InteractionClassNotRecognized,
+ RTI_InteractionParameterNotRecognized,
+ RTI_InteractionClassNotSubscribed,
+ RTI_FederateInternalError) = 0;
+ virtual
+ void
+ receiveInteraction
+ (RTI_InteractionClassHandle const & theInteraction,
+ RTI_auto_ptr< RTI_ParameterHandleValueMap > theParameterValues,
+ RTI_UserSuppliedTag const & theUserSuppliedTag,
+ RTI_OrderType const & sentOrder,
+ RTI_TransportationType const & theType,
+ RTI_LogicalTime const & theTime,
+RTI_OrderType const & receivedOrder)
+ throw (RTI_InteractionClassNotRecognized,
+ RTI_InteractionParameterNotRecognized,
+ RTI_InteractionClassNotSubscribed,
+ RTI_FederateInternalError) = 0;
+ virtual
+ void
+ receiveInteraction
+ (RTI_InteractionClassHandle const & theInteraction,
+ RTI_auto_ptr< RTI_ParameterHandleValueMap > theParameterValues,
+ RTI_UserSuppliedTag const & theUserSuppliedTag,
+ RTI_OrderType const & sentOrder,
+ RTI_TransportationType const & theType,
+ RTI_LogicalTime const & theTime,
+ RTI_OrderType const & receivedOrder,
+ RTI_RegionHandleSet const &
theSentRegionHandleSet)
+ throw (RTI_InteractionClassNotRecognized,
+ RTI_InteractionParameterNotRecognized,
+ RTI_InteractionClassNotSubscribed,
+ RTI_FederateInternalError) = 0;
+ virtual
+ void
+ receiveInteraction
+ (RTI_InteractionClassHandle const & theInteraction,
+ RTI_auto_ptr< RTI_ParameterHandleValueMap > theParameterValues,
+ RTI_UserSuppliedTag const & theUserSuppliedTag,
+ RTI_OrderType const & sentOrder,
+ RTI_TransportationType const & theType,
+ RTI_LogicalTime const & theTime,
+ RTI_OrderType const & receivedOrder,
+ RTI_MessageRetractionHandle const & theHandle)
+ throw (RTI_InteractionClassNotRecognized,
+ RTI_InteractionParameterNotRecognized,
+ RTI_InteractionClassNotSubscribed,
+ RTI_InvalidLogicalTime,
+ RTI_FederateInternalError) = 0;
+ virtual
+ void
+ receiveInteraction
+ (RTI_InteractionClassHandle const & theInteraction,
+ RTI_auto_ptr< RTI_ParameterHandleValueMap > theParameterValues,
+ RTI_UserSuppliedTag const & theUserSuppliedTag,
+ RTI_OrderType const & sentOrder,
+ RTI_TransportationType const & theType,
+ RTI_LogicalTime const & theTime,
+ RTI_OrderType const & receivedOrder,
+ RTI_MessageRetractionHandle const & theHandle,
+ RTI_RegionHandleSet const &
theSentRegionHandleSet)
+ throw (RTI_InteractionClassNotRecognized,
+ RTI_InteractionParameterNotRecognized,
+ RTI_InteractionClassNotSubscribed,
+ RTI_InvalidLogicalTime,
+ RTI_FederateInternalError) = 0;
+ // 6.11
+ virtual
+ void
+ removeObjectInstance(RTI_ObjectInstanceHandleconst & theObject,
+ RTI_UserSuppliedTag const & theUserSuppliedTag,
+ RTI_OrderType const & sentOrder)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_FederateInternalError) = 0;
+ virtual
+ void
+ removeObjectInstance(RTI_ObjectInstanceHandleconst & theObject,
+ RTI_UserSuppliedTag const & theUserSuppliedTag,
+ RTI_OrderType const & sentOrder,
+ RTI_LogicalTime const & theTime,
+ RTI_OrderType const & receivedOrder)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_FederateInternalError) = 0;
+ virtual
+ void
+ removeObjectInstance(RTI_ObjectInstanceHandle const & theObject,
+ RTI_UserSuppliedTag const &
theUserSuppliedTag,
+ RTI_OrderType const & sentOrder,
+ RTI_LogicalTime const & theTime,
+ RTI_OrderType const & receivedOrder,
+ RTI_MessageRetractionHandle const & theHandle)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_InvalidLogicalTime,
+ RTI_FederateInternalError) = 0;
+ // 6.15
+ virtual
+ void
+ attributesInScope
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_auto_ptr< RTI_AttributeHandleSet > theAttributes)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotRecognized,
+ RTI_AttributeNotSubscribed,
+ RTI_FederateInternalError) = 0;
+ // 6.16
+ virtual
+ void
+ attributesOutOfScope
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_auto_ptr< RTI_AttributeHandleSet > theAttributes)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotRecognized,
+ RTI_AttributeNotSubscribed,
+ RTI_FederateInternalError) = 0;
+ // 6.18
+ virtual
+ void
+ provideAttributeValueUpdate
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_auto_ptr< RTI_AttributeHandleSet > theAttributes,
+ RTI_UserSuppliedTag const & theUserSuppliedTag)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotRecognized,
+ RTI_AttributeNotOwned,
+ RTI_FederateInternalError) = 0;
+ // 6.19
+ virtual
+ void
+ turnUpdatesOnForObjectInstance
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_auto_ptr< RTI_AttributeHandleSet > theAttributes)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotRecognized,
+ RTI_AttributeNotOwned,
+ RTI_FederateInternalError) = 0;
+ // 6.20
+ virtual
+ void
+ turnUpdatesOffForObjectInstance
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_auto_ptr< RTI_AttributeHandleSet > theAttributes)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotRecognized,
+ RTI_AttributeNotOwned,
+ RTI_FederateInternalError) = 0;
+ ///////////////////////////////////
+ // Ownership Management Services //
+ ///////////////////////////////////
+ // 7.4
+ virtual
+ void
+ requestAttributeOwnershipAssumption
+ (RTI_ObjectInstanceHandle const & theObject,
+RTI_auto_ptr< RTI_AttributeHandleSet > offeredAttributes,
+RTI_UserSuppliedTag const & theUserSuppliedTag)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotRecognized,
+ RTI_AttributeAlreadyOwned,
+ RTI_AttributeNotPublished,
+ RTI_FederateInternalError) = 0;
+ // 7.5
+ virtual
+ void
+ requestDivestitureConfirmation
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_auto_ptr< RTI_AttributeHandleSet > releasedAttributes)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotRecognized,
+ RTI_AttributeNotOwned,
+ RTI_AttributeDivestitureWasNotRequested,
+ RTI_FederateInternalError) = 0;
+ // 7.7
+ virtual
+ void
+ attributeOwnershipAcquisitionNotification
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_auto_ptr< RTI_AttributeHandleSet > securedAttributes,
+ RTI_UserSuppliedTag const & theUserSuppliedTag)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotRecognized,
+ RTI_AttributeAcquisitionWasNotRequested,
+ RTI_AttributeAlreadyOwned,
+ RTI_AttributeNotPublished,
+ RTI_FederateInternalError) = 0;
+
+ // 7.10
+ virtual
+ void
+ attributeOwnershipUnavailable
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_auto_ptr< RTI_AttributeHandleSet > theAttributes)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotRecognized,
+ RTI_AttributeAlreadyOwned,
+ RTI_AttributeAcquisitionWasNotRequested,
+ RTI_FederateInternalError) = 0;
+ // 7.11
+ virtual
+ void
+ requestAttributeOwnershipRelease
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_auto_ptr< RTI_AttributeHandleSet > candidateAttributes,
+ RTI_UserSuppliedTag const & theUserSuppliedTag)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotRecognized,
+ RTI_AttributeNotOwned,
+ RTI_FederateInternalError) = 0;
+ // 7.15
+ virtual
+ void
+ confirmAttributeOwnershipAcquisitionCancellation
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_auto_ptr< RTI_AttributeHandleSet > theAttributes)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotRecognized,
+ RTI_AttributeAlreadyOwned,
+ RTI_AttributeAcquisitionWasNotCanceled,
+ RTI_FederateInternalError) = 0;
+ // 7.17
+ virtual
+ void
+ informAttributeOwnership(RTI_ObjectInstanceHandle const & theObject,
+ RTI_AttributeHandle const & theAttribute,
+ RTI_FederateHandle const & theOwner)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotRecognized,
+ RTI_FederateInternalError) = 0;
+ virtual
+ void
+ attributeIsNotOwned(RTI_ObjectInstanceHandle const & theObject,
+ RTI_AttributeHandle const & theAttribute)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotRecognized,
+ RTI_FederateInternalError) = 0;
+ virtual
+ void
+ attributeIsOwnedByRTI(RTI_ObjectInstanceHandle const & theObject,
+ RTI_AttributeHandle const & theAttribute)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotRecognized,
+ RTI_FederateInternalError) = 0;
+ //////////////////////////////
+ // Time Management Services //
+ //////////////////////////////
+ // 8.3
+ virtual
+ void
+ timeRegulationEnabled(RTI_LogicalTime const & theFederateTime)
+ throw (RTI_InvalidLogicalTime,
+ RTI_NoRequestToEnableTimeRegulationWasPending,
+ RTI_FederateInternalError) = 0;
+ // 8.6
+ virtual
+ void
+ timeConstrainedEnabled(RTI_LogicalTime const & theFederateTime)
+ throw (RTI_InvalidLogicalTime,
+ RTI_NoRequestToEnableTimeConstrainedWasPending,
+ RTI_FederateInternalError) = 0;
+ // 8.13
+ virtual
+ void
+ timeAdvanceGrant(RTI_LogicalTime const & theTime)
+ throw (RTI_InvalidLogicalTime,
+ RTI_JoinedFederateIsNotInTimeAdvancingState,
+ RTI_FederateInternalError) = 0;
+ // 8.22
+ virtual
+ void
+ requestRetraction(RTI_MessageRetractionHandle const & theHandle)
+ throw (RTI_FederateInternalError) = 0;
+};
+#endif // RTI_FederateAmbassador_h
Index: RTI_SpecificConfig.h.in
===================================================================
RCS file: RTI_SpecificConfig.h.in
diff -N RTI_SpecificConfig.h.in
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_SpecificConfig.h.in 30 Sep 2008 13:52:39 -0000 1.1
@@ -0,0 +1,27 @@
+/***********************************************************************
+IEEE 1516.1 High Level Architecture Interface Specification C++ API
+File: RTI_SpecificConfig.h
+***********************************************************************/
+// Purpose: This file contains definitions that are used to isolate
+// platform configuration issues.
+#ifndef RTI_SpecificConfig_h
+#define RTI_SpecificConfig_h
+#include <sys/types.h> // for size_t
+// macro to support Windows library export mechanism
+#define RTI_EXPORT /* nothing */
+//
+// When and how to use inline methods is left up to the RTI implementor
+//
+#ifdefRTI_DEBUG_ON
+#undefRTI_USE_INLINE
+#define RTI_INLINE /* inline */
+#else
+#define RTI_USE_INLINE
+#define RTI_INLINE inline
+#endif // RTI_DEBUG_ON
+#ifdef __GNUC__
+#ifndef RTI_TEMPLATES_REQUIRE_SOURCE
+#define RTI_TEMPLATES_REQUIRE_SOURCE
+#endif
+#endif // __GNUC__
+#endif // RTI_SpecificConfig_h
Index: RTI_1516.h
===================================================================
RCS file: RTI_1516.h
diff -N RTI_1516.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_1516.h 30 Sep 2008 13:52:39 -0000 1.1
@@ -0,0 +1,50 @@
+/***********************************************************************
+IEEE 1516.1 High Level Architecture Interface Specification C++ API
+File: RTI_1516.h
+***********************************************************************/
+//
+// This file is simply a convenience provided for those developers that would
+// like to include everything all at once
+//
+#ifndef RTI_1516_h
+#define RTI_1516_h
+// These file include declarations/definitions for ISO 14882 standard C++
+// classes, renamed for portability.
+#include <RTI_string>
+#include <RTI_set>
+#include <RTI_map>
+#include <RTI_vector>
+#include <RTI_memory>
+// This file contains platform specific configuration info.
+#include <RTI_SpecificConfig.h>
+#include <RTI_bool.h>
+// This file contains standard RTI type declarations/definitions.
+#include <RTI_exception.h>
+#include <RTI_Handle.h>
+#include <RTI_Value.h>
+#include <RTI_ResignAction.h>
+#include <RTI_TransportationType.h>
+#include <RTI_OrderType.h>
+#include <RTI_SaveFailureReason.h>
+#include <RTI_SaveStatus.h>
+#include <RTI_SynchronizationFailureReason.h>
+#include <RTI_RestoreStatus.h>
+#include <RTI_RestoreFailureReason.h>
+#include <RTI_ServiceGroupIndicator.h>
+#include <RTI_RangeBounds.h>
+// This file has RTI implementation specific declarations/definitions.
+#include <RTI_SpecificTypedefs.h>
+ // This file contains standard RTI type declarations/definitions which depend
on
+ // RTI implementation specific declarations/definitions.
+ #include <RTI_Typedefs.h>
+ #include <RTI_LogicalTime.h>
+ #include <RTI_LogicalTimeFactory.h>
+ #include <RTI_LogicalTimeInterval.h>
+ #include <RTI_LogicalTimeIntervalFactory.h>
+ static char const * const HLA_VERSION = "1516.1.5";
+ #include <RTI_FederateAmbassador.h>
+ #include <RTI_RTIambassador.h>
+ // This file provides RTI implementation specific decalarations and
definitions
+ // that need to follow the other header files.
+ #include <RTI_SpecificPostamble.h>
+ #endif // RTI_1516_h
Index: RTI_vector.h
===================================================================
RCS file: RTI_vector.h
diff -N RTI_vector.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_vector.h 30 Sep 2008 13:52:39 -0000 1.1
@@ -0,0 +1,4 @@
+#ifndef RTI_vector_h
+#define RTI_vector_h
+#include <vector>
+#endif // RTI_vector_h
Index: RTI_SpecificTypedefs.h
===================================================================
RCS file: RTI_SpecificTypedefs.h
diff -N RTI_SpecificTypedefs.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_SpecificTypedefs.h 30 Sep 2008 13:52:39 -0000 1.1
@@ -0,0 +1,85 @@
+/***********************************************************************
+IEEE 1516.1 High Level Architecture Interface Specification C++ API
+File: RTI_SpecificTypedefs.h
+***********************************************************************/
+// Purpose: This file contains definitions for RTI types that are specific to
+// the RTI implementation. The parameterized classes RTI_Handle and RTI_Value
+// enable the RTI implementation to insert a private member. The private
+// member declaration must be exposed in this header file. These
+// implementation specific declarations and definitions should not be
+// utilized since it is non-standard with respect to RTI implementations.
+#ifndef RTI_SpecificTypedefs_h
+#define RTI_SpecificTypedefs_h
+// The following type definitions correspond to standard types used in the API
+// (e.g., FederateHandle) that are described through the use of RTI
+// implementation specific representations.
+//
+// The following definitions represent an example of specific representations
+// that could be used by an RTI implementation.
+#include <RTI_SpecificConfig.h>
+//#include <RTI_Value.h>
+template < class T, int i > class RTI_Value;
+//
+// This class is an example of something that is RTI implementor specific.
+//
+#include <RTI_VariableLengthValueClass.h>
+//
+// The existence of these typedefs is required by the API Specification.
+// However, their particular definition is implementation-specific.RTI-user
+// code merely uses the typedefs. What their underlying type is, however, is up
+// to the RTI implementor.
+//
+typedef RTI_Value< RTI_VariableLengthValueClass, 1 > RTI_AttributeValue;
+typedef RTI_Value< RTI_VariableLengthValueClass, 2 > RTI_ParameterValue;
+typedef RTI_Value< RTI_VariableLengthValueClass, 3 > RTI_UserSuppliedTag;
+typedef RTI_Value< RTI_VariableLengthValueClass, 4 > RTI_EncodedData;
+//
+// The names of these classes are left up to the RTI implementor.
+//
+class RTI_FederateHandleFactory;
+class RTI_ObjectClassHandleFactory;
+class RTI_InteractionClassHandleFactory;
+class RTI_ObjectInstanceHandleFactory;
+class RTI_AttributeHandleFactory;
+class RTI_ParameterHandleFactory;
+class RTI_DimensionHandleFactory;
+class RTI_MessageRetractionHandleFactory;
+class RTI_RegionHandleFactory;
+//#include <RTI_Handle.h>
+template<class ImplementationSpecificHandleClass,
+class EncodedHandleClass,
+class ImplementationSpecificHandleClassFriend,
+inti>
+class RTI_Handle;
+//
+// The existence of these typedefs is required by the API Specification.
+// However, their particular definition is implementation-specific.
+//
+typedef
+RTI_Handle< long, RTI_EncodedData, RTI_FederateHandleFactory, 1 >
+RTI_FederateHandle;
+typedef
+RTI_Handle< long, RTI_EncodedData, RTI_ObjectClassHandleFactory, 2 >
+RTI_ObjectClassHandle;
+typedef
+RTI_Handle< long, RTI_EncodedData, RTI_InteractionClassHandleFactory, 3 >
+RTI_InteractionClassHandle;
+typedef
+RTI_Handle< long, RTI_EncodedData, RTI_ObjectInstanceHandleFactory, 4 >
+RTI_ObjectInstanceHandle;
+typedef
+RTI_Handle< long, RTI_EncodedData, RTI_AttributeHandleFactory, 5 >
+RTI_AttributeHandle;
+typedef
+RTI_Handle< long, RTI_EncodedData, RTI_ParameterHandleFactory, 6 >
+RTI_ParameterHandle;
+typedef
+RTI_Handle< long, RTI_EncodedData, RTI_DimensionHandleFactory, 7 >
+RTI_DimensionHandle;
+typedef
+RTI_Handle< long, RTI_EncodedData, RTI_MessageRetractionHandleFactory, 8 >
+RTI_MessageRetractionHandle;
+typedef
+RTI_Handle< long, RTI_EncodedData, RTI_RegionHandleFactory, 11 >
+RTI_RegionHandle;
+#endif // RTI_SpecificTypedefs_h
Index: RTI_OrderType.h
===================================================================
RCS file: RTI_OrderType.h
diff -N RTI_OrderType.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_OrderType.h 30 Sep 2008 13:52:39 -0000 1.1
@@ -0,0 +1,56 @@
+/***********************************************************************
+IEEE 1516.1 High Level Architecture Interface Specification C++ API
+File: RTI_OrderType.h
+***********************************************************************/
+#ifndef RTI_OrderType_h
+#define RTI_OrderType_h
+class RTI_bool;
+#include <RTI_SpecificConfig.h>
+#include <RTI_SpecificTypedefs.h> // for RTI_EncodedData
+#include <RTI_string>
+// Type safe class used to represent type of data order.
+class RTI_EXPORT RTI_OrderType
+{
+ public:
+ RTI_OrderType(RTI_EncodedData const & theEncodedOrderType);
+ RTI_OrderType(RTI_OrderType const & rhs)
+ throw();
+ static
+ RTI_OrderType const
+ receive()
+ throw();
+ static
+ RTI_OrderType const
+ timestamp()
+ throw();
+ RTI_OrderType &
+ operator=(RTI_OrderType const & rhs)
+ throw ();
+ RTI_bool
+ operator==(RTI_OrderType const & rhs) const
+ throw();
+ RTI_bool
+ operator!=(RTI_OrderType const & rhs) const
+ throw();
+ RTI_wstring const
+ toString() const;
+ RTI_EncodedData
+ encode() const
+ throw();
+ private:
+ RTI_OrderType(unsigned orderType)
+ throw();
+ unsigned _orderType;
+};
+// These constants save a little typing for users.
+// They can be used much like a enum, but in a type-safe way
+RTI_OrderType const
+RTI_RECEIVE =
+RTI_OrderType::receive();
+RTI_OrderType const
+RTI_TIMESTAMP =
+RTI_OrderType::timestamp();
+#ifdef RTI_USE_INLINE
+#include "RTI_OrderType.i"
+#endif // RTI_USE_INLINE
+#endif // RTI_OrderType_h
Index: RTI_RangeBounds.h
===================================================================
RCS file: RTI_RangeBounds.h
diff -N RTI_RangeBounds.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_RangeBounds.h 30 Sep 2008 13:52:39 -0000 1.1
@@ -0,0 +1,34 @@
+/***********************************************************************
+IEEE 1516.1 High Level Architecture Interface Specification C++ API
+File: RTI_RangeBounds.h
+***********************************************************************/
+#ifndef RTI_RangeBounds_h
+#define RTI_RangeBounds_h
+#include <RTI_SpecificConfig.h>
+class RTI_EXPORT RTI_RangeBounds
+{
+public:
+ RTI_RangeBounds();
+ RTI_RangeBounds(unsigned long lowerBound,
+ unsigned long upperBound);
+ ~RTI_RangeBounds()
+ throw ();
+ RTI_RangeBounds(RTI_RangeBounds const & rhs);
+ RTI_RangeBounds &
+ operator=(RTI_RangeBounds const & rhs);
+ unsigned long
+ getLowerBound() const;
+ unsigned long
+ getUpperBound() const;
+ void
+ setLowerBound(unsigned long lowerBound);
+ void
+ setUpperBound(unsigned long upperBound);
+ private:
+ unsigned long _lowerBound;
+ unsigned long _upperBound;
+};
+#ifdef RTI_USE_INLINE
+#include "RTI_RangeBounds.i"
+#endif // RTI_USE_INLINE
+#endif // RTI_RangeBounds_h
Index: RTI_ServiceGroupIndicator.h
===================================================================
RCS file: RTI_ServiceGroupIndicator.h
diff -N RTI_ServiceGroupIndicator.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_ServiceGroupIndicator.h 30 Sep 2008 13:52:40 -0000 1.1
@@ -0,0 +1,74 @@
+/***********************************************************************
+IEEE 1516.1 High Level Architecture Interface Specification C++ API
+File: RTI_ServiceGroupIndicator.h
+***********************************************************************/
+#ifndef RTI_ServiceGroupIndicator_h
+#define RTI_ServiceGroupIndicator_h
+class RTI_bool;
+#include <RTI_SpecificConfig.h>
+#include <RTI_string>
+// Type safe class used to represent the service group
+class RTI_EXPORT RTI_ServiceGroupIndicator
+{
+public:
+ RTI_ServiceGroupIndicator(RTI_ServiceGroupIndicator const & rhs);
+ static
+ RTI_ServiceGroupIndicator const
+ federationManagement();
+ static
+ RTI_ServiceGroupIndicator const
+ declarationManagement();
+ static
+ RTI_ServiceGroupIndicator const
+ objectManagement();
+ static
+ RTI_ServiceGroupIndicator const
+ ownershipManagement();
+ static
+ RTI_ServiceGroupIndicator const
+ timeManagement();
+ static
+ RTI_ServiceGroupIndicator const
+ dataDistributionManagement();
+ static
+ RTI_ServiceGroupIndicator const
+ supportServices();
+ RTI_ServiceGroupIndicator &
+ operator=(RTI_ServiceGroupIndicator const & rhs);
+ RTI_bool
+ operator==(RTI_ServiceGroupIndicator const & rhs) const;
+ RTI_bool
+ operator!=(RTI_ServiceGroupIndicator const & rhs) const;
+ RTI_wstring const
+ toString() const;
+ private:
+ RTI_ServiceGroupIndicator(unsigned _ServiceGroupIndicator);
+ unsigned _ServiceGroupIndicator;
+};
+// These constants save a little typing for users.
+// They can be used much like a enum, but in a type-safe way
+RTI_ServiceGroupIndicator const
+RTI_FEDERATION_MANAGEMENT
+= RTI_ServiceGroupIndicator::federationManagement();
+RTI_ServiceGroupIndicator const
+RTI_DECLARATION_MANAGEMENT
+= RTI_ServiceGroupIndicator::declarationManagement();
+RTI_ServiceGroupIndicator const
+RTI_OBJECT_MANAGEMENT
+= RTI_ServiceGroupIndicator::objectManagement();
+RTI_ServiceGroupIndicator const
+RTI_OWNERSHIP_MANAGEMENT
+= RTI_ServiceGroupIndicator::ownershipManagement();
+RTI_ServiceGroupIndicator const
+RTI_TIME_MANAGEMENT
+= RTI_ServiceGroupIndicator::timeManagement();
+RTI_ServiceGroupIndicator const
+RTI_DATA_DISTRIBUTION_MANAGEMENT
+= RTI_ServiceGroupIndicator::dataDistributionManagement();
+RTI_ServiceGroupIndicator const
+RTI_SUPPORT_SERVICES
+= RTI_ServiceGroupIndicator::supportServices();
+#ifdef RTI_USE_INLINE
+#include "RTI_ServiceGroupIndicator.i"
+#endif // RTI_USE_INLINE
+#endif // RTI_ServiceGroupIndicator_h
Index: RTI_Value.h
===================================================================
RCS file: RTI_Value.h
diff -N RTI_Value.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_Value.h 30 Sep 2008 13:52:40 -0000 1.1
@@ -0,0 +1,40 @@
+/***********************************************************************
+IEEE 1516.1 High Level Architecture Interface Specification C++ API
+File: RTI_Value.h
+***********************************************************************/
+#ifndef RTI_Value_h
+#define RTI_Value_h
+#include <RTI_SpecificConfig.h>
+// The RTI_Value class is used to as a generic value holder that contains a
+// pointer to the memory location and the size of the value. This class is
+// used for attributes, parameters, and user supplied tags.The constructor
+// takes a pointer to the data value and the size of the data. The key methods
+// on this class is the data method which returns a constant pointer to the
+// value memory location, and the size method which returns the size in bytes
+// of the value. The templatized class T provides RTI implementations the
+// ability to customize their particular implementation. The int template type
+// parameter provides the ability to support strong typing.
+template < class T, int i >
+RTI_EXPORT class RTI_Value
+{
+public:
+ RTI_Value (void const * data, size_t size);
+ ~RTI_Value()
+ throw ();
+ RTI_Value(RTI_Value const & rhs);
+ RTI_Value &
+ operator=(RTI_Value const & rhs);
+ void const *
+ data() const;
+ size_t
+ size() const;
+private:
+ T _impl;
+};
+#ifdef RTI_USE_INLINE
+#include "RTI_Value.i"
+#endif // RTI_USE_INLINE
+#ifdef RTI_TEMPLATES_REQUIRE_SOURCE
+#include "RTI_Value.cpp"
+#endif // RTI_TEMPLATES_REQUIRE_SOURCE
+#endif // RTI_Value_h
Index: RTI_SaveStatus.h
===================================================================
RCS file: RTI_SaveStatus.h
diff -N RTI_SaveStatus.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_SaveStatus.h 30 Sep 2008 13:52:40 -0000 1.1
@@ -0,0 +1,56 @@
+/***********************************************************************
+IEEE 1516.1 High Level Architecture Interface Specification C++ API
+File: RTI_SaveStatus.h
+***********************************************************************/
+#ifndef RTI_SaveStatus_h
+#define RTI_SaveStatus_h
+class RTI_bool;
+#include <RTI_SpecificConfig.h>
+#include <RTI_string>
+// Type safe class used to represent save status of an individual federate.
+class RTI_EXPORT RTI_SaveStatus
+{
+public:
+ RTI_SaveStatus(RTI_SaveStatus const & rhs);
+ static
+ RTI_SaveStatus const
+ noSaveInProgress();
+ static
+ RTI_SaveStatus const
+ federateInstructedToSave();
+ static
+ RTI_SaveStatus const
+ federateSaving();
+ static
+ RTI_SaveStatus const
+ federateWaitingForFederationToSave();
+ RTI_SaveStatus &
+ operator=(RTI_SaveStatus const & rhs);
+ RTI_bool
+ operator==(RTI_SaveStatus const & rhs) const;
+ RTI_bool
+ operator!=(RTI_SaveStatus const & rhs) const;
+ RTI_wstring const
+ toString() const;
+ private:
+ RTI_SaveStatus(unsigned _SaveStatus);
+ unsigned _SaveStatus;
+};
+// These constants save a little typing for users.
+// They can be used much like a enum, but in a type-safe way
+RTI_SaveStatus const
+RTI_NO_SAVE_IN_PROGRESS
+= RTI_SaveStatus::noSaveInProgress();
+RTI_SaveStatus const
+RTI_FEDERATE_INSTRUCTED_TO_SAVE
+= RTI_SaveStatus::federateInstructedToSave();
+RTI_SaveStatus const
+RTI_FEDERATE_SAVING
+= RTI_SaveStatus::federateSaving();
+RTI_SaveStatus const
+RTI_FEDERATE_WAITING_FOR_FEDERATION_TO_SAVE
+= RTI_SaveStatus::federateWaitingForFederationToSave();
+#ifdef RTI_USE_INLINE
+#include "RTI_SaveStatus.i"
+#endif // RTI_USE_INLINE
+#endif // RTI_SaveStatus_h
Index: RTI_memory.h
===================================================================
RCS file: RTI_memory.h
diff -N RTI_memory.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_memory.h 30 Sep 2008 13:52:40 -0000 1.1
@@ -0,0 +1,4 @@
+#ifndef RTI_memory_h
+#define RTI_memory_h
+#include <memory>
+#endif // RTI_memory_h
Index: RTI_string.h
===================================================================
RCS file: RTI_string.h
diff -N RTI_string.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_string.h 30 Sep 2008 13:52:40 -0000 1.1
@@ -0,0 +1,5 @@
+#ifndef RTI_string_h
+#define RTI_string_h
+#include <string>
+typedef std::string RTI_string;
+#endif // RTI_string_h
Index: RTI_Typedefs.h
===================================================================
RCS file: RTI_Typedefs.h
diff -N RTI_Typedefs.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_Typedefs.h 30 Sep 2008 13:52:40 -0000 1.1
@@ -0,0 +1,65 @@
+/***********************************************************************
+IEEE 1516.1 High Level Architecture Interface Specification C++ API
+File: RTI_Typedefs.h
+***********************************************************************/
+// Purpose: This file contains the standard RTI types that are prefixed
+// with the string "RTI". These definitions/declarations are standard
+// for all RTI implementations.
+//
+// The types declared here require the use of some RTI_Specific types.
+#ifndef RTI_Typedefs_h
+#define RTI_Typedefs_h
+// The following type definitions use standard C++ classes for containers
+// that are used in the RTI API.
+#include <RTI_set>
+#include <RTI_map>
+#include <RTI_vector>
+#include <RTI_SpecificTypedefs.h>
+typedef RTI_set< RTI_AttributeHandle, RTI_less< RTI_AttributeHandle > ,
+ RTI___STL_DEFAULT_ALLOCATOR (RTI_AttributeHandle)>
+ RTI_AttributeHandleSet;
+typedef RTI_set<RTI_FederateHandle, RTI_less<RTI_FederateHandle > ,
+ RTI___STL_DEFAULT_ALLOCATOR (RTI_FederateHandle)>
+ RTI_FederateHandleSet;
+typedef RTI_set< RTI_DimensionHandle, RTI_less< RTI_DimensionHandle >,
+ RTI___STL_DEFAULT_ALLOCATOR (RTI_DimensionHandle) >
+ RTI_DimensionHandleSet;
+typedef RTI_set< RTI_RegionHandle, RTI_less< RTI_RegionHandle >,
+ RTI___STL_DEFAULT_ALLOCATOR (RTI_RegionHandle) >
+ RTI_RegionHandleSet;
+// RTI_AttributeHandleValueMap implements a constrained set of
+// (attribute handle and value) pairs
+typedef RTI_map< RTI_AttributeHandle, RTI_AttributeValue, RTI_less >
+ RTI_AttributeHandle >, RTI___STL_DEFAULT_ALLOCATOR
+ (RTI_AttributeHandle) >
+ RTI_AttributeHandleValueMap;
+// RTI_ParameterHandleValueMap implements a constrained set of
+// (parameter handle and value) pairs
+typedef RTI_map< RTI_ParameterHandle, RTI_ParameterValue, RTI_less<
+ RTI_ParameterHandle >, RTI___STL_DEFAULT_ALLOCATOR
+ (RTI_ParameterHandle) >
+ RTI_ParameterHandleValueMap;
+// RTI_AttributeHandleSetRegionHandleSetPairVector implements a collection of
+// (attribute handle set and region set) pairs
+typedef RTI_pair< RTI_AttributeHandleSet, RTI_RegionHandleSet >
+ RTI_AttributeHandleSetRegionHandleSetPair;
+typedef RTI_vector< RTI_AttributeHandleSetRegionHandleSetPair,
+ RTI___STL_DEFAULT_ALLOCATOR
+ (RTI_AttributeHandleSetRegionHandleSetPair) >
+ RTI_AttributeHandleSetRegionHandleSetPairVector;
+// RTI_FederateHandleSaveStatusPairVector implements a collection of
+// (federate handle and save status) pairs
+typedef RTI_pair< RTI_FederateHandle, RTI_SaveStatus >
+ RTI_FederateHandleSaveStatusPair;
+typedef RTI_vector< RTI_FederateHandleSaveStatusPair,
+
RTI___STL_DEFAULT_ALLOCATOR(RTI_FederateHandleSaveStatusPair >
+ RTI_FederateHandleSaveStatusPairVector;
+// RTI_FederateHandleRestoreStatusPairVector implements a collection of
+// (federate handle and restore status) pairs
+typedef RTI_pair< RTI_FederateHandle, RTI_RestoreStatus >
+ RTI_FederateHandleRestoreStatusPair;
+typedef RTI_vector< RTI_FederateHandleRestoreStatusPair,
+ RTI___STL_DEFAULT_ALLOCATOR(RTI_FederateHandleRestore
+StatusPair) >
+ RTI_FederateHandleRestoreStatusPairVector;
+#endif // RTI_Typedefs_h
Index: RTI_RestoreStatus.h
===================================================================
RCS file: RTI_RestoreStatus.h
diff -N RTI_RestoreStatus.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_RestoreStatus.h 30 Sep 2008 13:52:40 -0000 1.1
@@ -0,0 +1,68 @@
+/***********************************************************************
+IEEE 1516.1 High Level Architecture Interface Specification C++ API
+File: RTI_RestoreStatus.h
+***********************************************************************/
+#ifndef RTI_RestoreStatus_h
+#define RTI_RestoreStatus_h
+class RTI_bool;
+#include <RTI_SpecificConfig.h>
+#include <RTI_string>
+// Type safe class used to represent save status of an individual federate.
+class RTI_EXPORT RTI_RestoreStatus
+{
+public:
+ RTI_RestoreStatus(RTI_RestoreStatus const & rhs);
+ static
+ RTI_RestoreStatus const
+ noRestoreInProgress();
+ static
+ RTI_RestoreStatus const
+ federateRestoreRequestPending();
+ static
+ RTI_RestoreStatus const
+ federateWaitingForRestoreToBegin();
+ static
+ RTI_RestoreStatus const
+ federatePreparedToRestore();
+ static
+ RTI_RestoreStatus const
+ federateRestoring();
+ static
+ RTI_RestoreStatus const
+ federateWaitingForFederationToRestore();
+ RTI_RestoreStatus &
+ operator=(RTI_RestoreStatus const & rhs);
+ RTI_bool
+ operator==(RTI_RestoreStatus const & rhs) const;
+ RTI_bool
+ operator!=(RTI_RestoreStatus const & rhs) const;
+ RTI_wstring const
+ toString() const;
+private:
+ RTI_RestoreStatus(unsigned _RestoreStatus);
+ unsigned _RestoreStatus;
+};
+// These constants save a little typing for users.
+// They can be used much like a enum, but in a type-safe way
+RTI_RestoreStatus const
+RTI_NO_RESTORE_IN_PROGRESS
+= RTI_RestoreStatus::noRestoreInProgress();
+RTI_RestoreStatus const
+RTI_FEDERATE_RESTORE_REQUEST_PENDING
+= RTI_RestoreStatus::federateRestoreRequestPending();
+RTI_RestoreStatus const
+RTI_FEDERATE_WAITING_FOR_RESTORE_TO_BEGIN
+= RTI_RestoreStatus::federateWaitingForRestoreToBegin();
+RTI_RestoreStatus const
+RTI_FEDERATE_PREPARED_TO_RESTORE
+= RTI_RestoreStatus::federatePreparedToRestore();
+RTI_RestoreStatus const
+RTI_FEDERATE_RESTORING
+= RTI_RestoreStatus::federateRestoring();
+RTI_RestoreStatus const
+RTI_FEDERATE_WAITING_FOR_FEDERATION_TO_RESTORE
+= RTI_RestoreStatus::federateWaitingForFederationToRestore();
+#ifdef RTI_USE_INLINE
+#include "RTI_RestoreStatus.i"
+#endif // RTI_USE_INLINE
+#endif // RTI_RestoreStatus_h
Index: RTI_set.h
===================================================================
RCS file: RTI_set.h
diff -N RTI_set.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_set.h 30 Sep 2008 13:52:40 -0000 1.1
@@ -0,0 +1,4 @@
+#ifndef RTI_set_h
+#define RTI_set_h
+#include <set>
+#endif // RTI_set_h
Index: RTI_EncodedLogicalTimeInterval.h
===================================================================
RCS file: RTI_EncodedLogicalTimeInterval.h
diff -N RTI_EncodedLogicalTimeInterval.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_EncodedLogicalTimeInterval.h 30 Sep 2008 13:52:40 -0000 1.1
@@ -0,0 +1,16 @@
+/***********************************************************************
+IEEE 1516.1 High Level Architecture Interface Specification C++ API
+File: RTI_EncodedLogicalTimeInterval.h
+***********************************************************************/
+#ifndef RTI_EncodedLogicalTimeInterval_h
+#define RTI_EncodedLogicalTimeInterval_h
+#include <RTI_SpecificConfig.h>
+class RTI_EncodedLogicalTimeInterval
+{
+public:
+ virtual ~RTI_EncodedLogicalTimeInterval() throw () {}
+ virtual voidconst * data() const = 0;
+ virtual size_tsize() const = 0;
+};
+#endif // RTI_EncodedLogicalTimeInterval_h
+
Index: RTI_ResignAction.h
===================================================================
RCS file: RTI_ResignAction.h
diff -N RTI_ResignAction.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_ResignAction.h 30 Sep 2008 13:52:40 -0000 1.1
@@ -0,0 +1,69 @@
+/***********************************************************************
+IEEE 1516.1 High Level Architecture Interface Specification C++ API
+File: RTI_ResignAction.h
+***********************************************************************/
+#ifndef RTI_ResignAction_h
+#define RTI_ResignAction_h
+class RTI_bool;
+#include <RTI_SpecificConfig.h>
+#include <RTI_string>
+// Type safe class used to represent action taken on resign.
+class RTI_EXPORT RTI_ResignAction
+{
+public:
+ RTI_ResignAction(RTI_ResignAction const & rhs);
+ static
+ RTI_ResignAction const
+ unconditionallyDivestAttributes();
+ static
+ RTI_ResignAction const
+ deleteObjects();
+ static
+ RTI_ResignAction const
+ cancelPendingOwnershipAcquisitions();
+ static
+ RTI_ResignAction const
+ deleteObjectsThenDivest();
+ static
+ RTI_ResignAction const
+ cancelThenDeleteThenDivest();
+ static
+ RTI_ResignAction const
+ noAction();
+ RTI_ResignAction &
+ operator=(RTI_ResignAction const & rhs);
+ RTI_bool
+ operator==(RTI_ResignAction const & rhs) const;
+ RTI_bool
+ operator!=(RTI_ResignAction const & rhs) const;
+ RTI_wstring const
+ toString() const;
+ private:
+ RTI_ResignAction(unsigned _resignAction);
+ unsigned _resignAction;
+};
+
+// These constants save a little typing for users.
+// They can be used much like a enum, but in a type-safe way
+RTI_ResignAction const
+RTI_UNCONDITIONALLY_DIVEST_ATTRIBUTES
+= RTI_ResignAction::unconditionallyDivestAttributes();
+RTI_ResignAction const
+RTI_DELETE_OBJECTS
+= RTI_ResignAction::deleteObjects();
+RTI_ResignAction const
+RTI_CANCEL_PENDING_OWNERSHIP_ACQUISITIONS
+= RTI_ResignAction::cancelPendingOwnershipAcquisitions();
+RTI_ResignAction const
+RTI_DELETE_OBJECTS_THEN_DIVEST
+= RTI_ResignAction::deleteObjectsThenDivest();
+RTI_ResignAction const
+RTI_CANCEL_THEN_DELETE_THEN_DIVEST
+= RTI_ResignAction::cancelThenDeleteThenDivest();
+RTI_ResignAction const
+RTI_NO_ACTION
+= RTI_ResignAction::noAction();
+#ifdef RTI_USE_INLINE
+#include "RTI_ResignAction.i"
+#endif // RTI_USE_INLINE
+#endif // RTI_ResignAction_h
Index: RTI_bool.h
===================================================================
RCS file: RTI_bool.h
diff -N RTI_bool.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_bool.h 30 Sep 2008 13:52:41 -0000 1.1
@@ -0,0 +1,41 @@
+/***********************************************************************
+IEEE 1516.1 High Level Architecture Interface Specification C++ API
+File: RTI_bool.h
+***********************************************************************/
+#ifndef RTI_bool_h
+#define RTI_bool_h
+#include <RTI_SpecificConfig.h>
+#include <RTI_string>
+// This is a type-safe boolean class.Not all platforms support the bool
+// type. Consequently, one must be provided.
+//
+class RTI_EXPORT RTI_bool
+{
+ public:
+ RTI_bool();
+ RTI_bool(unsigned boolean);
+ RTI_bool(RTI_bool const & b);
+ ~RTI_bool()
+ throw();
+ static
+ RTI_bool const
+ True();
+ static
+ RTI_bool const
+ False();
+ operator unsigned() const;
+ RTI_bool const
+ operator==(RTI_bool const & rhs) const;
+ RTI_bool const
+ operator!=(RTI_bool const & rhs) const;
+ RTI_wstring
+ toString() const;
+ private:
+unsigned _boolean;
+};
+#ifdef RTI_USE_INLINE
+#include "RTI_bool.i"
+#endif // RTI_USE_INLINE
+RTI_bool const RTI_true= RTI_bool::True();
+RTI_bool const RTI_false = RTI_bool::False();
+#endif // RTI_bool_h
Index: RTI_map.h
===================================================================
RCS file: RTI_map.h
diff -N RTI_map.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_map.h 30 Sep 2008 13:52:41 -0000 1.1
@@ -0,0 +1,4 @@
+#ifndef RTI_map_h
+#define RTI_map_h
+#include <map>
+#endif // RTI_map_h
Index: RTI_LogicalTimeInterval.h
===================================================================
RCS file: RTI_LogicalTimeInterval.h
diff -N RTI_LogicalTimeInterval.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_LogicalTimeInterval.h 30 Sep 2008 13:52:41 -0000 1.1
@@ -0,0 +1,64 @@
+/***********************************************************************
+IEEE 1516.1 High Level Architecture Interface Specification C++ API
+File: RTI_LogicalTimeInterval.h
+***********************************************************************/
+#ifndef RTI_LogicalTimeInterval_h
+#define RTI_LogicalTimeInterval_h
+// The classes associated with logical time allow a federation to provide
+// their own representation for logical time and logical time interval. The
+// federation is responsible to inherit from the abstract classes declared
+// below. The encoded time classes are used to hold the arbitrary bit
+// representation of the logical time and logical time intervals.
+#include <RTI_memory>
+class RTI_EncodedLogicalTimeInterval;
+class RTI_EXPORT RTI_LogicalTimeInterval
+{
+ public:
+ virtual
+ ~RTI_LogicalTimeInterval()
+ throw ();
+ virtual
+ void
+ setZero() = 0;
+ virtual
+ RTI_bool
+ isZero() = 0;
+ virtual
+ RTI_bool
+ isEpsilon() = 0;
+ virtual
+ void
+ setTo(RTI_LogicalTimeInterval const & value)
+ throw (RTI_InvalidLogicalTimeInterval) = 0;
+ virtual
+ RTI_auto_ptr< RTI_LogicalTimeInterval >
+ subtract(RTI_LogicalTimeInterval const & subtrahend) const
+ throw (RTI_InvalidLogicalTimeInterval) = 0;
+ virtual
+ RTI_bool
+ isGreaterThan(RTI_LogicalTimeInterval const & value) const
+ throw (RTI_InvalidLogicalTimeInterval) = 0;
+ virtual
+ RTI_bool
+ isLessThan(RTI_LogicalTimeInterval const & value) const
+ throw (RTI_InvalidLogicalTimeInterval) = 0;
+ virtual
+ RTI_bool
+ isEqualTo(RTI_LogicalTimeInterval const & value) const
+ throw (RTI_InvalidLogicalTimeInterval) = 0;
+ virtual
+ RTI_bool
+ isGreaterThanOrEqualTo(RTI_LogicalTimeInterval const & value) const
+ throw (RTI_InvalidLogicalTimeInterval) = 0;
+ virtual
+ RTI_bool
+ isLessThanOrEqualTo(RTI_LogicalTimeInterval const & value) const
+ throw (RTI_InvalidLogicalTimeInterval) = 0;
+ virtual
+ RTI_auto_ptr< RTI_EncodedLogicalTimeInterval >
+ encode() const = 0;
+ virtual
+ RTI_wstring
+ toString() const = 0;
+};
+#endif // RTI_LogicalTimeInterval_h
Index: RTI_SaveFailureReason.h
===================================================================
RCS file: RTI_SaveFailureReason.h
diff -N RTI_SaveFailureReason.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_SaveFailureReason.h 30 Sep 2008 13:52:41 -0000 1.1
@@ -0,0 +1,62 @@
+/***********************************************************************
+IEEE 1516.1 High Level Architecture Interface Specification C++ API
+File: RTI_SaveFailureReason.h
+***********************************************************************/
+#ifndef RTI_SaveFailureReason_h
+#define RTI_SaveFailureReason_h
+class RTI_bool;
+#include <RTI_SpecificConfig.h>
+#include <RTI_string>
+// Type safe class used to represent type of data order.
+class RTI_EXPORT RTI_SaveFailureReason
+{
+ public:
+ RTI_SaveFailureReason(RTI_SaveFailureReason const & rhs);
+ static
+ RTI_SaveFailureReason const
+ rtiUnableToSave();
+ static
+ RTI_SaveFailureReason const
+ federateReportedFailureDuringSave();
+ static
+ RTI_SaveFailureReason const
+ federateResignedDuringSave();
+ static
+ RTI_SaveFailureReason const
+ rtiDetectedFailureDuringSave();
+ static
+ RTI_SaveFailureReason const
+ saveTimeCannotBeHonored();
+ RTI_SaveFailureReason &
+ operator=(RTI_SaveFailureReason const & rhs);
+ RTI_bool
+ operator==(RTI_SaveFailureReason const & rhs) const;
+ RTI_bool
+ operator!=(RTI_SaveFailureReason const & rhs) const;
+ RTI_wstring const
+ toString() const;
+ private:
+ RTI_SaveFailureReason(unsigned saveFailureReason);
+ unsigned _saveFailureReason;
+};
+// These constants save a little typing for users.
+// They can be used much like a enum, but in a type-safe way
+RTI_SaveFailureReason const
+RTI_RTI_UNABLE_TO_SAVE =
+RTI_SaveFailureReason::rtiUnableToSave();
+RTI_SaveFailureReason const
+RTI_FEDERATE_REPORTED_FAILURE_DURING_SAVE =
+RTI_SaveFailureReason::federateReportedFailureDuringSave();
+RTI_SaveFailureReason const
+RTI_FEDERATE_RESIGNED_DURING_SAVE =
+RTI_SaveFailureReason::federateResignedDuringSave();
+RTI_SaveFailureReason const
+RTI_RTI_DETECTED_FAILURE_DURING_SAVE =
+RTI_SaveFailureReason::rtiDetectedFailureDuringSave();
+RTI_SaveFailureReason const
+RTI_SAVE_TIME_CANNOT_BE_HONORED =
+RTI_SaveFailureReason::saveTimeCannotBeHonored();
+#ifdef RTI_USE_INLINE
+#include "RTI_SaveFailureReason.i"
+#endif // RTI_USE_INLINE
+#endif // RTI_SaveFailureReason_h
Index: RTI_RTIambassador.h
===================================================================
RCS file: RTI_RTIambassador.h
diff -N RTI_RTIambassador.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ RTI_RTIambassador.h 30 Sep 2008 13:52:41 -0000 1.1
@@ -0,0 +1,1238 @@
+/***********************************************************************
+IEEE 1516.1 High Level Architecture Interface Specification C++ API
+File: RTI_RTIambassador.h
+***********************************************************************/
+// This interface is used to access the services of the RTI.
+#ifndef RTI_RTIambassador_h
+#define RTI_RTIambassador_h
+//
+// These forward declarations significantly decrease compilation time when only
+// including this file
+//
+class RTI_AsynchronousDeliveryAlreadyDisabled;
+class RTI_AsynchronousDeliveryAlreadyEnabled;
+class RTI_AttributeAcquisitionWasNotRequested;
+class RTI_AttributeAlreadyBeingAcquired;
+class RTI_AttributeAlreadyBeingDivested;
+class RTI_AttributeAlreadyOwned;
+class RTI_AttributeDivestitureWasNotRequested;
+class RTI_AttributeNotDefined;
+class RTI_AttributeNotOwned;
+class RTI_AttributeNotPublished;
+class RTI_AttributeRelevanceAdvisorySwitchIsOff;
+class RTI_AttributeRelevanceAdvisorySwitchIsOn;
+class RTI_AttributeScopeAdvisorySwitchIsOff;
+class RTI_AttributeScopeAdvisorySwitchIsOn;
+class RTI_CouldNotOpenFDD;
+class RTI_DeletePrivilegeNotHeld;
+class RTI_ErrorReadingFDD;
+class RTI_FederateAlreadyExecutionMember;
+class RTI_FederateAmbassador;
+class RTI_FederateHasNotBegunSave;
+class RTI_FederateNotExecutionMember;
+class RTI_FederateOwnsAttributes;
+class RTI_FederateServiceInvocationsAreBeingReportedViaMOM;
+class RTI_FederateUnableToUseTime;
+class RTI_FederatesCurrentlyJoined;
+class RTI_FederationExecutionAlreadyExists;
+class RTI_FederationExecutionDoesNotExist ;
+class RTI_FederationExecutionDoesNotExist;
+class RTI_IllegalName;
+class RTI_InTimeAdvancingState;
+class RTI_InteractionClassNotDefined;
+class RTI_InteractionClassNotPublished;
+class RTI_InteractionParameterNotDefined;
+class RTI_InteractionRelevanceAdvisorySwitchIsOff;
+class RTI_InteractionRelevanceAdvisorySwitchIsOn;
+ class RTI_InvalidAttributeHandle;
+ class RTI_InvalidDimensionHandle;
+ class RTI_InvalidInteractionClassHandle;
+ class RTI_InvalidLogicalTime;
+ class RTI_InvalidLookahead;
+ class RTI_InvalidObjectClassHandle;
+ class RTI_InvalidOrderName;
+ class RTI_InvalidOrderType;
+ class RTI_InvalidParameterHandle;
+ class RTI_InvalidRangeBounds;
+ class RTI_InvalidRegion;
+ class RTI_InvalidRegionContext;
+ class RTI_InvalidRetractionHandle;
+ class RTI_InvalidTransportationName;
+ class RTI_InvalidTransportationType;
+ class RTI_LogicalTime;
+ class RTI_LogicalTimeAlreadyPassed ;
+ class RTI_LogicalTimeAlreadyPassed;
+ class RTI_LogicalTimeFactory;
+ class RTI_LogicalTimeInterval;
+ class RTI_LogicalTimeIntervalFactory;
+ class RTI_MessageCanNoLongerBeRetracted;
+ class RTI_NameNotFound;
+ class RTI_ObjectClassNotDefined ;
+ class RTI_ObjectClassNotDefined;
+ class RTI_ObjectClassNotPublished;
+ class RTI_ObjectClassRelevanceAdvisorySwitchIsOff;
+ class RTI_ObjectClassRelevanceAdvisorySwitchIsOn;
+ class RTI_ObjectInstanceNameInUse;
+ class RTI_ObjectInstanceNameNotReserved;
+ class RTI_ObjectInstanceNotKnown ;
+ class RTI_ObjectInstanceNotKnown;
+ class RTI_OrderType;
+ class RTI_OwnershipAcquisitionPending;
+ class RTI_RTIinternalError;
+ class RTI_RangeBounds;
+ class RTI_RegionDoesNotContainSpecifiedDimension;
+ class RTI_RegionInUseForUpdateOrSubscription;
+ class RTI_RegionNotCreatedByThisFederate;
+ class RTI_RequestForTimeConstrainedPending;
+ class RTI_RequestForTimeConstrainedPending;
+ class RTI_RequestForTimeRegulationPending;
+ class RTI_ResignAction;
+ class RTI_RestoreInProgress;
+ class RTI_RestoreNotInProgress;
+ class RTI_RestoreNotRequested;
+ class RTI_RestoreStatus;
+ class RTI_SaveInProgress;
+ class RTI_SaveNotInProgress;
+ class RTI_SaveNotInitiated;
+ class RTI_SaveStatus;
+ class RTI_ServiceGroupIndicator;
+ class RTI_SynchronizationPointLabelNotAnnounced;
+ class RTI_TimeConstrainedAlreadyEnabled;
+ class RTI_TimeConstrainedIsNotEnabled;
+ class RTI_TimeRegulationAlreadyEnabled;
+ class RTI_TimeRegulationIsNotEnabled;
+ class RTI_TransportationType;
+ #include <RTI_SpecificConfig.h>
+ #include <RTI_memory>
+ #include <RTI_string>
+ #include <RTI_bool.h>
+ #include <RTI_Typedefs.h>
+ class RTI_RTIambassador
+ {
+ public:
+ // 10.37
+ virtual ~RTI_RTIambassador ()
+ throw ();
+ // 4.2
+ virtual void createFederationExecution
+ (RTI_wstring const & federationExecutionName,
+ RTI_wstring const & fullPathNameToTheFDDfile)
+ throw (RTI_FederationExecutionAlreadyExists,
+ RTI_CouldNotOpenFDD,
+ RTI_ErrorReadingFDD,
+ RTI_RTIinternalError) = 0;
+ // 4.3
+ virtual void destroyFederationExecution
+ (RTI_wstring const & federationExecutionName)
+ throw (RTI_FederatesCurrentlyJoined,
+ RTI_FederationExecutionDoesNotExist,
+ RTI_RTIinternalError) = 0;
+ // 4.4
+ virtualRTI_FederateHandle const & joinFederationExecution
+ (RTI_wstring const & federateType,
+ RTI_wstring const & federationExecutionName,
+ RTI_auto_ptr< RTI_FederateAmbassador > federateAmbassador,
+ RTI_auto_ptr< RTI_LogicalTimeFactory > logicalTimeFactory,
+ RTI_auto_ptr< RTI_LogicalTimeIntervalFactory > logicalTimeIntervalFactory)
+ throw (RTI_FederateAlreadyExecutionMember,
+ RTI_FederationExecutionDoesNotExist,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 4.5
+ virtual void resignFederationExecution
+ (RTI_ResignAction resignAction)
+ throw (RTI_OwnershipAcquisitionPending,
+ RTI_FederateOwnsAttributes,
+ RTI_FederateNotExecutionMember,
+ RTI_RTIinternalError) = 0;
+ // 4.6
+ virtual void registerFederationSynchronizationPoint
+ (RTI_wstringconst & label,
+ RTI_UserSuppliedTag const & theUserSuppliedTag)
+ throw (RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ virtual void registerFederationSynchronizationPoint
+ (RTI_wstring const & label,
+ RTI_UserSuppliedTag const & theUserSuppliedTag,
+ RTI_FederateHandleSet const & syncSet)
+ throw (RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 4.9
+ virtual void synchronizationPointAchieved
+ (RTI_wstring const & label)
+ throw (RTI_SynchronizationPointLabelNotAnnounced,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 4.11
+ virtual void requestFederationSave
+ (RTI_wstring const & label)
+ throw (RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ virtual void requestFederationSave
+ (RTI_wstring const & label,
+ RTI_LogicalTime const & theTime)
+ throw (RTI_LogicalTimeAlreadyPassed,
+ RTI_InvalidLogicalTime,
+ RTI_FederateUnableToUseTime,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 4.13
+ virtual void federateSaveBegun ()
+ throw (RTI_SaveNotInitiated,
+ RTI_FederateNotExecutionMember,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 4.14
+ virtual void federateSaveComplete ()
+ throw (RTI_FederateHasNotBegunSave,
+ RTI_FederateNotExecutionMember,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ virtual void federateSaveNotComplete()
+ throw (RTI_FederateHasNotBegunSave,
+ RTI_FederateNotExecutionMember,
+ RTI_RestoreInProgress,
+ RTsI_RTIinternalError) = 0;
+ // 4.16
+ virtual void queryFederationSaveStatus ()
+ throw (RTI_FederateNotExecutionMember,
+ RTI_SaveNotInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 4.18
+ virtual void requestFederationRestore
+ (RTI_wstring const & label)
+ throw (RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 4.22
+ virtual void federateRestoreComplete ()
+ throw (RTI_RestoreNotRequested,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RTIinternalError) = 0;
+ virtual void federateRestoreNotComplete ()
+ throw (RTI_RestoreNotRequested,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RTIinternalError) = 0;
+ // 4.24
+ virtual void queryFederationRestoreStatus ()
+ throw (RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreNotInProgress,
+ RTI_RTIinternalError) = 0;
+ /////////////////////////////////////
+ // Declaration Management Services //
+ /////////////////////////////////////
+ // 5.2
+ virtual void publishObjectClassAttributes
+ (RTI_ObjectClassHandleconst & theClass,
+ RTI_AttributeHandleSet const & attributeList)
+ throw (RTI_ObjectClassNotDefined,
+ RTI_AttributeNotDefined,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 5.3
+ virtual void unpublishObjectClass
+ (RTI_ObjectClassHandle const & theClass)
+ throw (RTI_ObjectClassNotDefined,
+ RTI_OwnershipAcquisitionPending,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ virtual void unpublishObjectClassAttributes
+ (RTI_ObjectClassHandleconst & theClass,
+ RTI_AttributeHandleSet const & attributeList)
+ throw (RTI_ObjectClassNotDefined,
+ RTI_AttributeNotDefined,
+ RTI_OwnershipAcquisitionPending,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 5.4
+ virtual void publishInteractionClass
+ (RTI_InteractionClassHandle const & theInteraction)
+ throw (RTI_InteractionClassNotDefined,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 5.5
+ virtual void unpublishInteractionClass
+ (RTI_InteractionClassHandle const & theInteraction)
+ throw (RTI_InteractionClassNotDefined,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 5.6
+ virtual void subscribeObjectClassAttributes
+ (RTI_ObjectClassHandleconst & theClass,
+ RTI_AttributeHandleSet const & attributeList,
+ RTI_bool active = RTI_true)
+ throw (RTI_ObjectClassNotDefined,
+ RTI_AttributeNotDefined,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 5.7
+ virtual void unsubscribeObjectClass
+ (RTI_ObjectClassHandle const & theClass)
+ throw (RTI_ObjectClassNotDefined,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ virtual void unsubscribeObjectClassAttributes
+ (RTI_ObjectClassHandleconst & theClass,
+ RTI_AttributeHandleSet const & attributeList)
+ throw (RTI_ObjectClassNotDefined,
+ RTI_AttributeNotDefined,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 5.8
+ virtual void subscribeInteractionClass
+ (RTI_InteractionClassHandle const & theClass,
+ RTI_bool active = RTI_true)
+ throw (RTI_InteractionClassNotDefined,
+ RTI_FederateServiceInvocationsAreBeingReportedViaMOM,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 5.9
+ virtual void unsubscribeInteractionClass
+ (RTI_InteractionClassHandle const & theClass)
+ throw (RTI_InteractionClassNotDefined,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ ////////////////////////////////
+ // Object Management Services //
+ ////////////////////////////////
+ // 6.2
+ virtual void reserveObjectInstanceName
+ (RTI_wstring const & theObjectInstanceName)
+ throw (RTI_IllegalName,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 6.4
+ virtual RTI_ObjectInstanceHandle const & registerObjectInstance
+ (RTI_ObjectClassHandle const & theClass)
+ throw (RTI_ObjectClassNotDefined,
+ RTI_ObjectClassNotPublished,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ virtual RTI_ObjectInstanceHandle const & registerObjectInstance
+ (RTI_ObjectClassHandle const & theClass,
+ RTI_wstring const & theObjectInstanceName)
+ throw (RTI_ObjectClassNotDefined,
+ RTI_ObjectClassNotPublished,
+ RTI_ObjectInstanceNameNotReserved,
+ RTI_ObjectInstanceNameInUse,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 6.6
+ virtual void updateAttributeValues
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_AttributeHandleValueMap const & theAttributeValues,
+ RTI_UserSuppliedTag const & theUserSuppliedTag)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotDefined,
+ RTI_AttributeNotOwned,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ virtual RTI_auto_ptr< RTI_MessageRetractionHandle > updateAttributeValues
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_AttributeHandleValueMap const & theAttributeValues,
+ RTI_UserSuppliedTag const & theUserSuppliedTag,
+ RTI_LogicalTime const & theTime)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotDefined,
+ RTI_AttributeNotOwned,
+ RTI_InvalidLogicalTime,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 6.8
+ virtual void sendInteraction
+ (RTI_InteractionClassHandleconst & theInteraction,
+ RTI_ParameterHandleValueMap const & theParameterValues,
+ RTI_UserSuppliedTag const & theUserSuppliedTag)
+ throw (RTI_InteractionClassNotPublished,
+ RTI_InteractionClassNotDefined,
+ RTI_InteractionParameterNotDefined,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ virtual RTI_auto_ptr< RTI_MessageRetractionHandle > sendInteraction
+ (RTI_InteractionClassHandleconst & theInteraction,
+ RTI_ParameterHandleValueMap const & theParameterValues,
+ RTI_UserSuppliedTag const & theUserSuppliedTag,
+ RTI_LogicalTime const & theTime)
+ throw (RTI_InteractionClassNotPublished,
+ RTI_InteractionClassNotDefined,
+ RTI_InteractionParameterNotDefined,
+ RTI_InvalidLogicalTime,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 6.10
+ virtual void deleteObjectInstance
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_UserSuppliedTag const & theUserSuppliedTag)
+ throw (RTI_DeletePrivilegeNotHeld,
+ RTI_ObjectInstanceNotKnown,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ virtual RTI_auto_ptr< RTI_MessageRetractionHandle > deleteObjectInstance
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_UserSuppliedTag const & theUserSuppliedTag,
+ RTI_LogicalTimeconst & theTime)
+ throw (RTI_DeletePrivilegeNotHeld,
+ RTI_ObjectInstanceNotKnown,
+ RTI_InvalidLogicalTime,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 6.12
+ virtual void localDeleteObjectInstance
+ (RTI_ObjectInstanceHandle const & theObject)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_FederateOwnsAttributes,
+ RTI_OwnershipAcquisitionPending,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 6.13
+ virtual void changeAttributeTransportationType
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_AttributeHandleSet const & theAttributes,
+ RTI_TransportationType const & theType)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotDefined,
+ RTI_AttributeNotOwned,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 6.14
+ virtual void changeInteractionTransportationType
+ (RTI_InteractionClassHandle const & theClass,
+ RTI_TransportationType const & theType)
+ throw (RTI_InteractionClassNotDefined,
+ RTI_InteractionClassNotPublished,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 6.17
+ virtual void requestAttributeValueUpdate
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_AttributeHandleSet const & theAttributes,
+ RTI_UserSuppliedTag const & theUserSuppliedTag)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotDefined,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ virtual void requestAttributeValueUpdate
+ (RTI_ObjectClassHandle const & theClass,
+ RTI_AttributeHandleSet const & theAttributes,
+ RTI_UserSuppliedTag const & theUserSuppliedTag)
+ throw (RTI_ObjectClassNotDefined,
+ RTI_AttributeNotDefined,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ ///////////////////////////////////
+ // Ownership Management Services //
+ ///////////////////////////////////
+ // 7.2
+ virtual void unconditionalAttributeOwnershipDivestiture
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_AttributeHandleSet const & theAttributes)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotDefined,
+ RTI_AttributeNotOwned,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 7.3
+ virtual void negotiatedAttributeOwnershipDivestiture
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_AttributeHandleSet const & theAttributes,
+ RTI_UserSuppliedTag const & theUserSuppliedTag)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotDefined,
+ RTI_AttributeNotOwned,
+ RTI_AttributeAlreadyBeingDivested,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 7.6
+ virtual
+ void
+ confirmDivestiture
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_auto_ptr< RTI_AttributeHandleSet >securedAttributes,
+ RTI_UserSuppliedTagconst & theUserSuppliedTag)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotDefined,
+ RTI_AttributeNotOwned,
+ RTI_AttributeDivestitureWasNotRequested,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 7.8
+ virtual void attributeOwnershipAcquisition
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_AttributeHandleSet const & desiredAttributes,
+ RTI_UserSuppliedTag const & theUserSuppliedTag)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_ObjectClassNotPublished,
+ RTI_AttributeNotDefined,
+ RTI_AttributeNotPublished,
+ RTI_FederateOwnsAttributes,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 7.9
+ virtual void attributeOwnershipAcquisitionIfAvailable
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_AttributeHandleSet const & desiredAttributes)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_ObjectClassNotPublished,
+ RTI_AttributeNotDefined,
+ RTI_AttributeNotPublished,
+ RTI_FederateOwnsAttributes,
+ RTI_AttributeAlreadyBeingAcquired,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 7.12
+ virtual RTI_auto_ptr< RTI_AttributeHandleSet >
+ attributeOwnershipDivestitureIfWanted
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_AttributeHandleSet const & theAttributes)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotDefined,
+ RTI_AttributeNotOwned,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 7.13
+ virtual void cancelNegotiatedAttributeOwnershipDivestiture
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_AttributeHandleSet const & theAttributes)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotDefined,
+ RTI_AttributeNotOwned,
+ RTI_AttributeDivestitureWasNotRequested,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 7.14
+ virtual void cancelAttributeOwnershipAcquisition
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_AttributeHandleSet const & theAttributes)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotDefined,
+ RTI_AttributeAlreadyOwned,
+ RTI_AttributeAcquisitionWasNotRequested,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 7.16
+ virtual void queryAttributeOwnership
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_AttributeHandle const & theAttribute)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotDefined,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 7.18
+ virtual RTI_bool isAttributeOwnedByFederate
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_AttributeHandle const & theAttribute)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotDefined,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ //////////////////////////////
+ // Time Management Services //
+ //////////////////////////////
+ // 8.2
+ virtual void enableTimeRegulation
+ (RTI_LogicalTimeInterval const & theLookahead)
+ throw (RTI_TimeRegulationAlreadyEnabled,
+ RTI_InvalidLookahead,
+ RTI_InTimeAdvancingState,
+ RTI_RequestForTimeRegulationPending,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 8.4
+ virtual void disableTimeRegulation ()
+ throw (RTI_TimeRegulationIsNotEnabled,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 8.5
+ virtual void enableTimeConstrained ()
+ throw (RTI_TimeConstrainedAlreadyEnabled,
+ RTI_InTimeAdvancingState,
+ RTI_RequestForTimeConstrainedPending,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 8.7
+ virtual void disableTimeConstrained ()
+ throw (RTI_TimeConstrainedIsNotEnabled,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 8.8
+ virtual void timeAdvanceRequest
+ (RTI_LogicalTime const & theTime)
+ throw (RTI_InvalidLogicalTime,
+ RTI_LogicalTimeAlreadyPassed,
+ RTI_InTimeAdvancingState,
+ RTI_RequestForTimeRegulationPending,
+ RTI_RequestForTimeConstrainedPending,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 8.9
+ virtual void timeAdvanceRequestAvailable
+ (RTI_LogicalTime const & theTime)
+ throw (RTI_InvalidLogicalTime,
+ RTI_LogicalTimeAlreadyPassed,
+ RTI_InTimeAdvancingState,
+ RTI_RequestForTimeRegulationPending,
+ RTI_RequestForTimeConstrainedPending,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 8.10
+ virtual void nextMessageRequest
+ (RTI_LogicalTime const & theTime)
+ throw (RTI_InvalidLogicalTime,
+ RTI_LogicalTimeAlreadyPassed,
+ RTI_InTimeAdvancingState,
+ RTI_RequestForTimeRegulationPending,
+ RTI_RequestForTimeConstrainedPending,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 8.11
+ virtual void nextMessageRequestAvailable
+ (RTI_LogicalTime const & theTime)
+ throw (RTI_InvalidLogicalTime,
+ RTI_LogicalTimeAlreadyPassed,
+ RTI_InTimeAdvancingState,
+ RTI_RequestForTimeRegulationPending,
+ RTI_RequestForTimeConstrainedPending,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 8.12
+ virtual void flushQueueRequest
+ (RTI_LogicalTime const & theTime)
+ throw (RTI_InvalidLogicalTime,
+ RTI_LogicalTimeAlreadyPassed,
+ RTI_InTimeAdvancingState,
+ RTI_RequestForTimeRegulationPending,
+ RTI_RequestForTimeConstrainedPending,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 8.14
+ virtual void enableAsynchronousDelivery ()
+ throw (RTI_AsynchronousDeliveryAlreadyEnabled,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 8.15
+ virtual void disableAsynchronousDelivery ()
+ throw (RTI_AsynchronousDeliveryAlreadyDisabled,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 8.16
+ virtual RTI_auto_ptr< RTI_LogicalTime > queryGALT ()
+ throw (RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 8.17
+ virtual RTI_LogicalTime const & queryLogicalTime ()
+ throw (RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 8.18
+ virtual RTI_auto_ptr< RTI_LogicalTime > const & queryLITS ()
+ throw (RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 8.19
+ virtual void modifyLookahead
+ (RTI_LogicalTimeInterval const & theLookahead)
+ throw (RTI_TimeRegulationIsNotEnabled,
+ RTI_InvalidLookahead,
+ RTI_InTimeAdvancingState,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 8.20
+ virtual RTI_LogicalTimeInterval const & queryLookahead ()
+ throw (RTI_TimeRegulationIsNotEnabled,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 8.21
+ virtual void retract
+ (RTI_MessageRetractionHandle const & theHandle)
+ throw (RTI_InvalidRetractionHandle,
+ RTI_TimeRegulationIsNotEnabled,
+ RTI_MessageCanNoLongerBeRetracted,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 8.23
+ virtual void changeAttributeOrderType
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_AttributeHandleSet const & theAttributes,
+ RTI_OrderType const & theType)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotDefined,
+ RTI_AttributeNotOwned,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 8.24
+ virtual void changeInteractionOrderType
+ (RTI_InteractionClassHandle const & theClass,
+ RTI_OrderType const & theType)
+ throw (RTI_InteractionClassNotDefined,
+ RTI_InteractionClassNotPublished,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ //////////////////////////////////
+ // Data Distribution Management //
+ //////////////////////////////////
+ // 9.2
+ virtual RTI_auto_ptr< RTI_RegionHandle > createRegion
+ (RTI_DimensionHandleSet const & theDimensions)
+ throw (RTI_InvalidDimensionHandle,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 9.3
+ virtual void commitRegionModifications
+ (RTI_RegionHandleSet const & theRegionHandleSet)
+ throw (RTI_InvalidRegion,
+ RTI_RegionNotCreatedByThisFederate,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 9.4
+ virtual void deleteRegion
+ (RTI_auto_ptr< RTI_RegionHandle > theRegion)
+ throw (RTI_InvalidRegion,
+ RTI_RegionNotCreatedByThisFederate,
+ RTI_RegionInUseForUpdateOrSubscription,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 9.5
+ virtual RTI_ObjectInstanceHandle const & registerObjectInstanceWithRegions
+ (RTI_ObjectClassHandle const & theClass,
+ RTI_AttributeHandleSetRegionHandleSetPairVector const &
+ theAttributeHandleSetRegionHandleSetPairVector)
+ throw (RTI_ObjectClassNotDefined,
+ RTI_ObjectClassNotPublished,
+ RTI_AttributeNotDefined,
+ RTI_AttributeNotPublished,
+ RTI_InvalidRegion,
+ RTI_RegionNotCreatedByThisFederate,
+ RTI_InvalidRegionContext,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ virtual RTI_ObjectInstanceHandle const & registerObjectInstanceWithRegions
+ (RTI_ObjectClassHandle const & theClass,
+ RTI_AttributeHandleSetRegionHandleSetPairVector const &
+ theAttributeHandleSetRegionHandleSetPairVector,
+ RTI_wstring const & theObjectInstanceName)
+ throw (RTI_ObjectClassNotDefined,
+ RTI_ObjectClassNotPublished,
+ RTI_AttributeNotDefined,
+ RTI_AttributeNotPublished,
+ RTI_InvalidRegion,
+ RTI_RegionNotCreatedByThisFederate,
+ RTI_InvalidRegionContext,
+ RTI_ObjectInstanceNameNotReserved,
+ RTI_ObjectInstanceNameInUse,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 9.6
+ virtual void associateRegionsForUpdates
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_AttributeHandleSetRegionHandleSetPairVector const &
+ theAttributeHandleSetRegionHandleSetPairVector)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotDefined,
+ RTI_InvalidRegion,
+ RTI_RegionNotCreatedByThisFederate,
+ RTI_InvalidRegionContext,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 9.7
+ virtual void unassociateRegionsForUpdates
+ (RTI_ObjectInstanceHandle const & theObject,
+ RTI_AttributeHandleSetRegionHandleSetPairVector const &
+ theAttributeHandleSetRegionHandleSetPairVector)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_AttributeNotDefined,
+ RTI_InvalidRegion,
+ RTI_RegionNotCreatedByThisFederate,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 9.8
+ virtual void subscribeObjectClassAttributesWithRegions
+ (RTI_ObjectClassHandle const & theClass,
+ RTI_AttributeHandleSetRegionHandleSetPairVector const &
+ theAttributeHandleSetRegionHandleSetPairVector,
+ RTI_bool active = RTI_true)
+ throw (RTI_ObjectClassNotDefined,
+ RTI_AttributeNotDefined,
+ RTI_InvalidRegion,
+ RTI_RegionNotCreatedByThisFederate,
+ RTI_InvalidRegionContext,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 9.9
+ virtual void unsubscribeObjectClassAttributesWithRegions
+ (RTI_ObjectClassHandle const & theClass,
+ RTI_AttributeHandleSetRegionHandleSetPairVector const
+& theAttributeHandleSetRegionHandleSetPairVector)
+ throw (RTI_ObjectClassNotDefined,
+ RTI_AttributeNotDefined,
+ RTI_InvalidRegion,
+ RTI_RegionNotCreatedByThisFederate,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 9.10
+ virtual void subscribeInteractionClassWithRegions
+ (RTI_InteractionClassHandle const & theClass,
+ RTI_RegionHandleSet const & theRegionHandleSet,
+ RTI_bool active = RTI_true)
+ throw (RTI_InteractionClassNotDefined,RTI_InvalidRegion,
+ RTI_RegionNotCreatedByThisFederate,
+ RTI_InvalidRegionContext,
+ RTI_FederateServiceInvocationsAreBeingReportedViaMOM,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+// 9.11
+ virtual void unsubscribeInteractionClassWithRegions
+ (RTI_InteractionClassHandle const & theClass,
+ RTI_RegionHandleSet const & theRegionHandleSet)
+ throw (RTI_InteractionClassNotDefined,
+ RTI_InvalidRegion,
+ RTI_RegionNotCreatedByThisFederate,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 9.12
+ virtual void sendInteractionWithRegions
+ (RTI_InteractionClassHandleconst & theInteraction,
+ RTI_ParameterHandleValueMap const & theParameterValues,
+ RTI_RegionHandleSet const & theRegionHandleSet,
+ RTI_UserSuppliedTag const & theUserSuppliedTag)
+ throw (RTI_InteractionClassNotDefined,
+ RTI_InteractionClassNotPublished,
+ RTI_InteractionParameterNotDefined,
+ RTI_InvalidRegion,
+ RTI_RegionNotCreatedByThisFederate,
+ RTI_InvalidRegionContext,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ virtual RTI_auto_ptr< RTI_MessageRetractionHandle >
sendInteractionWithRegions
+ (RTI_InteractionClassHandleconst & theInteraction,
+ RTI_ParameterHandleValueMap const & theParameterValues,
+ RTI_RegionHandleSet const & theRegionHandleSet,
+ RTI_UserSuppliedTag const & theUserSuppliedTag,
+ RTI_LogicalTime const & theTime)
+ throw (RTI_InteractionClassNotDefined,
+ RTI_InteractionClassNotPublished,
+ RTI_InteractionParameterNotDefined,
+ RTI_InvalidRegion,
+ RTI_RegionNotCreatedByThisFederate,
+ RTI_InvalidRegionContext,
+ RTI_InvalidLogicalTime,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 9.13
+ virtual void requestAttributeValueUpdateWithRegions
+ (RTI_ObjectClassHandle const & theClass,
+ RTI_AttributeHandleSetRegionHandleSetPairVector const & theSet,
+ RTI_UserSuppliedTag const & theUserSuppliedTag)
+ throw (RTI_ObjectClassNotDefined,
+ RTI_AttributeNotDefined,
+ RTI_InvalidRegion,
+ RTI_RegionNotCreatedByThisFederate,
+ RTI_InvalidRegionContext,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ //////////////////////////
+ // RTI Support Services //
+ //////////////////////////
+ // 10.2
+ virtual RTI_ObjectClassHandle const & getObjectClassHandle
+ (RTI_wstring const & theName)
+ throw (RTI_NameNotFound,
+ RTI_FederateNotExecutionMember,
+ RTI_RTIinternalError) = 0;
+ // 10.3
+ virtual RTI_wstring const & getObjectClassName
+ (RTI_ObjectClassHandle const & theHandle)
+ throw (RTI_InvalidObjectClassHandle,
+ RTI_FederateNotExecutionMember,
+ RTI_RTIinternalError) = 0;
+ // 10.4
+ virtual RTI_AttributeHandle const & getAttributeHandle
+ (RTI_ObjectClassHandle const & whichClass,
+ RTI_wstring const & theAttributeName)
+ throw (RTI_InvalidObjectClassHandle,
+ RTI_NameNotFound,
+ RTI_FederateNotExecutionMember,
+ RTI_RTIinternalError) = 0;
+ // 10.5
+ virtual RTI_wstring const & getAttributeName
+ (RTI_ObjectClassHandle const & whichClass,
+ RTI_AttributeHandle const & theHandle)
+ throw (RTI_InvalidObjectClassHandle,
+ RTI_InvalidAttributeHandle,
+ RTI_AttributeNotDefined,
+ RTI_FederateNotExecutionMember,
+ RTI_RTIinternalError) = 0;
+ // 10.6
+ virtual RTI_InteractionClassHandle const & getInteractionClassHandle
+ (RTI_wstring const & theName)
+ throw (RTI_NameNotFound,
+ RTI_FederateNotExecutionMember,
+ RTI_RTIinternalError) = 0;
+ // 10.7
+ virtual RTI_wstring const & getInteractionClassName
+ (RTI_InteractionClassHandle const & theHandle)
+ throw (RTI_InvalidInteractionClassHandle,
+ RTI_FederateNotExecutionMember,
+ RTI_RTIinternalError) = 0;
+ // 10.8
+ virtual RTI_ParameterHandle const & getParameterHandle
+ (RTI_InteractionClassHandle const & whichClass,
+ RTI_wstring const & theName)
+ throw (RTI_InvalidInteractionClassHandle,
+ RTI_NameNotFound,
+ RTI_FederateNotExecutionMember,
+ RTI_RTIinternalError) = 0;
+ // 10.9
+ virtual RTI_wstring const & getParameterName
+ (RTI_InteractionClassHandle const & whichClass,
+ RTI_ParameterHandle const & theHandle)
+ throw (RTI_InvalidInteractionClassHandle,
+ RTI_InvalidParameterHandle,
+ RTI_InteractionParameterNotDefined,
+ RTI_FederateNotExecutionMember,
+ RTI_RTIinternalError) = 0;
+ // 10.10
+ virtual RTI_ObjectInstanceHandle const & getObjectInstanceHandle
+ (RTI_wstring const & theName)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_FederateNotExecutionMember,
+ RTI_RTIinternalError) = 0;
+ // 10.11
+ virtual RTI_wstring const & getObjectInstanceName
+ (RTI_ObjectInstanceHandle const & theHandle)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_FederateNotExecutionMember,
+ RTI_RTIinternalError) = 0;
+ // 10.12
+ virtual RTI_DimensionHandle const & getDimensionHandle
+ (RTI_wstring const & theName)
+ throw (RTI_NameNotFound,
+ RTI_FederateNotExecutionMember,
+ RTI_RTIinternalError) = 0;
+ // 10.13
+ virtual RTI_wstring const & getDimensionName
+ (RTI_DimensionHandle const & theHandle)
+ throw (RTI_InvalidDimensionHandle,
+ RTI_FederateNotExecutionMember,
+ RTI_RTIinternalError) = 0;
+ // 10.14
+ virtual unsigned long getDimensionUpperBound
+ (RTI_DimensionHandle const & theHandle)
+ throw (RTI_InvalidDimensionHandle,
+ RTI_FederateNotExecutionMember,
+ RTI_RTIinternalError) = 0;
+ // 10.15
+ virtual RTI_DimensionHandleSet const &
getAvailableDimensionsForClassAttribute
+ (RTI_ObjectClassHandle const & theClass,
+ RTI_AttributeHandle const & theHandle)
+ throw (RTI_InvalidObjectClassHandle,
+ RTI_InvalidAttributeHandle,
+ RTI_AttributeNotDefined,
+ RTI_FederateNotExecutionMember,
+ RTI_RTIinternalError) = 0;
+ // 10.16
+ virtual RTI_ObjectClassHandle const & getKnownObjectClassHandle
+ (RTI_ObjectInstanceHandle const & theObject)
+ throw (RTI_ObjectInstanceNotKnown,
+ RTI_FederateNotExecutionMember,
+ RTI_RTIinternalError) = 0;
+ // 10.17
+ virtual RTI_DimensionHandleSet const &
getAvailableDimensionsForInteractionClass
+ (RTI_InteractionClassHandle const & theClass)
+ throw (RTI_InvalidInteractionClassHandle,
+ RTI_FederateNotExecutionMember,
+ RTI_RTIinternalError) = 0;
+ // 10.18
+ virtual RTI_TransportationType const & getTransportationType
+ (RTI_wstring const & transportationName)
+ throw (RTI_InvalidTransportationName,
+ RTI_FederateNotExecutionMember,
+ RTI_RTIinternalError) = 0;
+ // 10.19
+ virtual RTI_wstring const & getTransportationName
+ (RTI_TransportationType const & transportationType)
+ throw (RTI_InvalidTransportationType,
+ RTI_FederateNotExecutionMember,
+ RTI_RTIinternalError) = 0;
+ // 10.20
+ virtual RTI_OrderType const & getOrderType
+ (RTI_wstring const & orderName)
+ throw (RTI_InvalidOrderName,
+ RTI_FederateNotExecutionMember,
+ RTI_RTIinternalError) = 0;
+ // 10.21
+ virtual RTI_wstring const & getOrderName
+ (RTI_OrderType const & orderType)
+ throw (RTI_InvalidOrderType,
+ RTI_FederateNotExecutionMember,
+ RTI_RTIinternalError) = 0;
+ // 10.22
+ virtual void enableObjectClassRelevanceAdvisorySwitch ()
+ throw (RTI_ObjectClassRelevanceAdvisorySwitchIsOn,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 10.23
+ virtual void disableObjectClassRelevanceAdvisorySwitch ()
+ throw (RTI_ObjectClassRelevanceAdvisorySwitchIsOff,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 10.24
+ virtual void enableAttributeRelevanceAdvisorySwitch ()
+ throw (RTI_AttributeRelevanceAdvisorySwitchIsOn,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 10.25
+ virtual void disableAttributeRelevanceAdvisorySwitch ()
+ throw (RTI_AttributeRelevanceAdvisorySwitchIsOff,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 10.26
+ virtual void enableAttributeScopeAdvisorySwitch ()
+ throw (RTI_AttributeScopeAdvisorySwitchIsOn,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 10.27
+ virtual void disableAttributeScopeAdvisorySwitch ()
+ throw (RTI_AttributeScopeAdvisorySwitchIsOff,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 10.28
+ virtual void enableInteractionRelevanceAdvisorySwitch ()
+ throw (RTI_InteractionRelevanceAdvisorySwitchIsOn,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 10.29
+ virtual void disableInteractionRelevanceAdvisorySwitch ()
+ throw (RTI_InteractionRelevanceAdvisorySwitchIsOff,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 10.30
+ virtual
+ RTI_DimensionHandleSet const & getDimensionHandleSet
+ (RTI_RegionHandle const & theRegionHandle)
+ throw (RTI_InvalidRegion,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 10.31
+ virtual
+ RTI_RangeBounds const & getRangeBounds
+ (RTI_RegionHandle const & theRegionHandle,
+ RTI_DimensionHandle const & theDimensionHandle)
+ throw (RTI_InvalidRegion,
+ RTI_RegionDoesNotContainSpecifiedDimension,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 10.32
+ virtual void setRangeBounds
+ (RTI_RegionHandle const & theRegionHandle,
+ RTI_DimensionHandle const & theDimensionHandle,
+ RTI_RangeBounds const & theRangeBounds)
+ throw (RTI_InvalidRegion,
+ RTI_RegionNotCreatedByThisFederate,
+ RTI_RegionDoesNotContainSpecifiedDimension,
+ RTI_InvalidRangeBounds,
+ RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 10.33
+ virtual unsigned long normalizeFederateHandle
+ (RTI_FederateHandle const & theFederateHandle)
+ throw (RTI_FederateHandle,
+ RTI_FederateNotExecutionMember,
+ RTI_RTIinternalError) = 0;
+ // 10.34
+ virtual unsigned long normalizeServiceGroup
+ (RTI_ServiceGroupIndicator const & theServiceGroup)
+ throw (RTI_FederateNotExecutionMember,
+ RTI_RTIinternalError) = 0;
+ // 10.37
+ virtual RTI_bool evokeCallback(double approximateMinimumTimeInSeconds)
+ throw (RTI_FederateNotExecutionMember,
+ RTI_RTIinternalError) = 0;
+ // 10.38
+ virtual RTI_bool evokeMultipleCallbacks(double
approximateMinimumTimeInSeconds,
+ double approximateMaximumTimeInSeconds)
+ throw (RTI_FederateNotExecutionMember,
+ RTI_RTIinternalError) = 0;
+ // 10.39
+ virtual void enableCallbacks ()
+ throw (RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ // 10.40
+ virtual void disableCallbacks ()
+ throw (RTI_FederateNotExecutionMember,
+ RTI_SaveInProgress,
+ RTI_RestoreInProgress,
+ RTI_RTIinternalError) = 0;
+ };
+ #endif // RTI_RTIambassador_h
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [certi-cvs] certi/include RTI_LogicalTimeFactory.h RTI_Logi...,
certi-cvs <=