Go to the source code of this file.
Namespaces | |
namespace | RTT |
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute. | |
namespace | RTT::plugin |
Defines | |
#define | ORO_SERVICE_NAMED_PLUGIN(SERVICE, NAME) |
#define | ORO_SERVICE_PLUGIN(SERVICE) |
#define | ORO_SERVICEPLUGIN_str(s) #s |
#define | ORO_SERVICEPLUGIN_xstr(s) ORO_SERVICEPLUGIN_str(s) |
#define ORO_SERVICE_NAMED_PLUGIN | ( | SERVICE, | |
NAME | |||
) |
extern "C" {\ RTT_EXPORT bool loadRTTPlugin(RTT::TaskContext* tc); \ bool loadRTTPlugin(RTT::TaskContext* tc) { \ if (tc == 0) return true; \ RTT::Service::shared_ptr sp( new SERVICE( tc ) ); \ return tc->provides()->addService( sp ); \ } \ RTT_EXPORT RTT::Service::shared_ptr createService(); \ RTT::Service::shared_ptr createService() { \ RTT::Service::shared_ptr sp( new SERVICE( 0 ) ); \ return sp; \ } \ RTT_EXPORT std::string getRTTPluginName(); \ std::string getRTTPluginName() { \ return NAME; \ } \ RTT_EXPORT std::string getRTTTargetName(); \ std::string getRTTTargetName() { \ return OROCOS_TARGET_NAME; \ } \ }
You can use this macro to make any Service available as a plugin.
SERVICE | A class that inherits from Service and takes a TaskContext* as argument in a constructor. |
NAME | A string being the name of the plugin. |
Definition at line 70 of file ServicePlugin.hpp.
#define ORO_SERVICE_PLUGIN | ( | SERVICE | ) |
extern "C" { \ RTT_EXPORT bool loadRTTPlugin(RTT::TaskContext* tc); \ bool loadRTTPlugin(RTT::TaskContext* tc) { \ if (tc == 0) return true; \ RTT::Service::shared_ptr sp( new SERVICE( tc ) ); \ return tc->provides()->addService( sp ); \ } \ RTT_EXPORT RTT::Service::shared_ptr createService(); \ RTT::Service::shared_ptr createService() { \ RTT::Service::shared_ptr sp( new SERVICE( 0 ) ); \ return sp; \ } \ RTT_EXPORT std::string getRTTPluginName(); \ std::string getRTTPluginName() { \ return ORO_SERVICEPLUGIN_xstr(SERVICE); \ } \ RTT_EXPORT std::string getRTTTargetName(); \ std::string getRTTTargetName() { \ return OROCOS_TARGET_NAME; \ } \ }
You can use this macro to make any Service available as a plugin.
SERVICE | A class that inherits from Service and takes a TaskContext* as argument in a constructor. The name of the plugin is equal to SERVICE, but the name of the service (ie Service::getName() ) may be different. |
Definition at line 103 of file ServicePlugin.hpp.
#define ORO_SERVICEPLUGIN_str | ( | s | ) | #s |
Definition at line 52 of file ServicePlugin.hpp.
#define ORO_SERVICEPLUGIN_xstr | ( | s | ) | ORO_SERVICEPLUGIN_str(s) |
Definition at line 51 of file ServicePlugin.hpp.