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

📄 federateambservices.hh

📁 基于BHRTI开发环境的简单五子棋游戏
💻 HH
字号:
//File federateAmbServices.hh
//Included in RTI.hh

//                RTI Parameter Passing Memory Conventions
//
// C1  In parameter by value.
// C2  Out parameter by pointer value.
// C3  Function return by value.
// C4  In parameter by const pointer value.  Caller provides memory.
//     Caller may free memory or overwrite it upon completion of
//     the call.  Callee must copy during the call anything it
//     wishes to save beyond completion of the call.  Parameter
//     type must define const accessor methods.
// C5  Out parameter by pointer value.  Caller provides reference to object.
//     Callee constructs an instance on the heap (new) and returns.
//     The caller destroys the instance (delete) at its leisure.
// C6  Function return by pointer value.  Callee constructs an instance on
//     the heap (new) and returns a reference.  The caller destroys the
//     instance (delete) at its leisure.
//

#ifndef _BH_RTI_FEDERATE_AMB_SERVICES_HH
#define _BH_RTI_FEDERATE_AMB_SERVICES_HH

////////////////////////////////////
// Federation Management Services //
////////////////////////////////////

// 4.7
virtual void synchronizationPointRegistrationSucceeded (
  const char *label) // supplied C4)
throw (
  FederateInternalError) = 0;

virtual void synchronizationPointRegistrationFailed (
  const char *label) // supplied C4)
throw (
  FederateInternalError) = 0;

// 4.8
virtual void announceSynchronizationPoint (
  const char *label, // supplied C4
  const char *tag)   // supplied C4
throw (
  FederateInternalError) = 0;

// 4.10
virtual void federationSynchronized (
  const char *label) // supplied C4)
throw (
  FederateInternalError) = 0;

// 4.12
virtual void initiateFederateSave (
  const char *label) // supplied C4
throw (
  UnableToPerformSave,
  FederateInternalError) = 0;

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

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

// 4.17
virtual void requestFederationRestoreSucceeded (
  const char *label) // supplied C4
throw (
  FederateInternalError) = 0;

virtual void requestFederationRestoreFailed (
  const char *label,  // supplied C4
  const char *reason) // supplied C4
throw (
  FederateInternalError) = 0;

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

// 4.19
virtual void initiateFederateRestore (
  const char *label,   // supplied C4
        FederateHandle handle)  // supplied C1
throw (
  SpecifiedSaveLabelDoesNotExist,
  CouldNotRestore,
  FederateInternalError) = 0;

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

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

/////////////////////////////////////
// Declaration Management Services //
/////////////////////////////////////

// 5.10
virtual void startRegistrationForObjectClass (
        ObjectClassHandle   theClass)      // supplied C1
throw (
  ObjectClassNotPublished,
  FederateInternalError) = 0;

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

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

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

////////////////////////////////
// Object Management Services //
////////////////////////////////

// 6.3
virtual void discoverObjectInstance (
        ObjectHandle          theObject,      // supplied C1
        ObjectClassHandle     theObjectClass, // supplied C1
  const char *                theObjectName)  // supplied C4
throw (
  CouldNotDiscover,
  ObjectClassNotKnown,
  FederateInternalError) = 0;

// 6.5
virtual void reflectAttributeValues (
        ObjectHandle                 theObject,     // supplied C1
  const AttributeHandleValuePairSet& theAttributes, // supplied C4
  const FedTime&                     theTime,       // supplied C1
  const char                        *theTag,        // supplied C4
        EventRetractionHandle        theHandle)     // supplied C1
throw (
  ObjectNotKnown,
  AttributeNotKnown,
  FederateOwnsAttributes,
  InvalidFederationTime,
  FederateInternalError) = 0;

virtual void reflectAttributeValues (
        ObjectHandle                 theObject,     // supplied C1
  const AttributeHandleValuePairSet& theAttributes, // supplied C4
  const char                        *theTag)        // supplied C4
throw (
  ObjectNotKnown,
  AttributeNotKnown,
  FederateOwnsAttributes,
  FederateInternalError) = 0;

// 6.7
virtual void receiveInteraction (
        InteractionClassHandle       theInteraction, // supplied C1
  const ParameterHandleValuePairSet& theParameters,  // supplied C4
  const FedTime&                     theTime,        // supplied C4
  const char                        *theTag,         // supplied C4
        EventRetractionHandle        theHandle)      // supplied C1
throw (
  InteractionClassNotKnown,
  InteractionParameterNotKnown,
  InvalidFederationTime,
  FederateInternalError) = 0;

virtual void receiveInteraction (
        InteractionClassHandle       theInteraction, // supplied C1
  const ParameterHandleValuePairSet& theParameters,  // supplied C4
  const char                        *theTag)         // supplied C4
throw (
  InteractionClassNotKnown,
  InteractionParameterNotKnown,
  FederateInternalError) = 0;

// 6.9
virtual void removeObjectInstance (
        ObjectHandle          theObject, // supplied C1
  const FedTime&              theTime,   // supplied C4
  const char                 *theTag,    // supplied C4
        EventRetractionHandle theHandle) // supplied C1
throw (
  ObjectNotKnown,
  InvalidFederationTime,
  FederateInternalError) = 0;

virtual void removeObjectInstance (
        ObjectHandle          theObject, // supplied C1
  const char                 *theTag)    // supplied C4
throw (
  ObjectNotKnown,
  FederateInternalError) = 0;

// 6.13
virtual void attributesInScope (
        ObjectHandle        theObject,     // supplied C1
  const AttributeHandleSet& theAttributes) // supplied C4
throw (
  ObjectNotKnown,
  AttributeNotKnown,
  FederateInternalError) = 0;

// 6.14
virtual void attributesOutOfScope (
        ObjectHandle        theObject,     // supplied C1
  const AttributeHandleSet& theAttributes) // supplied C4
throw (
  ObjectNotKnown,
  AttributeNotKnown,
  FederateInternalError) = 0;

// 6.16
virtual void provideAttributeValueUpdate (
        ObjectHandle        theObject,     // supplied C1
  const AttributeHandleSet& theAttributes) // supplied C4
throw (
  ObjectNotKnown,
  AttributeNotKnown,
  AttributeNotOwned,
  FederateInternalError) = 0;

// 6.17
virtual void turnUpdatesOnForObjectInstance (
        ObjectHandle        theObject,     // supplied C1
  const AttributeHandleSet& theAttributes) // supplied C4
throw (
  ObjectNotKnown,
  AttributeNotOwned,
  FederateInternalError) = 0;

// 6.18
virtual void turnUpdatesOffForObjectInstance (
        ObjectHandle        theObject,      // supplied C1
  const AttributeHandleSet& theAttributes) // supplied C4
throw (
  ObjectNotKnown,
  AttributeNotOwned,
  FederateInternalError) = 0;

///////////////////////////////////
// Ownership Management Services //
///////////////////////////////////

// 7.4
virtual void requestAttributeOwnershipAssumption (
        ObjectHandle        theObject,         // supplied C1
  const AttributeHandleSet& offeredAttributes, // supplied C4
  const char               *theTag)            // supplied C4
throw (
  ObjectNotKnown,
  AttributeNotKnown,
  AttributeAlreadyOwned,
  AttributeNotPublished,
  FederateInternalError) = 0;

// 7.5
virtual void attributeOwnershipDivestitureNotification (
        ObjectHandle        theObject,          // supplied C1
  const AttributeHandleSet& releasedAttributes) // supplied C4
throw (
  ObjectNotKnown,
  AttributeNotKnown,
  AttributeNotOwned,
  AttributeDivestitureWasNotRequested,
  FederateInternalError) = 0;

// 7.6
virtual void attributeOwnershipAcquisitionNotification (
        ObjectHandle        theObject,         // supplied C1
  const AttributeHandleSet& securedAttributes) // supplied C4
throw (
  ObjectNotKnown,
  AttributeNotKnown,
  AttributeAcquisitionWasNotRequested,
  AttributeAlreadyOwned,
  AttributeNotPublished,
  FederateInternalError) = 0;

// 7.9
virtual void attributeOwnershipUnavailable (
        ObjectHandle        theObject,         // supplied C1
  const AttributeHandleSet& theAttributes) // supplied C4
throw (
  ObjectNotKnown,
  AttributeNotKnown,
  AttributeNotDefined,
  AttributeAlreadyOwned,
  AttributeAcquisitionWasNotRequested,
  FederateInternalError) = 0;

// 7.10
virtual void requestAttributeOwnershipRelease (
        ObjectHandle        theObject,           // supplied C1
  const AttributeHandleSet& candidateAttributes, // supplied C4
  const char               *theTag)              // supplied C4
throw (
  ObjectNotKnown,
  AttributeNotKnown,
  AttributeNotOwned,
  FederateInternalError) = 0;

// 7.14
virtual void confirmAttributeOwnershipAcquisitionCancellation (
        ObjectHandle        theObject,         // supplied C1
  const AttributeHandleSet& theAttributes) // supplied C4
throw (
  ObjectNotKnown,
  AttributeNotKnown,
  AttributeNotDefined,
  AttributeAlreadyOwned,
  AttributeAcquisitionWasNotCanceled,
  FederateInternalError) = 0;

// 7.16
virtual void informAttributeOwnership (
  ObjectHandle    theObject,    // supplied C1
  AttributeHandle theAttribute, // supplied C1
  FederateHandle  theOwner)     // supplied C1
throw (
  ObjectNotKnown,
  AttributeNotKnown,
  FederateInternalError) = 0;

virtual void attributeIsNotOwned (
  ObjectHandle    theObject,    // supplied C1
  AttributeHandle theAttribute) // supplied C1
throw (
  ObjectNotKnown,
  AttributeNotKnown,
  FederateInternalError) = 0;

virtual void attributeOwnedByRTI (
  ObjectHandle    theObject,    // supplied C1
  AttributeHandle theAttribute) // supplied C1
throw (
  ObjectNotKnown,
  AttributeNotKnown,
  FederateInternalError) = 0;

//////////////////////////////
// Time Management Services //
//////////////////////////////

// 8.3
virtual void timeRegulationEnabled (
 const  FedTime& theFederateTime) // supplied C4
throw (
  InvalidFederationTime,
  EnableTimeRegulationWasNotPending,
  FederateInternalError) = 0;

// 8.6
virtual void timeConstrainedEnabled (
  const FedTime& theFederateTime) // supplied C4
throw (
  InvalidFederationTime,
  EnableTimeConstrainedWasNotPending,
  FederateInternalError) = 0;

// 8.13
virtual void timeAdvanceGrant (
  const FedTime& theTime) // supplied C4
throw (
  InvalidFederationTime,
  TimeAdvanceWasNotInProgress,
  FederationTimeAlreadyPassed,
  FederateInternalError) = 0;

// 8.22
virtual void requestRetraction (
  EventRetractionHandle theHandle) // supplied C1
throw (
  EventNotKnown,
  FederateInternalError) = 0;


virtual ~FederateAmbassador()
throw (FederateInternalError) { ; }
	
#endif	
	
	
	

⌨️ 快捷键说明

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