16#ifndef SEEN_MODULES_DB_H
17#define SEEN_MODULES_DB_H
21#include <unordered_map>
39 std::unordered_map<std::string, std::unique_ptr<Extension>>
moduledict;
48 void foreach(
void (*in_func)(
Extension * in_plug, gpointer in_data), gpointer in_data);
std::list< Output * > OutputList
std::list< Effect * > EffectList
static void output_internal(Extension *in_plug, gpointer data)
The function to look at each module and see if it is an output module, then add it to the list.
void take_ownership(std::unique_ptr< Extension > module)
Take the ownership of an extension to ensure that it is freed on program exit.
std::vector< Effect * > get_effect_list()
Creates a list of all the Effect extensions.
DB & operator=(DB &&)=delete
OutputList & get_output_list(OutputList &ou_list)
Creates a list of all the Output extensions.
TemplateList & get_template_list(TemplateList &ou_list)
Create a list of all the Template extensions.
std::unordered_map< std::string, std::unique_ptr< Extension > > moduledict
This is the actual database.
std::list< Input * > InputList
static void effect_internal(Extension *in_plug, gpointer data)
The function to look at each module and see if it is an effect module, then add it to the list.
std::list< Template * > TemplateList
Extension * get(const gchar *key) const
This function looks up a Inkscape::Extension::Extension by using its unique id. It then returns a ref...
InputList & get_input_list(InputList &ou_list)
Creates a list of all the Input extensions.
static void input_internal(Extension *in_plug, gpointer data)
The function to look at each module and see if it is an input module, then add it to the list.
static void template_internal(Extension *in_plug, gpointer data)
The function to look at each module and see if it is a template module, then add it to the list.
The object that is the basis for the Extension system.
Inkscape::Extension::Extension: Frontend to certain, possibly pluggable, actions.
DB db
This is the actual database object.
static cairo_user_data_key_t key