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

📄 federateambassador.h

📁 pRTI 自带的include文件包
💻 H
📖 第 1 页 / 共 2 页
字号:
/***********************************************************************
  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
//
namespace RTI
{
  class AttributeAcquisitionWasNotCanceled;
  class AttributeAcquisitionWasNotRequested;
  class AttributeAlreadyOwned;
  class AttributeDivestitureWasNotRequested;
  class AttributeNotOwned;
  class AttributeNotPublished;
  class AttributeNotRecognized;
  class AttributeNotRecognized;
  class AttributeNotSubscribed;
  class CouldNotDiscover;
  class CouldNotInitiateRestore;
  class FederateInternalError;
  class InteractionClassNotPublished;
  class InteractionClassNotRecognized;
  class InteractionClassNotSubscribed;
  class InteractionParameterNotRecognized;
  class InvalidLogicalTime;
  class JoinedFederateIsNotInTimeAdvancingState;
  class LogicalTime;
  class NoRequestToEnableTimeConstrainedWasPending;
  class NoRequestToEnableTimeRegulationWasPending;
  class ObjectClassNotKnown;
  class ObjectClassNotPublished;
  class ObjectInstanceNotKnown;
  class OrderType;
  class SpecifiedSaveLabelDoesNotExist;
  class TransportationType;
  class UnableToPerformSave;
  class UnknownName;
}

namespace std
{
  template <class T> class auto_ptr;
}

#include <RTI/SpecificConfig.h>
#include <RTI/SynchronizationFailureReason.h>
#include <RTI/RestoreFailureReason.h>
#include <RTI/SaveFailureReason.h>
#include <RTI/SaveStatus.h>
#include <RTI/RestoreStatus.h>
#include <RTI/Typedefs.h>

namespace RTI
{
  class RTI_EXPORT FederateAmbassador
  {
  protected:
    FederateAmbassador()
       throw (FederateInternalError);

  public:
    virtual
    ~FederateAmbassador()
    throw ();

    // 4.7
    virtual
    void
    synchronizationPointRegistrationSucceeded(std::wstring const & label)
      throw (FederateInternalError) = 0;

    virtual
    void
    synchronizationPointRegistrationFailed(std::wstring const & label,
                                           SynchronizationFailureReason reason)
      throw (FederateInternalError) = 0;

    // 4.8
    virtual
    void
    announceSynchronizationPoint(std::wstring  const & label,
                                 UserSuppliedTag const & theUserSuppliedTag)
      throw (FederateInternalError) = 0;

    // 4.10
    virtual
    void
    federationSynchronized(std::wstring const & label)
      throw (FederateInternalError) = 0;

    // 4.12
    virtual
    void
    initiateFederateSave(std::wstring const & label)
      throw (UnableToPerformSave,
             FederateInternalError) = 0;

    virtual
    void
    initiateFederateSave(std::wstring const & label,
                         LogicalTime const & theTime)
      throw (UnableToPerformSave,
             InvalidLogicalTime,
             FederateInternalError) = 0;

    // 4.15
    virtual
    void
    federationSaved()
      throw (FederateInternalError) = 0;

    virtual
    void
    federationNotSaved(SaveFailureReason theSaveFailureReason)
      throw (FederateInternalError) = 0;


    // 4.17
    virtual
    void
    federationSaveStatusResponse(
      std::auto_ptr< FederateHandleSaveStatusPairVector >
      theFederateStatusVector)
      throw (FederateInternalError) = 0;

    // 4.19
    virtual
    void
    requestFederationRestoreSucceeded(std::wstring const & label)
      throw (FederateInternalError) = 0;

    virtual
    void
    requestFederationRestoreFailed(std::wstring const & label)
      throw (FederateInternalError) = 0;

    // 4.20
    virtual
    void
    federationRestoreBegun()
      throw (FederateInternalError) = 0;

    // 4.21
    virtual
    void
    initiateFederateRestore(std::wstring         const & label,
                            FederateHandle const & handle)
      throw (SpecifiedSaveLabelDoesNotExist,
             CouldNotInitiateRestore,
             FederateInternalError) = 0;

    // 4.23
    virtual
    void
    federationRestored()
      throw (FederateInternalError) = 0;

    virtual
    void
    federationNotRestored(RestoreFailureReason theRestoreFailureReason)
      throw (FederateInternalError) = 0;

    // 4.25
    virtual
    void
    federationRestoreStatusResponse(
      std::auto_ptr< FederateHandleRestoreStatusPairVector >
      theFederateStatusVector)
      throw (FederateInternalError) = 0;

    /////////////////////////////////////
    // Declaration Management Services //
    /////////////////////////////////////
  
    // 5.10
    virtual
    void
    startRegistrationForObjectClass(ObjectClassHandle const & theClass)
      throw (ObjectClassNotPublished,
             FederateInternalError) = 0;

    // 5.11
    virtual
    void
    stopRegistrationForObjectClass(ObjectClassHandle const & theClass)
      throw (ObjectClassNotPublished,
             FederateInternalError) = 0;

    // 5.12
    virtual
    void
    turnInteractionsOn(InteractionClassHandle const & theHandle)
      throw (InteractionClassNotPublished,
             FederateInternalError) = 0;

    // 5.13
    virtual
    void
    turnInteractionsOff(InteractionClassHandle const & theHandle)
      throw (InteractionClassNotPublished,
             FederateInternalError) = 0;

    ////////////////////////////////
    // Object Management Services //
    ////////////////////////////////
  
    // 6.3
    virtual
    void
    objectInstanceNameReservationSucceeded(std::wstring const &
                                           theObjectInstanceName)
      throw (UnknownName,
             FederateInternalError) = 0;

    virtual
    void
    objectInstanceNameReservationFailed(std::wstring const &
                                        theObjectInstanceName)
      throw (UnknownName,
             FederateInternalError) = 0;

  
    // 6.5
    virtual
    void
    discoverObjectInstance(ObjectInstanceHandle const & theObject,
                           ObjectClassHandle const & theObjectClass,
                           std::wstring const & theObjectInstanceName)
      throw (CouldNotDiscover,
             ObjectClassNotKnown,
             FederateInternalError) = 0;

    // 6.7
    virtual
    void
    reflectAttributeValues
    (ObjectInstanceHandle const & theObject,
    std::auto_ptr< AttributeHandleValueMap > theAttributeValues,
     UserSuppliedTag const & theUserSuppliedTag,
     OrderType const & sentOrder,
     TransportationType const & theType)
      throw (ObjectInstanceNotKnown,
             AttributeNotRecognized,
             AttributeNotSubscribed,
             FederateInternalError) = 0;

    virtual
    void
    reflectAttributeValues
    (ObjectInstanceHandle const & theObject,
     std::auto_ptr< AttributeHandleValueMap > theAttributeValues,
     UserSuppliedTag const & theUserSuppliedTag,
     OrderType const & sentOrder,
     TransportationType const & theType,
     RegionHandleSet const & theSentRegionHandleSet)
      throw (ObjectInstanceNotKnown,
             AttributeNotRecognized,
             AttributeNotSubscribed,
             FederateInternalError) = 0;

    virtual
    void
    reflectAttributeValues
    (ObjectInstanceHandle const & theObject,
     std::auto_ptr< AttributeHandleValueMap > theAttributeValues,
     UserSuppliedTag const & theUserSuppliedTag,
     OrderType const & sentOrder,
     TransportationType const & theType,
     LogicalTime const & theTime,
     OrderType const & receivedOrder)
      throw (ObjectInstanceNotKnown,
             AttributeNotRecognized,
             AttributeNotSubscribed,
             FederateInternalError) = 0;
  
    virtual
    void
    reflectAttributeValues
    (ObjectInstanceHandle const & theObject,
     std::auto_ptr< AttributeHandleValueMap > theAttributeValues,
     UserSuppliedTag const & theUserSuppliedTag,
     OrderType const & sentOrder,
     TransportationType const & theType,
     LogicalTime const & theTime,
     OrderType const & receivedOrder,
     RegionHandleSet const & theSentRegionHandleSet)
      throw (ObjectInstanceNotKnown,
             AttributeNotRecognized,
             AttributeNotSubscribed,
             FederateInternalError) = 0;
  
    virtual
    void
    reflectAttributeValues
    (ObjectInstanceHandle const & theObject,
     std::auto_ptr< AttributeHandleValueMap > theAttributeValues,
     UserSuppliedTag const & theUserSuppliedTag,
     OrderType const & sentOrder,
     TransportationType const & theType,
     LogicalTime const & theTime,
     OrderType const & receivedOrder,
     MessageRetractionHandle const & theHandle)
      throw (ObjectInstanceNotKnown,
             AttributeNotRecognized,
             AttributeNotSubscribed,
             InvalidLogicalTime,
             FederateInternalError) = 0;

    virtual
    void
    reflectAttributeValues
    (ObjectInstanceHandle const & theObject,
     std::auto_ptr< AttributeHandleValueMap > theAttributeValues,
     UserSuppliedTag const & theUserSuppliedTag,
     OrderType const & sentOrder,
     TransportationType const & theType,
     LogicalTime const & theTime,
     OrderType const & receivedOrder,
     MessageRetractionHandle const & theHandle,
     RegionHandleSet const & theSentRegionHandleSet)
      throw (ObjectInstanceNotKnown,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -