00001 #ifndef RTT_TYPELIB_TRANSPORT_PLUGIN 00002 #define RTT_TYPELIB_TRANSPORT_PLUGIN 00003 00004 #include <rtt/types/TransportPlugin.hpp> 00005 00006 namespace Typelib 00007 { 00008 class Registry; 00009 } 00010 00011 namespace orogen_transports 00012 { 00013 class TypelibTransportPlugin 00014 : public RTT::types::TransportPlugin 00015 { 00016 protected: 00017 std::string m_basename; 00018 Typelib::Registry* m_registry; 00019 00020 public: 00021 TypelibTransportPlugin(std::string const& basename); 00022 ~TypelibTransportPlugin(); 00023 virtual std::string getTlbPath() const = 0; 00024 00025 Typelib::Registry& getRegistry() const 00026 { return *m_registry; } 00027 00028 bool loadRegistry(); 00029 00030 std::string getTransportName() const; 00031 std::string getTypekitName() const; 00032 std::string getName() const; 00033 }; 00034 } 00035 00036 #endif 00037