41#ifndef COMMON_PLUGIN_H
42#define COMMON_PLUGIN_H
Lumiera error handling (C interface).
#define LUMIERA_ERROR_DECLARE(err)
Forward declare an error constant.
Lumiera interface macros and structures.
lumiera_interface * LumieraInterface
void lumiera_plugin_refdec(LumieraPlugin self)
void lumiera_plugin_refinc(LumieraPlugin self)
void lumiera_plugin_delete_fn(PSplaynode node)
LumieraPlugin lumiera_plugin_lookup(const char *name)
Lookup a plugin handle in the pluginregistry.
LumieraPlugin lumiera_plugin_load(const char *plugin)
Tries to load a plugin Creates a new plugin structure and tries to load and initialise the plugin.
lumiera_plugin * LumieraPlugin
void * lumiera_plugin_handle(LumieraPlugin self)
Query the plugin handle.
int lumiera_plugin_register(LumieraPlugin self)
Register a plugin and its interfaces.
const char * lumiera_plugin_name(LumieraPlugin self)
Query the plugin name The name is the path and filename under which it was loaded.
lumiera_err lumiera_plugin_error(LumieraPlugin self)
Query the error state of a plugin.
LumieraPlugin lumiera_plugin_init(LumieraPlugin self, void *handle, LumieraInterface plugin)
unsigned lumiera_plugin_unload(LumieraPlugin self)
Tries to unload a plugin.
int lumiera_plugin_discover(LumieraPlugin(*callback_load)(const char *plugin), int(*callback_register)(LumieraPlugin))
discover new plugins traverses the configured plugin paths and calls the callback_load function for a...
const void * lumiera_plugin_key_fn(const PSplaynode node)
LumieraPlugin lumiera_plugin_new(const char *name)
Allocates an preinitialises a plugin structure.
int lumiera_plugin_cmp_fn(const void *keya, const void *keyb)
Probabilistic splay tree.