Lumiera  0.pre.03
»edit your freedom«
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
interfaceregistry.c File Reference

Go to the source code of this file.

Description

Interface instances are published and activated by registering them into a global registry, which is defined here.

This instances are identified by their name and major version.

Definition in file interfaceregistry.c.

#include "include/logging.h"
#include "lib/error.h"
#include "lib/psplay.h"
#include "lib/safeclib.h"
#include <nobug.h>
#include "common/plugin.h"
#include "common/interfaceregistry.h"

Functions

static int lumiera_interface_cmp_fn (const void *keya, const void *keyb)
 
static const void * lumiera_interface_key_fn (const PSplaynode node)
 
static void lumiera_interfacenode_delete (LumieraInterfacenode self)
 
static LumieraInterfacenode lumiera_interfacenode_new (LumieraInterface iface, LumieraPlugin plugin)
 
void lumiera_interfaceregistry_bulkregister_interfaces (LumieraInterface *self, LumieraPlugin plugin)
 
void lumiera_interfaceregistry_bulkremove_interfaces (LumieraInterface *self)
 
void lumiera_interfaceregistry_destroy (void)
 
void lumiera_interfaceregistry_init (void)
 Initialise the interface registry.
 
LumieraInterface lumiera_interfaceregistry_interface_find (const char *interface, unsigned version, const char *name)
 
LumieraInterfacenode lumiera_interfaceregistry_interfacenode_find (const char *interface, unsigned version, const char *name)
 
void lumiera_interfaceregistry_register_interface (LumieraInterface self, LumieraPlugin plugin)
 
void lumiera_interfaceregistry_remove_interface (LumieraInterface self)
 

Variables

lumiera_recmutex lumiera_interface_mutex
 
PSplay lumiera_interfaceregistry
 
PSplay lumiera_pluginregistry