![]() |
![]() |
![]() |
GIO Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Implemented Interfaces |
#include <gio/gio.h> GIOModule; GIOModule * g_io_module_new (const gchar *filename); GList * g_io_modules_load_all_in_directory (const gchar *dirname); void g_io_modules_scan_all_in_directory (const char *dirname); void g_io_module_load (GIOModule *module); void g_io_module_unload (GIOModule *module);
Provides an interface and default functions for loading and unloading modules. This is used internally to make GIO extensible, but can also be used by others to implement module loading.
GIOModule * g_io_module_new (const gchar *filename);
Creates a new GIOModule that will load the specific shared library when in use.
GList * g_io_modules_load_all_in_directory (const gchar *dirname);
Loads all the modules in the specified directory.
If don't require all modules to be initialized (and thus registering
all gtypes) then you can use g_io_modules_scan_all_in_directory()
which allows delayed/lazy loading of modules.
|
pathname for a directory containing modules to load. |
Returns : |
a list of GIOModules loaded from the directory,
All the modules are loaded 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 list
with g_list_free() .
|
void g_io_modules_scan_all_in_directory (const char *dirname);
Scans all the modules in the specified directory, ensuring that any extension point implemented by a module is registered.
This may not actually load and initialize all the types in each
module, some modules may be lazily loaded and initialized when
an extension point it implementes is used with e.g.
g_io_extension_point_get_extensions()
or
g_io_extension_point_get_extension_by_name()
.
If you need to guarantee that all types are loaded in all the modules,
use g_io_modules_scan_all_in_directory()
.
|
pathname for a directory containing modules to scan. |
Since 2.24
void g_io_module_load (GIOModule *module);
Required API for GIO modules to implement. This function is ran after the module has been loaded into GIO, to initialize the module.
|
a GIOModule. |