certi-cvs
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]