Namespaces | Defines
ServicePlugin.hpp File Reference
#include "Plugin.hpp"
#include <string>
#include "../TaskContext.hpp"
#include "../internal/GlobalService.hpp"
Include dependency graph for ServicePlugin.hpp:
This graph shows which files directly or indirectly include this file:

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_GLOBAL_SERVICE_NAMED_PLUGIN(SERVICE, NAME)
#define ORO_GLOBAL_SERVICE_PLUGIN(SERVICE)
#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 Documentation

#define ORO_GLOBAL_SERVICE_NAMED_PLUGIN (   SERVICE,
  NAME 
)
Value:
extern "C" {\
        RTT_EXPORT bool loadRTTPlugin(RTT::TaskContext* tc);  \
        bool loadRTTPlugin(RTT::TaskContext* tc) {    \
            if (tc != 0) return false; \
            RTT::Service::shared_ptr sp( new SERVICE( tc ) ); \
            return RTT::internal::GlobalService::Instance()->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 global service. The service cannot be loaded into a TaskContext.

Parameters:
SERVICEA class that inherits from Service and takes a TaskContext* as argument in a constructor.
NAMEA string being the name of the plugin.
Note:
Do not use this macro inside a namespace !

Definition at line 138 of file ServicePlugin.hpp.

#define ORO_GLOBAL_SERVICE_PLUGIN (   SERVICE)
Value:
extern "C" {                      \
        RTT_EXPORT bool loadRTTPlugin(RTT::TaskContext* tc); \
        bool loadRTTPlugin(RTT::TaskContext* tc) {    \
            if (tc != 0) return false; \
            RTT::Service::shared_ptr sp( new SERVICE( tc ) ); \
            return RTT::internal::GlobalService::Instance()->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 global service. The service cannot be loaded into a TaskContext.

Parameters:
SERVICEA 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.
Note:
Do not use this macro inside a namespace !

Definition at line 170 of file ServicePlugin.hpp.

#define ORO_SERVICE_NAMED_PLUGIN (   SERVICE,
  NAME 
)
Value:
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.

Parameters:
SERVICEA class that inherits from Service and takes a TaskContext* as argument in a constructor.
NAMEA string being the name of the plugin.
Note:
Do not use this macro inside a namespace ! For example: ORO_SERVICE_NAMED_PLUGIN ( KDL::KDLService, "kdl" ) where KDL::KDLService is a class name.

Definition at line 72 of file ServicePlugin.hpp.

#define ORO_SERVICE_PLUGIN (   SERVICE)
Value:
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.

Parameters:
SERVICEA 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.
Note:
Do not use this macro inside a namespace ! For example: ORO_SERVICE_PLUGIN ( KDL::KDLService ) where KDL::KDLService is a class name.

Definition at line 106 of file ServicePlugin.hpp.

#define ORO_SERVICEPLUGIN_str (   s)    #s

Definition at line 54 of file ServicePlugin.hpp.

Definition at line 53 of file ServicePlugin.hpp.



rtt
Author(s): RTT Developers
autogenerated on Sat Jun 8 2019 18:46:35