Commit graph

11 commits

Author SHA1 Message Date
Christian Thaeter
d5c61c0e9d let plugin_discover() barf out when the plugin.path config cant be found 2008-11-05 11:33:49 +01:00
Christian Thaeter
fa6b6d54e9 hook the plugin refcounting in
The plugin refcounter is driven from interface opening/closing, this is
quite internal.

The 'last' time in plugin now records the last time the refcounter dropped
to 0, this is just sufficient enough to find out how long a plugin is
unused.
2008-11-05 11:33:29 +01:00
Christian Thaeter
7afce647fb few tool functions for the plugin implementation
* plugin_name() to figure out the name of the plugin
 * plugin_refinc() and plugin_refdec() to manage the refcount
2008-11-05 11:33:28 +01:00
Christian Thaeter
c26cd391b0 automatic plugin unloading at interfaceregistry_destroy()
All open plugins will be unloaded when the registry gets destroyed.
If there are still interfaces open, this will assert at ALPHA builds.
2008-11-05 11:33:28 +01:00
Christian Thaeter
240e7cb295 plugin_unload must lock the registry tree 2008-11-05 11:33:28 +01:00
Christian Thaeter
c35e5fb0f9 Plugin unloading, at least manually works 2008-11-05 11:33:28 +01:00
Christian Thaeter
3155ae068f Loading of dynamic modules
* loads dynamic libs as module.
 * file extensions .so and .lum (LUmieraModule)
 - no unloading yet
2008-11-05 11:33:28 +01:00
Christian Thaeter
7c2415838b WIP: big plugin update
* fix configure.ac to check for dlopen, introduce $(LUMIERA_PLUGIN_LIBS)
 * Generic pluginloader finished, all plugins get loaded and registered at
   start for now, it is prepared for on-demand loading and unloading but
   not implemented because that needs the plugindb.
 - plugin unloading not yet finished, this asserts at the end
2008-11-05 11:33:28 +01:00
Christian Thaeter
2342c3a87a New Plugin implementation
* plugin{.h,.c} are back but work in progress
 * the interfaceregistry also manages a pluginregistry, makes no much sense
   to isolate it yet, both share a mutex and are commonly used together
2008-11-03 08:07:22 +01:00
Christian Thaeter
26c212b292 make the old plugin stuff barely compileable, disable tests, fix later 2008-10-15 22:18:17 +02:00
Christian Thaeter
14a9e95492 moved plugin code from lib to backend
Plugin management will become stateful. This qualifies it to become a
backend subsystem.
2008-10-15 15:49:34 +02:00
Renamed from src/lib/plugin.c (Browse further)