📄 federateambassador.h
字号:
/***********************************************************************
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 + -