📄 rtiambassador.h
字号:
/***********************************************************************
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
namespace RTI
{
class FederateAmbassador;
class LogicalTime;
class LogicalTimeFactory;
class LogicalTimeInterval;
class LogicalTimeIntervalFactory;
class OrderType;
class RangeBounds;
class ResignAction;
class ServiceGroupIndicator;
class TransportationType;
}
namespace std
{
template <class T> class auto_ptr;
}
#include <string>
#include <RTI/SpecificConfig.h>
#include <RTI/Typedefs.h>
#include <RTI/exception.h>
namespace RTI
{
class RTI_EXPORT RTIambassador
{
protected:
RTIambassador()
throw ();
public:
virtual
~RTIambassador();
// throw ()
// 4.2
virtual void createFederationExecution
(std::wstring const & federationExecutionName,
std::wstring const & fullPathNameToTheFDDfile)
throw (FederationExecutionAlreadyExists,
CouldNotOpenFDD,
ErrorReadingFDD,
RTIinternalError) = 0;
// 4.3
virtual void destroyFederationExecution
(std::wstring const & federationExecutionName)
throw (FederatesCurrentlyJoined,
FederationExecutionDoesNotExist,
RTIinternalError) = 0;
// 4.4
virtual FederateHandle joinFederationExecution
(std::wstring const & federateType,
std::wstring const & federationExecutionName,
FederateAmbassador & federateAmbassador,
LogicalTimeFactory & logicalTimeFactory,
LogicalTimeIntervalFactory & logicalTimeIntervalFactory)
throw (FederateAlreadyExecutionMember,
FederationExecutionDoesNotExist,
SaveInProgress,
RestoreInProgress,
RTIinternalError) = 0;
// 4.5
virtual void resignFederationExecution
(ResignAction resignAction)
throw (OwnershipAcquisitionPending,
FederateOwnsAttributes,
FederateNotExecutionMember,
RTIinternalError) = 0;
// 4.6
virtual void registerFederationSynchronizationPoint
(std::wstring const & label,
UserSuppliedTag const & theUserSuppliedTag)
throw (FederateNotExecutionMember,
SaveInProgress,
RestoreInProgress,
RTIinternalError) = 0;
virtual void registerFederationSynchronizationPoint
(std::wstring const & label,
UserSuppliedTag const & theUserSuppliedTag,
FederateHandleSet const & syncSet)
throw (FederateNotExecutionMember,
SaveInProgress,
RestoreInProgress,
RTIinternalError) = 0;
// 4.9
virtual void synchronizationPointAchieved
(std::wstring const & label)
throw (SynchronizationPointLabelNotAnnounced,
FederateNotExecutionMember,
SaveInProgress,
RestoreInProgress,
RTIinternalError) = 0;
// 4.11
virtual void requestFederationSave
(std::wstring const & label)
throw (FederateNotExecutionMember,
SaveInProgress,
RestoreInProgress,
RTIinternalError) = 0;
virtual void requestFederationSave
(std::wstring const & label,
LogicalTime const & theTime)
throw (LogicalTimeAlreadyPassed,
InvalidLogicalTime,
FederateUnableToUseTime,
FederateNotExecutionMember,
SaveInProgress,
RestoreInProgress,
RTIinternalError) = 0;
// 4.13
virtual void federateSaveBegun ()
throw (SaveNotInitiated,
FederateNotExecutionMember,
RestoreInProgress,
RTIinternalError) = 0;
// 4.14
virtual void federateSaveComplete ()
throw (FederateHasNotBegunSave,
FederateNotExecutionMember,
RestoreInProgress,
RTIinternalError) = 0;
virtual void federateSaveNotComplete()
throw (FederateHasNotBegunSave,
FederateNotExecutionMember,
RestoreInProgress,
RTIinternalError) = 0;
// 4.16
virtual void queryFederationSaveStatus ()
throw (FederateNotExecutionMember,
RestoreInProgress,
RTIinternalError) = 0;
// 4.18
virtual void requestFederationRestore
(std::wstring const & label)
throw (FederateNotExecutionMember,
SaveInProgress,
RestoreInProgress,
RTIinternalError) = 0;
// 4.22
virtual void federateRestoreComplete ()
throw (RestoreNotRequested,
FederateNotExecutionMember,
SaveInProgress,
RTIinternalError) = 0;
virtual void federateRestoreNotComplete ()
throw (RestoreNotRequested,
FederateNotExecutionMember,
SaveInProgress,
RTIinternalError) = 0;
// 4.24
virtual void queryFederationRestoreStatus ()
throw (FederateNotExecutionMember,
SaveInProgress,
RTIinternalError) = 0;
/////////////////////////////////////
// Declaration Management Services //
/////////////////////////////////////
// 5.2
virtual void publishObjectClassAttributes
(ObjectClassHandle const & theClass,
AttributeHandleSet const & attributeList)
throw (ObjectClassNotDefined,
AttributeNotDefined,
FederateNotExecutionMember,
SaveInProgress,
RestoreInProgress,
RTIinternalError) = 0;
// 5.3
virtual void unpublishObjectClass
(ObjectClassHandle const & theClass)
throw (ObjectClassNotDefined,
OwnershipAcquisitionPending,
FederateNotExecutionMember,
SaveInProgress,
RestoreInProgress,
RTIinternalError) = 0;
virtual void unpublishObjectClassAttributes
(ObjectClassHandle const & theClass,
AttributeHandleSet const & attributeList)
throw (ObjectClassNotDefined,
AttributeNotDefined,
OwnershipAcquisitionPending,
FederateNotExecutionMember,
SaveInProgress,
RestoreInProgress,
RTIinternalError) = 0;
// 5.4
virtual void publishInteractionClass
(InteractionClassHandle const & theInteraction)
throw (InteractionClassNotDefined,
FederateNotExecutionMember,
SaveInProgress,
RestoreInProgress,
RTIinternalError) = 0;
// 5.5
virtual void unpublishInteractionClass
(InteractionClassHandle const & theInteraction)
throw (InteractionClassNotDefined,
FederateNotExecutionMember,
SaveInProgress,
RestoreInProgress,
RTIinternalError) = 0;
// 5.6
virtual void subscribeObjectClassAttributes
(ObjectClassHandle const & theClass,
AttributeHandleSet const & attributeList,
bool active = true)
throw (ObjectClassNotDefined,
AttributeNotDefined,
FederateNotExecutionMember,
SaveInProgress,
RestoreInProgress,
RTIinternalError) = 0;
// 5.7
virtual void unsubscribeObjectClass
(ObjectClassHandle const & theClass)
throw (ObjectClassNotDefined,
FederateNotExecutionMember,
SaveInProgress,
RestoreInProgress,
RTIinternalError) = 0;
virtual void unsubscribeObjectClassAttributes
(ObjectClassHandle const & theClass,
AttributeHandleSet const & attributeList)
throw (ObjectClassNotDefined,
AttributeNotDefined,
FederateNotExecutionMember,
SaveInProgress,
RestoreInProgress,
RTIinternalError) = 0;
// 5.8
virtual void subscribeInteractionClass
(InteractionClassHandle const & theClass,
bool active = true)
throw (InteractionClassNotDefined,
FederateServiceInvocationsAreBeingReportedViaMOM,
FederateNotExecutionMember,
SaveInProgress,
RestoreInProgress,
RTIinternalError) = 0;
// 5.9
virtual void unsubscribeInteractionClass
(InteractionClassHandle const & theClass)
throw (InteractionClassNotDefined,
FederateNotExecutionMember,
SaveInProgress,
RestoreInProgress,
RTIinternalError) = 0;
////////////////////////////////
// Object Management Services //
////////////////////////////////
// 6.2
virtual void reserveObjectInstanceName
(std::wstring const & theObjectInstanceName)
throw (IllegalName,
FederateNotExecutionMember,
SaveInProgress,
RestoreInProgress,
RTIinternalError) = 0;
// 6.4
virtual ObjectInstanceHandle registerObjectInstance
(ObjectClassHandle const & theClass)
throw (ObjectClassNotDefined,
ObjectClassNotPublished,
FederateNotExecutionMember,
SaveInProgress,
RestoreInProgress,
RTIinternalError) = 0;
virtual ObjectInstanceHandle registerObjectInstance
(ObjectClassHandle const & theClass,
std::wstring const & theObjectInstanceName)
throw (ObjectClassNotDefined,
ObjectClassNotPublished,
ObjectInstanceNameNotReserved,
ObjectInstanceNameInUse,
FederateNotExecutionMember,
SaveInProgress,
RestoreInProgress,
RTIinternalError) = 0;
// 6.6
virtual void updateAttributeValues
(ObjectInstanceHandle const & theObject,
AttributeHandleValueMap const & theAttributeValues,
UserSuppliedTag const & theUserSuppliedTag)
throw (ObjectInstanceNotKnown,
AttributeNotDefined,
AttributeNotOwned,
FederateNotExecutionMember,
SaveInProgress,
RestoreInProgress,
RTIinternalError) = 0;
virtual std::auto_ptr< MessageRetractionHandle > updateAttributeValues
(ObjectInstanceHandle const & theObject,
AttributeHandleValueMap const & theAttributeValues,
UserSuppliedTag const & theUserSuppliedTag,
LogicalTime const & theTime)
throw (ObjectInstanceNotKnown,
AttributeNotDefined,
AttributeNotOwned,
InvalidLogicalTime,
FederateNotExecutionMember,
SaveInProgress,
RestoreInProgress,
RTIinternalError) = 0;
// 6.8
virtual void sendInteraction
(InteractionClassHandle const & theInteraction,
ParameterHandleValueMap const & theParameterValues,
UserSuppliedTag const & theUserSuppliedTag)
throw (InteractionClassNotPublished,
InteractionClassNotDefined,
InteractionParameterNotDefined,
FederateNotExecutionMember,
SaveInProgress,
RestoreInProgress,
RTIinternalError) = 0;
virtual std::auto_ptr< MessageRetractionHandle > sendInteraction
(InteractionClassHandle const & theInteraction,
ParameterHandleValueMap const & theParameterValues,
UserSuppliedTag const & theUserSuppliedTag,
LogicalTime const & theTime)
throw (InteractionClassNotPublished,
InteractionClassNotDefined,
InteractionParameterNotDefined,
InvalidLogicalTime,
FederateNotExecutionMember,
SaveInProgress,
RestoreInProgress,
RTIinternalError) = 0;
// 6.10
virtual void deleteObjectInstance
(ObjectInstanceHandle const & theObject,
UserSuppliedTag const & theUserSuppliedTag)
throw (DeletePrivilegeNotHeld,
ObjectInstanceNotKnown,
FederateNotExecutionMember,
SaveInProgress,
RestoreInProgress,
RTIinternalError) = 0;
virtual std::auto_ptr< MessageRetractionHandle > deleteObjectInstance
(ObjectInstanceHandle const & theObject,
UserSuppliedTag const & theUserSuppliedTag,
LogicalTime const & theTime)
throw (DeletePrivilegeNotHeld,
ObjectInstanceNotKnown,
InvalidLogicalTime,
FederateNotExecutionMember,
SaveInProgress,
RestoreInProgress,
RTIinternalError) = 0;
// 6.12
virtual void localDeleteObjectInstance
(ObjectInstanceHandle const & theObject)
throw (ObjectInstanceNotKnown,
FederateOwnsAttributes,
OwnershipAcquisitionPending,
FederateNotExecutionMember,
SaveInProgress,
RestoreInProgress,
RTIinternalError) = 0;
// 6.13
virtual void changeAttributeTransportationType
(ObjectInstanceHandle const & theObject,
AttributeHandleSet const & theAttributes,
TransportationType const & theType)
throw (ObjectInstanceNotKnown,
AttributeNotDefined,
AttributeNotOwned,
FederateNotExecutionMember,
SaveInProgress,
RestoreInProgress,
RTIinternalError) = 0;
// 6.14
virtual void changeInteractionTransportationType
(InteractionClassHandle const & theClass,
TransportationType const & theType)
throw (InteractionClassNotDefined,
InteractionClassNotPublished,
FederateNotExecutionMember,
SaveInProgress,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -