## Generic Module Loader

Generic Module Loader

## Synopsis

    #include <e-util/e-module.h>

                        EModule;
    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);

## Object Hierarchy

      GObject
       +----GTypeModule
             +----EModule

## Implemented Interfaces

EModule implements GTypePlugin.

## Properties

      "filename"                 gchar*                : Read / Write / Construct Only

## Description

## Details

### EModule

    typedef struct _EModule EModule;

Contains only private data that should be read and manipulated using the functions below.

### e_module_new ()

    EModule *           e_module_new                        (const gchar *filename);

Creates a new EModule that will load the specific shared library when in use.

`filename` : | filename of the shared library module
Returns : | a new EModule for `filename`

### e_module_get_filename ()

    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.

`module` : | an EModule
Returns : | the filename for `module`

### e_module_load_all_in_directory ()

    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()`.

`dirname` : | pathname for a directory containing modules to load
Returns : | a list of EModules loaded from `dirname`

## Property Details

### The `"filename"` property

      "filename"                 gchar*                : Read / Write / Construct Only

The filename of the module.

Default value: NULL