| Evolution-Data-Server Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | ||||
#include <libebackend/libebackend.h> struct EModule; struct EModuleClass; EModule * e_module_new (const gchar *filename); const gchar * e_module_get_filename (EModule *module); GList * e_module_load_all_in_directory (const gchar *dirname); EModule * e_module_load_file (const gchar *filename); void (*ETypeFunc) (GType type,gpointer user_data); void e_type_traverse (GType parent_type,ETypeFunc func,gpointer user_data);
struct EModule {
GTypeModule parent;
EModulePrivate *priv;
};
Contains only private data that should be read and manipulated using the functions below.
Since 3.4
EModule * e_module_new (const gchar *filename);
Creates a new EModule that will load the specific shared library when in use.
|
filename of the shared library module |
Returns : |
a new EModule for filename
|
Since 3.4
const gchar * e_module_get_filename (EModule *module);
Returns the filename of the shared library for module. The
string is owned by module and should not be modified or freed.
|
an EModule |
Returns : |
the filename for module
|
Since 3.4
GList * e_module_load_all_in_directory (const gchar *dirname);
Loads all the modules in the specified directory into memory. If
you want to unload them (enabling on-demand loading) you must call
g_type_module_unuse() on all the modules. Free the returned list
with g_list_free().
|
pathname for a directory containing modules to load |
Returns : |
a list of EModules loaded from dirname
|
Since 3.4
EModule * e_module_load_file (const gchar *filename);
Load the module from the specified filename into memory. If
you want to unload it (enabling on-demand loading) you must call
g_type_module_unuse() on the module.
|
filename of the module to load |
Returns : |
an EModule loaded from filename
|
Since 3.14
void (*ETypeFunc) (GType type,gpointer user_data);
Specifies the type of functions passed to e_type_traverse().
|
a GType |
|
user data passed to e_type_traverse()
|
Since 3.4
void e_type_traverse (GType parent_type,ETypeFunc func,gpointer user_data);
Calls func for all instantiable subtypes of parent_type.
This is often useful for extending functionality by way of EModule.
A module may register a subtype of parent_type in its e_module_load()
function. Then later on the application will call e_type_traverse()
to instantiate all registered subtypes of parent_type.
|
the root GType to traverse from |
|
the function to call for each visited GType |
|
user data to pass to the function |
Since 3.4