Tasks #127
Create a plugin mechanism
Status: | Resolved | Start date: | 09/29/2012 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | J. Moringen | % Done: | 100% | |
Category: | Plugins | |||
Target version: | Robotics Service Bus - rsb-0.9 |
Description
This mechanism must allow to dynamically load extensions into previously defined registries from a directory of shared libraries.
Subtasks
Related issues
Associated revisions
Added a plugin system in src/rsc/plugins/*.{h,cpp}
refs #127
The entry point of the plugin system is the Manager class which
maintains a plugin loadpath and a list of plugins which Plugin
objects. Plugin object basically have a name, a load() and a unload()
method.
NOTE: the current implementation is for Linux and is not portable.
- src/rsc/plugins/Provider.h: new file; API for plugin implementors
- src/rsc/plugins/Plugin.{h,cpp}: new files; contain Plugin class
- src/rsc/plugins/Manager.{h,cpp}: new files; contain Manager class, a
singleton, which manages the plugin load path and plugin list - src/rsc/plugins/Configurator.{h,cpp}: new files; contain
PluginConfigurator helper class which is used to configure the
plugin load path and load certain plugins according to the
configuration mechanism - src/CMakeLists.txt: added files src/rsc/plugins/*.{h,cpp}; link
against libdl
Added a plugin system in src/rsc/plugins/*.{h,cpp}
refs #127
The entry point of the plugin system is the Manager class which
maintains a plugin loadpath and a list of plugins which Plugin
objects. Plugin object basically have a name, a load() and a unload()
method.
NOTE: the current implementation is for Linux and is not portable.
- src/rsc/plugins/Provider.h: new file; API for plugin implementors
- src/rsc/plugins/Plugin.{h,cpp}: new files; contain Plugin class
- src/rsc/plugins/Manager.{h,cpp}: new files; contain Manager class, a
singleton, which manages the plugin load path and plugin list - src/rsc/plugins/Configurator.{h,cpp}: new files; contain
PluginConfigurator helper class which is used to configure the
plugin load path and load certain plugins according to the
configuration mechanism - src/CMakeLists.txt: added files src/rsc/plugins/*.{h,cpp}; link
against libdl
Added a plugin system in src/rsc/plugins/*.{h,cpp}
refs #127
The entry point of the plugin system is the Manager class which
maintains a plugin loadpath and a list of plugins which Plugin
objects. Plugin object basically have a name, a load() and a unload()
method.
NOTE: the current implementation is for Linux and is not portable.
- src/rsc/plugins/Provider.h: new file; API for plugin implementors
- src/rsc/plugins/Plugin.{h,cpp}: new files; contain Plugin class
- src/rsc/plugins/Manager.{h,cpp}: new files; contain Manager class, a
singleton, which manages the plugin load path and plugin list - src/rsc/plugins/Configurator.{h,cpp}: new files; contain
PluginConfigurator helper class which is used to configure the
plugin load path and load certain plugins according to the
configuration mechanism - src/CMakeLists.txt: added files src/rsc/plugins/*.{h,cpp}; link
against libdl
Added a plugin system in src/rsc/plugins/*.{h,cpp}
refs #127
The entry point of the plugin system is the Manager class which
maintains a plugin loadpath and a list of plugins which Plugin
objects. Plugin object basically have a name, a load() and a unload()
method.
NOTE: the current implementation is for Linux and is not portable.
- src/rsc/plugins/Provider.h: new file; API for plugin implementors
- src/rsc/plugins/Plugin.{h,cpp}: new files; contain Plugin class
- src/rsc/plugins/Manager.{h,cpp}: new files; contain Manager class, a
singleton, which manages the plugin load path and plugin list - src/rsc/plugins/Configurator.{h,cpp}: new files; contain
PluginConfigurator helper class which is used to configure the
plugin load path and load certain plugins according to the
configuration mechanism - src/CMakeLists.txt: added files src/rsc/plugins/*.{h,cpp}; link
against libdl
History
#1 Updated by J. Wienke about 12 years ago
- Assignee deleted (
J. Wienke)
#2 Updated by J. Moringen over 11 years ago
- Status changed from New to In Progress
- Assignee set to J. Moringen
- Target version set to rsb-0.9
#3 Updated by J. Moringen over 11 years ago
- File 0001-Added-a-plugin-system-in-src-rsc-plugins-.-h-cpp.patch added
- Status changed from In Progress to Feedback
- % Done changed from 0 to 70
Any feedback (patch is attached in case my email did not get through)?
#4 Updated by J. Moringen over 11 years ago
- Category changed from Registry to Plugins
- % Done changed from 70 to 90
#5 Updated by J. Moringen almost 11 years ago
- Status changed from Feedback to Resolved