PluginConcept » History » Version 2
Version 1 (J. Wienke, 05/16/2011 02:02 PM) → Version 2/10 (J. Moringen, 05/20/2011 12:15 PM)
h1. Overview Plugin Concept
* Plugins are Generally several alternatives:
# Libraries loaded at initialization time
** This means, registration of provided converters and connectors happens during initialization
** This is required from rsb configuration, must be available in order for RSB to be able inquire about capabilities and configuration of converters and connectors
* Selection and loading of plugins is configured using the [[Configuration|usual mechanism]]
** An implementation-language-specific section configures
*** Means of locating plugins (e.g. searchpath, classpath, PYTHONPATH) pythonpath etc.... (user task)
*** Names of the # Separate plugin configuration: advantage -> questions to plugins that should can be loaded
h2. C++ Plugins
* Are shared objects
* Configuration via asked at an early stage, e.g. configuration options
** @plugins.c++.path@: Colon separated list of directories in which expanded (e.g. @rsbspread DIRECTORY/librsbspread.so@ on linux) plugin libraries will be searched connectors
** @plugins.c++.libraries@: Colon separated list of plugin names (no including prefixes like "lib" of suffixes like ".so" or ".dll")
Configuration Example.
<pre>
[plugins.c++]
path = /vol/vampire/lib:/vol/cor/lib
libraries = rsbspread:rsbvampire # no filetype suffix
</pre>
* Plugins are Generally several alternatives:
# Libraries loaded at initialization time
** This means, registration of provided converters and connectors happens during initialization
** This is required from rsb configuration, must be available in order for RSB to be able inquire about capabilities and configuration of converters and connectors
* Selection and loading of plugins is configured using the [[Configuration|usual mechanism]]
** An implementation-language-specific section configures
*** Means of locating plugins (e.g. searchpath, classpath, PYTHONPATH) pythonpath etc.... (user task)
*** Names of the # Separate plugin configuration: advantage -> questions to plugins that should can be loaded
h2. C++ Plugins
* Are shared objects
* Configuration via asked at an early stage, e.g. configuration options
** @plugins.c++.path@: Colon separated list of directories in which expanded (e.g. @rsbspread DIRECTORY/librsbspread.so@ on linux) plugin libraries will be searched connectors
** @plugins.c++.libraries@: Colon separated list of plugin names (no including prefixes like "lib" of suffixes like ".so" or ".dll")
Configuration Example.
<pre>
[plugins.c++]
path = /vol/vampire/lib:/vol/cor/lib
libraries = rsbspread:rsbvampire # no filetype suffix
</pre>