MAK RTIspy API Documentation for HLA 1516
hlaBounceFedAmb13.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2004 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: rtiSimpleFedAmb1516.h,v $ $Revision: 1.2 $ $State: Exp $
00007 *******************************************************************************/
00008 
00009 #ifndef HlaBounceFederateAmbassador_H_
00010 #define HlaBounceFederateAmbassador_H_
00011 
00012 #pragma warning(disable: 4251)
00013 #pragma warning(disable: 4786)
00014 #pragma warning(disable: 4290)
00015 
00016 #include <RTI.hh>
00017 #include <NullFederateAmbassador.hh>
00018 #include <string>
00019 #include <map>
00020 
00021 class BallController13;
00022 
00023 class HlaBounceFederateAmbassador : public NullFederateAmbassador
00024 {
00025 public:
00026 
00027    HlaBounceFederateAmbassador(BallController13* ballController);
00028 
00029    virtual ~HlaBounceFederateAmbassador() 
00030      throw ();
00031 
00032    virtual void discoverObjectInstance(
00033       RTI::ObjectHandle theObject,
00034       RTI::ObjectClassHandle theObjectClass,
00035       const char* theObjectName)
00036       throw (RTI::CouldNotDiscover,
00037              RTI::ObjectClassNotKnown,
00038              RTI::FederateInternalError);
00039 
00040    virtual void reflectAttributeValues(
00041       RTI::ObjectHandle theObject,
00042       const RTI::AttributeHandleValuePairSet& theAttributes,
00043       const RTI::FedTime& theTime,
00044       const char *theTag,
00045       RTI::EventRetractionHandle theHandle)
00046       throw (RTI::ObjectNotKnown,
00047              RTI::AttributeNotKnown,
00048              RTI::FederateOwnsAttributes,
00049              RTI::InvalidFederationTime,
00050              RTI::FederateInternalError);
00051 
00052    virtual void reflectAttributeValues(
00053       RTI::ObjectHandle theObject,
00054       const RTI::AttributeHandleValuePairSet& theAttributes,
00055       const char *theTag)
00056       throw (RTI::ObjectNotKnown,
00057              RTI::AttributeNotKnown,
00058              RTI::FederateOwnsAttributes,
00059              RTI::FederateInternalError);
00060 
00061    virtual void receiveInteraction (
00062       RTI::InteractionClassHandle theInteraction,
00063       const RTI::ParameterHandleValuePairSet& theParameters,
00064       const RTI::FedTime& theTime,
00065       const char *theTag,
00066       RTI::EventRetractionHandle theHandle)
00067       throw (RTI::InteractionClassNotKnown,
00068              RTI::InteractionParameterNotKnown,
00069              RTI::InvalidFederationTime,
00070              RTI::FederateInternalError);
00071 
00072    virtual void receiveInteraction (
00073       RTI::InteractionClassHandle theInteraction,
00074       const RTI::ParameterHandleValuePairSet& theParameters,
00075       const char *theTag)
00076       throw (RTI::InteractionClassNotKnown,
00077              RTI::InteractionParameterNotKnown,
00078              RTI::FederateInternalError);
00079 
00080    virtual void removeObjectInstance (
00081       RTI::ObjectHandle theObject,
00082       const RTI::FedTime& theTime,
00083       const char *theTag,
00084       RTI::EventRetractionHandle theHandle)
00085       throw (RTI::ObjectNotKnown,
00086              RTI::InvalidFederationTime,
00087              RTI::FederateInternalError);
00088 
00089    virtual void removeObjectInstance (
00090       RTI::ObjectHandle theObject,
00091       const char *theTag)
00092       throw (RTI::ObjectNotKnown,
00093              RTI::FederateInternalError);
00094 
00095    virtual void attributesInScope(
00096       RTI::ObjectHandle theObject,
00097       const RTI::AttributeHandleSet& theAttributes)
00098       throw (RTI::ObjectNotKnown,
00099              RTI::AttributeNotKnown,
00100              RTI::FederateInternalError);
00101 
00102    virtual void attributesOutOfScope(
00103       RTI::ObjectHandle theObject,
00104       const RTI::AttributeHandleSet& theAttributes)
00105       throw (RTI::ObjectNotKnown,
00106              RTI::AttributeNotKnown,
00107              RTI::FederateInternalError);
00108 
00109    virtual void requestAttributeOwnershipRelease(
00110       RTI::ObjectHandle theObject,
00111       const RTI::AttributeHandleSet& candidateAttributes,
00112       const char* theTag)
00113       throw (RTI::ObjectNotKnown,
00114              RTI::AttributeNotKnown,
00115              RTI::AttributeNotOwned,
00116              RTI::FederateInternalError);
00117    
00118    virtual void attributeOwnershipAcquisitionNotification(
00119       RTI::ObjectHandle theObject,
00120       RTI::AttributeHandleSet const & securedAttributes)
00121       throw (RTI::ObjectNotKnown,
00122              RTI::AttributeNotKnown,
00123              RTI::AttributeAcquisitionWasNotRequested,
00124              RTI::AttributeAlreadyOwned,
00125              RTI::AttributeNotPublished,
00126              RTI::FederateInternalError);
00127 
00128    virtual void requestAttributeOwnershipAssumption(
00129       RTI::ObjectHandle theObject,
00130       const RTI::AttributeHandleSet& offeredAttributes,
00131       const char* theTag)
00132       throw (RTI::ObjectNotKnown,
00133              RTI::AttributeNotKnown,
00134              RTI::AttributeAlreadyOwned,
00135              RTI::AttributeNotPublished,
00136              RTI::FederateInternalError);
00137 
00138    virtual void attributeOwnershipDivestitureNotification (
00139       RTI::ObjectHandle theObject,
00140       const RTI::AttributeHandleSet& releasedAttributes)
00141       throw (RTI::ObjectNotKnown,
00142              RTI::AttributeNotKnown,
00143              RTI::AttributeNotOwned,
00144              RTI::AttributeDivestitureWasNotRequested,
00145              RTI::FederateInternalError);
00146 
00147 protected:
00148 
00149    BallController13* myBallController;
00150 
00151 };
00152 
00153 #endif

Document ID: Generated on Thu Jun 14 14:15:04 EDT 2012 from SVN revision 116116
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)