Go to the documentation of this file.00001
00002
00003
00004
00005 #include "transports/corba/Registration.hpp"
00006 #include "transports/corba/TransportPlugin.hpp"
00007 #include <rtt/transports/corba/CorbaLib.hpp>
00008 #include <rtt/types/TypekitPlugin.hpp>
00009 using namespace RTT;
00010
00011 bool orogen_typekits::<%= typekit.name %>CorbaTransportPlugin::registerTransport(std::string type_name, RTT::types::TypeInfo* ti)
00012 {
00013 if(ti->hasProtocol(ORO_CORBA_PROTOCOL_ID))
00014 return false;
00015
00016 <% first_type = true;
00017 typesets.interface_types.each do |type|
00018 names = [type.name]
00019 if aliases = typesets.aliases[type]
00020 names.concat(aliases)
00021 end
00022 if_cond = names.map { |n| "\"#{n}\" == type_name" }.join(" || ")
00023 %>
00024 <%= 'else ' unless first_type %>if (<%= if_cond %>)
00025 {
00026 return ti->addProtocol(ORO_CORBA_PROTOCOL_ID,
00027 <%= type.method_name %>_CorbaTransport());
00028 }
00029 <% first_type = false
00030 end %>
00031 return false;
00032 }
00033 std::string orogen_typekits::<%= typekit.name %>CorbaTransportPlugin::getTransportName() const
00034 { return "CORBA"; }
00035 std::string orogen_typekits::<%= typekit.name %>CorbaTransportPlugin::getTypekitName() const
00036 { return "/orogen/<%= typekit.name %>"; }
00037 std::string orogen_typekits::<%= typekit.name %>CorbaTransportPlugin::getName() const
00038 { return "/orogen/<%= typekit.name %>/CORBA"; }
00039
00040 ORO_TYPEKIT_PLUGIN(orogen_typekits::<%= typekit.name %>CorbaTransportPlugin);
00041