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

📄 dataflowi.h

📁 机器人开源项目orocos的源代码
💻 H
字号:
/***************************************************************************  tag: FMTC  do nov 2 13:06:20 CET 2006  DataFlowI.h                         DataFlowI.h -  description                           -------------------    begin                : do november 02 2006    copyright            : (C) 2006 FMTC    email                : peter.soetens@fmtc.be  *************************************************************************** *   This library is free software; you can redistribute it and/or         * *   modify it under the terms of the GNU General Public                   * *   License as published by the Free Software Foundation;                 * *   version 2 of the License.                                             * *                                                                         * *   As a special exception, you may use this file as part of a free       * *   software library without restriction.  Specifically, if other files   * *   instantiate templates or use macros or inline functions from this     * *   file, or you compile this file and link it with other files to        * *   produce an executable, this file does not by itself cause the         * *   resulting executable to be covered by the GNU General Public          * *   License.  This exception does not however invalidate any other        * *   reasons why the executable file might be covered by the GNU General   * *   Public License.                                                       * *                                                                         * *   This library is distributed in the hope that it will be useful,       * *   but WITHOUT ANY WARRANTY; without even the implied warranty of        * *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     * *   Lesser General Public License for more details.                       * *                                                                         * *   You should have received a copy of the GNU General Public             * *   License along with this library; if not, write to the Free Software   * *   Foundation, Inc., 59 Temple Place,                                    * *   Suite 330, Boston, MA  02111-1307  USA                                * *                                                                         * ***************************************************************************/  // -*- C++ -*-//// $Id$// ****  Code generated by the The ACE ORB (TAO) IDL Compiler ****// TAO and the TAO IDL Compiler have been developed by://       Center for Distributed Object Computing//       Washington University//       St. Louis, MO//       USA//       http://www.cs.wustl.edu/~schmidt/doc-center.html// and//       Distributed Object Computing Laboratory//       University of California at Irvine//       Irvine, CA//       USA//       http://doc.ece.uci.edu/// and//       Institute for Software Integrated Systems//       Vanderbilt University//       Nashville, TN//       USA//       http://www.isis.vanderbilt.edu///// Information about TAO is available at://     http://www.cs.wustl.edu/~schmidt/TAO.html// TAO_IDL - Generated from // be/be_codegen.cpp:844#ifndef DATAFLOWI_H_#define DATAFLOWI_H_#include "../rtt-config.h"#include "DataFlowS.h"#include "../DataFlowInterface.hpp"#include "../BufferInterface.hpp"#if !defined (ACE_LACKS_PRAGMA_ONCE)#pragma once#endif /* ACE_LACKS_PRAGMA_ONCE *//* * This class is unused. See CorbaBuffer */template< class T>class  RTT_Corba_BufferChannel_i : public virtual POA_RTT::Corba::BufferChannel, public virtual PortableServer::RefCountServantBase{    typename RTT::BufferInterface<T>::shared_ptr mbuf;public:  //Constructor   RTT_Corba_BufferChannel_i (typename RTT::BufferInterface<T>::shared_ptr buf)      : mbuf(buf)    {}            //Destructor     virtual ~RTT_Corba_BufferChannel_i (void) {}      virtual CORBA::Boolean push (const ::CORBA::Any & data)        ACE_THROW_SPEC ((                         CORBA::SystemException                         ))    {        using namespace RTT;        Logger::In in("CorbaBufferChannelI::push");        log(Debug) << "Receiving buffer value."<<endlog();        T value;        if ( AnyConversion<T>::update( data, value ) == false ) {            Logger::log() <<Logger::Error << "Could not accept remote value: wrong data type."<<Logger::endl;            return false;        }        return mbuf->Push( value );    }    virtual CORBA::Boolean pull ( ::CORBA::Any_out data)        ACE_THROW_SPEC ((                         CORBA::SystemException                         ))    {        using namespace RTT;        Logger::In in("CorbaBufferChannelI::pull");        log(Debug) << "Returning buffer value."<<endlog();        T result;        if ( mbuf->Pop( result ) == false )            return false;        CORBA::Any_var toset = AnyConversion<T>::createAny( result );        data = toset._retn();        return true;    }    virtual  ::CORBA::Any_ptr front(          )    ACE_THROW_SPEC ((      CORBA::SystemException      )) {      return RTT::AnyConversion<T>::createAny( mbuf->front() );  }    virtual  CORBA::Boolean full (          )    ACE_THROW_SPEC ((      CORBA::SystemException      )) {      return mbuf->full();  }    virtual  CORBA::Boolean empty (          )    ACE_THROW_SPEC ((      CORBA::SystemException      )) {      return mbuf->full();  }    virtual  CORBA::Long capacity (          )    ACE_THROW_SPEC ((      CORBA::SystemException      )){      return mbuf->capacity();  }    virtual  CORBA::Long size (          )    ACE_THROW_SPEC ((      CORBA::SystemException      )) {      return mbuf->size();  }    virtual  void clear (          )    ACE_THROW_SPEC ((      CORBA::SystemException      )) {      mbuf->clear();  }};class  RTT_Corba_DataFlowInterface_i : public virtual POA_RTT::Corba::DataFlowInterface, public virtual PortableServer::RefCountServantBase{    RTT::DataFlowInterface* mdf;public:  //Constructor   RTT_Corba_DataFlowInterface_i (RTT::DataFlowInterface* dfi);    //Destructor   virtual ~RTT_Corba_DataFlowInterface_i (void);    virtual  ::RTT::Corba::DataFlowInterface::PortNames * getPorts (          )    ACE_THROW_SPEC ((      CORBA::SystemException    ));    virtual  ::RTT::Corba::AssignableExpression_ptr createDataChannel (      const char * port_name    )    ACE_THROW_SPEC ((      CORBA::SystemException    ));    virtual  ::RTT::Corba::BufferChannel_ptr createBufferChannel (      const char * port_name    )    ACE_THROW_SPEC ((      CORBA::SystemException    ));    virtual  ::RTT::Corba::Expression_ptr createDataObject (      const char * port_name    )    ACE_THROW_SPEC ((      CORBA::SystemException    ));    virtual  ::RTT::Corba::DataFlowInterface::PortType getPortType (      const char * port_name    )    ACE_THROW_SPEC ((      CORBA::SystemException    ));    virtual  CORBA::Boolean isConnected (      const char * port_name    )    ACE_THROW_SPEC ((      CORBA::SystemException    ));};#endif /* DATAFLOWI_H_  */

⌨️ 快捷键说明

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