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

📄 federateambassador.h

📁 一个用HLA编写的聊天程序
💻 H
字号:
/**********************************************************************************

						欢迎使用FFB-MOT对象模板V1.1
						设计者:尹娟,龚建兴
						Email:fj_gjx@yahoo.com
						Phone:0731-4574996
						日期 :2003.8.25

**********************************************************************************/
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#ifndef	FEDERATEAMBASSADOR_H_
#define FEDERATEAMBASSADOR_H_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class CFederateAmbassador : public RTI::FederateAmbassador
{
public:
	CFederateAmbassador();
	virtual ~ CFederateAmbassador();

public:
	//{{FW_FEDERATE_MANAGEMENT_SERVICE_DECLARE_BEGIN}} <<----- Don't delete it!>>
	virtual void synchronizationPointRegistrationSucceeded(
			const char	       *Label)
	throw ( RTI::FederateInternalError);

	virtual void synchronizationPointRegistrationFailed(
			const char	       *Label)
	throw ( RTI::FederateInternalError);

	virtual void announceSynchronizationPoint(
			const char	       *Label,
			const char	       *tag)
	throw ( RTI::FederateInternalError);

	virtual void federationSynchronized(
			const char	       *Label)
	throw ( RTI::FederateInternalError);

	virtual void initiateFederateSave(
			const char	       *Label)
	throw ( RTI::UnableToPerformSave,
			RTI::FederateInternalError);

	virtual void federationSaved()
	throw ( RTI::FederateInternalError);

	virtual void federationNotSaved()
	throw ( RTI::FederateInternalError);

	virtual void requestFederationRestoreSucceeded(
			const char	       *Label)
	throw ( RTI::FederateInternalError);

	virtual void requestFederationRestoreFailed(
			const char	       *Label)
	throw ( RTI::FederateInternalError);

	virtual void requestFederationRestoreFailed(
			const char	       *Label,
			const char	       *reason)
	throw ( RTI::FederateInternalError);

	virtual void federationRestoreBegun()
	throw ( RTI::FederateInternalError);

	virtual void initiateFederateRestore(
			const char	       *Label,
			RTI::FederateHandle Federhandle)
	throw ( RTI::SpecifiedSaveLabelDoesNotExist,
			RTI::CouldNotRestore,
			RTI::FederateInternalError);

	virtual void federationRestored()
	throw ( RTI::FederateInternalError);

	virtual void federationNotRestored()
	throw ( RTI::FederateInternalError);
	//{{FW_FEDERATE_MANAGEMENT_SERVICE_DECLARE_END}} <<----- Don't delete it!>>


	//{{FW_DECLARATIONE_MANAGEMENT_SERVICE_DECLARE_BEGIN}} <<----- Don't delete it!>>
	virtual void startRegistrationForObjectClass(
			RTI::ObjectClassHandle      theClass)
	throw ( RTI::ObjectClassNotPublished,
			RTI::FederateInternalError);

	virtual void stopRegistrationForObjectClass(
			RTI::ObjectClassHandle      theClass)
	throw ( RTI::ObjectClassNotPublished,
			RTI::FederateInternalError);

	virtual void turnInteractionsOn(
			RTI::InteractionClassHandle theInteractionHandle)
	throw ( RTI::InteractionClassNotPublished,
			RTI::FederateInternalError);

	virtual void turnInteractionsOff(
			RTI::InteractionClassHandle theInteractionHandle)
	throw ( RTI::InteractionClassNotPublished,
			RTI::FederateInternalError);
	//{{FW_DECLARATION_MANAGEMENT_SERVICE_DECLARE_END}} <<----- Don't delete it!>>

	//{{FW_OBJECT_MANAGEMENT_SERVICE_DECLARE_BEGIN}} <<----- Don't delete it!>>
	virtual void discoverObjectInstance(
			RTI::ObjectHandle       theObject,
			RTI::ObjectClassHandle      theClass,
			const char *            theObjectName)
	throw ( RTI::CouldNotDiscover,
			RTI::ObjectClassNotKnown,
			RTI::FederateInternalError);

	virtual void reflectAttributeValues(
			RTI::ObjectHandle       theObject,
			const RTI::AttributeHandleValuePairSet& theAttributes,
			const RTI::FedTime&     theFederateTime,
			const char	       *tag,
			RTI::EventRetractionHandle       theHandle)
	throw ( RTI::ObjectNotKnown,
			RTI::AttributeNotKnown,
			RTI::FederateOwnsAttributes,
			RTI::InvalidFederationTime,
			RTI::FederateInternalError);

	virtual void reflectAttributeValues(
			RTI::ObjectHandle       theObject,
			const RTI::AttributeHandleValuePairSet& theAttributes,
			const char	       *tag)
	throw ( RTI::ObjectNotKnown,
			RTI::FederateOwnsAttributes,
			RTI::InvalidFederationTime,
			RTI::FederateInternalError);

	virtual void receiveInteraction(
			RTI::InteractionClassHandle theInteractionHandle,
			const RTI::ParameterHandleValuePairSet& theParameters,
			const RTI::FedTime&     theFederateTime,
			const char	       *tag,
			RTI::EventRetractionHandle       theHandle)
	throw ( RTI::InteractionClassNotKnown,
			RTI::InteractionParameterNotKnown,
			RTI::InvalidFederationTime,
			RTI::FederateInternalError);

	virtual void receiveInteraction(
			RTI::InteractionClassHandle theInteractionHandle,
			const RTI::ParameterHandleValuePairSet& theParameters,
			const char	       *tag)
	throw ( RTI::InteractionClassNotKnown,
			RTI::InteractionParameterNotKnown,
			RTI::FederateInternalError);

	virtual void removeObjectInstance(
			RTI::ObjectHandle       theObject,
			const RTI::FedTime&     theFederateTime,
			const char	       *tag,
			RTI::EventRetractionHandle       theHandle)
	throw ( RTI::ObjectNotKnown,
			RTI::InvalidFederationTime,
			RTI::FederateInternalError);

	virtual void removeObjectInstance(
			RTI::ObjectHandle       theObject,
			const char	       *tag)
	throw ( RTI::ObjectNotKnown,
			RTI::InvalidFederationTime,
			RTI::FederateInternalError);

	virtual void attributesInScope(
			RTI::ObjectHandle       theObject,
			const RTI::AttributeHandleSet& theAttributes)
	throw ( RTI::ObjectNotKnown,
			RTI::AttributeNotKnown,
			RTI::FederateInternalError);

	virtual void attributesOutOfScope(
			RTI::ObjectHandle       theObject,
			const RTI::AttributeHandleSet& theAttributes)
	throw ( RTI::ObjectNotKnown,
			RTI::AttributeNotKnown,
			RTI::FederateInternalError);

	virtual void provideAttributeValueUpdate(
			RTI::ObjectHandle       theObject,
			const RTI::AttributeHandleSet& theAttributes)
	throw ( RTI::ObjectNotKnown,
			RTI::AttributeNotKnown,
			RTI::AttributeNotOwned,
			RTI::FederateInternalError);

	virtual void turnUpdatesOnForObjectInstance(
			RTI::ObjectHandle       theObject,
			const RTI::AttributeHandleSet& theAttributes)
	throw ( RTI::ObjectNotKnown,
			RTI::AttributeNotOwned,
			RTI::FederateInternalError);

	virtual void turnUpdatesOffForObjectInstance(
			RTI::ObjectHandle       theObject,
			const RTI::AttributeHandleSet& theAttributes)
	throw ( RTI::ObjectNotKnown,
			RTI::AttributeNotOwned,
			RTI::FederateInternalError);
	//{{FW_OBJECT_MANAGEMENT_SERVICE_DECLARE_END}} <<----- Don't delete it!>>

	//{{FW_OWNERSHIP_MANAGEMENT_SERVICE_DECLARE_BEGIN}} <<----- Don't delete it!>>
	virtual void requestAttributeOwnershipAssumption(
			RTI::ObjectHandle       theObject,
			const RTI::AttributeHandleSet& offeredAttributes,
			const char	       *tag)
	throw ( RTI::ObjectNotKnown,
			RTI::AttributeNotKnown,
			RTI::AttributeAlreadyOwned,
			RTI::AttributeNotPublished,
			RTI::FederateInternalError);

	virtual void attributeOwnershipDivestitureNotification(
			RTI::ObjectHandle       theObject,
			const RTI::AttributeHandleSet& releasedAttributes)
	throw ( RTI::ObjectNotKnown,
			RTI::AttributeNotKnown,
			RTI::AttributeAlreadyOwned,
			RTI::AttributeDivestitureWasNotRequested,
			RTI::FederateInternalError);

	virtual void attributeOwnershipAcquisitionNotification(
			RTI::ObjectHandle       theObject,
			const RTI::AttributeHandleSet& securedAttributes)
	throw ( RTI::ObjectNotKnown,
			RTI::AttributeNotKnown,
			RTI::AttributeAcquisitionWasNotRequested,
			RTI::AttributeAlreadyOwned,
			RTI::AttributeNotPublished,
			RTI::FederateInternalError);

	virtual void attributeOwnershipUnavailable(
			RTI::ObjectHandle       theObject,
			const RTI::AttributeHandleSet& theAttributes)
	throw ( RTI::ObjectNotKnown,
			RTI::AttributeNotKnown,
			RTI::AttributeAcquisitionWasNotRequested,
			RTI::AttributeAlreadyOwned,
			RTI::FederateInternalError);

	virtual void requestAttributeOwnershipRelease(
			RTI::ObjectHandle       theObject,
			const RTI::AttributeHandleSet& candidateAttributes,
			const char	       *tag)
	throw ( RTI::ObjectNotKnown,
			RTI::AttributeNotKnown,
			RTI::AttributeNotOwned,
			RTI::FederateInternalError);

	virtual void confirmAttributeOwnershipAcquisitionCancellation(
			RTI::ObjectHandle       theObject,
			const RTI::AttributeHandleSet& theAttributes)
	throw ( RTI::ObjectNotKnown,
			RTI::AttributeNotKnown,
			RTI::AttributeAlreadyOwned,
			RTI::AttributeAcquisitionWasNotCanceled,
			RTI::FederateInternalError);

	virtual void informAttributeOwnership(
			RTI::ObjectHandle       theObject,
			RTI::AttributeHandle        theAttribute,
			RTI::FederateHandle Federhandle)
	throw ( RTI::ObjectNotKnown,
			RTI::AttributeNotKnown,
			RTI::FederateInternalError);

	virtual void attributeIsNotOwned(
			RTI::ObjectHandle       theObject,
			RTI::AttributeHandle        theAttribute)
	throw ( RTI::ObjectNotKnown,
			RTI::AttributeNotKnown,
			RTI::FederateInternalError);

	virtual void attributeOwnedByRTI(
			RTI::ObjectHandle       theObject,
			RTI::AttributeHandle        theAttribute)
	throw ( RTI::ObjectNotKnown,
			RTI::AttributeNotKnown,
			RTI::FederateInternalError);
	//{{FW_OWNERSHIP_MANAGEMENT_SERVICE_DECLARE_END}} <<----- Don't delete it!>>


	//{{FW_TIME_MANAGEMENT_SERVICE_DECLARE_BEGIN}} <<----- Don't delete it!>>
	virtual void timeRegulationEnabled(
			const RTI::FedTime&     theFederateTime)
	throw ( RTI::InvalidFederationTime,
			RTI::EnableTimeRegulationWasNotPending,
			RTI::FederateInternalError);

	virtual void timeConstrainedEnabled(
			const RTI::FedTime&     theFederateTime)
	throw ( RTI::InvalidFederationTime,
			RTI::EnableTimeConstrainedWasNotPending,
			RTI::FederateInternalError);

	virtual void	timeAdvanceGrant (
	  const RTI::FedTime& theTime) // supplied C4
	throw (RTI::InvalidFederationTime,
		   RTI::TimeAdvanceWasNotInProgress,
		   RTI::FederateInternalError);

	virtual void requestRetraction(
			RTI::EventRetractionHandle       theHandle)
	throw ( RTI::EventNotKnown,
			RTI::FederateInternalError);
	//{{FW_TIME_MANAGEMENT_SERVICE_DECLARE_END}} <<----- Don't delete it!>>
};

#endif //FEDERATEAMBASSADOR_H_

⌨️ 快捷键说明

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