Feature #305
Implement plugin mechanism
Status: | Resolved | Start date: | 05/20/2011 | |
---|---|---|---|---|
Priority: | High | Due date: | ||
Assignee: | J. Moringen | % Done: | 100% | |
Category: | C++ | Estimated time: | 8.00 hours | |
Target version: | rsb-0.9 |
Description
Specification is here. Required steps:
- Decide on suitable trigger for plugin loading (rsb::init vs. rsb::Factory constructor)
- Option handler support for
plugins.cpp.path
andplugins.cpp.libraries
- Loading mechanism (e.g. dlopen)
- Initialization mechanism (e.g
extern "C" { void rsb_plugin_init() {} }
)
Some of these aspects should probably be handled in RSC.
Related issues
Associated revisions
Added plugin mechanism in src/rsb/Factory.{h,cpp}
fixes #305
We basically just configure RSC's plugin mechanism with an
RSB-specific default searchpath: $HOME/.rsb$MAJOR.$MINOR/plugins and
$libdir/rsb$MAJOR.$MINOR/plugins
- src/rsb/Factory.{h,cpp}: added function configureSubsystem; used for
logging and plugin configuration; pass RSB configuration to RSC
plugin mechanism and add RSB-specific default searchpath - src/rsb/Version.{h,cpp}.in: added Version::libdir method for
determining the library directory of the RSB installation - examples/plugin/Plugin.cpp: new file; contains a minimal plugin
- examples/CMakeLists.txt: build minimal plugin as a shared library
History
#1 Updated by J. Wienke almost 13 years ago
- Target version changed from 0.3 to rsb-0.9
#2 Updated by S. Wrede over 12 years ago
- Category deleted (
C++) - Priority changed from Normal to High
#3 Updated by S. Wrede over 11 years ago
A basic implementation example can be found here: https://redmine.amarsi-project.eu/projects/quaddrivers/repository/revisions/master/entry/src/liboncilla/BackendFactory.cpp
#4 Updated by J. Moringen over 11 years ago
- Category set to C++
#5 Updated by J. Moringen over 11 years ago
- Status changed from New to In Progress
- Assignee set to J. Moringen
#6 Updated by J. Moringen over 11 years ago
- File 0001-Added-plugin-mechanism-in-src-rsb-Factory.-h-cpp.patch added
- % Done changed from 0 to 70
Any feedback (patch is attached in case my email did not get through)?
#7 Updated by J. Moringen over 11 years ago
- Status changed from In Progress to Resolved
- % Done changed from 70 to 100
Applied in changeset rsb-cpp|commit:3e75442720fca84c390bbced1d4369bc34503c4a.