11#ifndef RTI_ROUTING_PROCESSOR_PROCESSOR_PLUGIN_HPP_
12#define RTI_ROUTING_PROCESSOR_PROCESSOR_PLUGIN_HPP_
14#include "routingservice/routingservice_log.h"
16#include <rti/config/Version.hpp>
17#include <rti/routing/PropertySet.hpp>
18#include <rti/routing/processor/Route.hpp>
19#include <rti/routing/processor/Processor.hpp>
193namespace rti {
namespace routing {
namespace processor {
268 return rti::config::LibraryVersion();
281#include <rti/routing/processor/detail/ProcessorPluginForwarder.hpp>
354#define RTI_PROCESSOR_PLUGIN_CREATE_FUNCTION_DECL(PROCESSOR_CLASS) \
355extern "C" RTI_USER_DLL_EXPORT struct RTI_RoutingServiceProcessorPlugin* \
356 PROCESSOR_CLASS ## _create_processor_plugin(\
357 const struct RTI_RoutingServiceProperties *, \
358 RTI_RoutingServiceEnvironment *); \
365#define RTI_PROCESSOR_PLUGIN_CREATE_FUNCTION_DEF(PROCESSOR_CLASS) \
366struct RTI_RoutingServiceProcessorPlugin * PROCESSOR_CLASS ## _create_processor_plugin( \
367 const struct RTI_RoutingServiceProperties * native_properties, \
368 RTI_RoutingServiceEnvironment *environment) \
370 PropertySet properties; \
371 rti::routing::PropertyAdapter::add_properties_from_native(\
373 native_properties); \
375 return rti::routing::processor::detail::ProcessorPluginForwarder::create_plugin(\
376 new PROCESSOR_CLASS(properties)); \
377 } catch (const std::exception& ex) {\
378 RTI_RoutingServiceEnvironment_set_error(\
The top-level plug-in class.
Definition: ProcessorPlugin.hpp:202
virtual Processor * create_processor(Route &route, const rti::routing::PropertySet &properties)=0
Creates a Route Processor.
virtual ~ProcessorPlugin()
Virtual destructor.
Definition: ProcessorPlugin.hpp:274
virtual rti::config::LibraryVersion get_version() const
Definition: ProcessorPlugin.hpp:266
virtual void delete_processor(Route &route, Processor *processor)=0
Deletes a Route Processor.
Processor interface definition. Provides a way to process Route events and control the data forwardin...
Definition: Processor.hpp:54
Representation of the Route object that owns a Processor.
Definition: Route.hpp:84
std::map< std::string, std::string > PropertySet
The definition of a pluggable entity’s configuration properties.
Definition: PropertySet.hpp:60