00001 /*************************************************************************** 00002 Copyright (c) 2009 S Roderick <xxxkiwi DOT xxxnet AT macxxx DOT comxxx> 00003 (remove the x's above) 00004 00005 *************************************************************************** 00006 * This library is free software; you can redistribute it and/or * 00007 * modify it under the terms of the GNU General Public * 00008 * License as published by the Free Software Foundation; * 00009 * version 2 of the License. * 00010 * * 00011 * As a special exception, you may use this file as part of a free * 00012 * software library without restriction. Specifically, if other files * 00013 * instantiate templates or use macros or inline functions from this * 00014 * file, or you compile this file and link it with other files to * 00015 * produce an executable, this file does not by itself cause the * 00016 * resulting executable to be covered by the GNU General Public * 00017 * License. This exception does not however invalidate any other * 00018 * reasons why the executable file might be covered by the GNU General * 00019 * Public License. * 00020 * * 00021 * This library is distributed in the hope that it will be useful, * 00022 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00023 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 00024 * Lesser General Public License for more details. * 00025 * * 00026 * You should have received a copy of the GNU General Public * 00027 * License along with this library; if not, write to the Free Software * 00028 * Foundation, Inc., 59 Temple Place, * 00029 * Suite 330, Boston, MA 02111-1307 USA * 00030 * * 00031 ***************************************************************************/ 00032 00033 00034 #ifndef ORO_TRANSPORTPLUGIN_HPP 00035 #define ORO_TRANSPORTPLUGIN_HPP 1 00036 00037 #include <string> 00038 #include "Types.hpp" 00039 00040 namespace RTT 00041 { 00042 00049 class RTT_API TransportPlugin 00050 { 00051 public: 00052 virtual ~TransportPlugin() {} 00053 00061 virtual bool registerTransport(std::string type_name, TypeInfo* ti) = 0; 00062 00067 virtual std::string getTransportName() const = 0; 00068 00073 virtual std::string getName() const = 0; 00074 }; 00075 00076 } 00077 00078 #endif