### Function

# EDataServer Module load_all_in_directory_and_prefixes

since: 3.40

#### Declaration [src]

    GList*
    e_module_load_all_in_directory_and_prefixes (
      const gchar* dirname,
      const gchar* dirprefix
    )

#### Description [src]

Loads all the modules in the specified directory into memory and the other custom prefixes returned by e_util_get_directory_variants(). 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().

When `dirprefix` is `NULL`, or not a prefix of `dirname`, behaves the same as e_module_load_all_in_directory().

Available since: 3.40

#### Parameters

`dirname`

  Type: `const gchar*`

  Pathname for a directory containing modules to load.

  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`dirprefix`

  Type: `const gchar*`

  Prefix of `dirname`, which can be replaced by custom prefixes, or `NULL`.

  The argument can be `NULL`.
  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

#### Return value

Type: A list of `EModule*`

A list of `EModules` loaded from `dirname` and any extra prefix directory.

The caller of the function takes ownership of the data container, but not the data inside it.