⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rtiambassador.h

📁 pRTI 自带的include文件包
💻 H
📖 第 1 页 / 共 3 页
字号:
/***********************************************************************
  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 + -