## RygelRecursiveModuleLoader

RygelRecursiveModuleLoader — Recursively walk a folder looking for shared libraries.

## Functions

#define | RYGEL_TYPE_RECURSIVE_MODULE_LOADER
void | rygel_recursive_module_loader_load_modules ()
void | rygel_recursive_module_loader_load_modules_sync ()
gboolean | rygel_recursive_module_loader_load_module_from_file ()
gboolean | rygel_recursive_module_loader_load_module_from_info ()
const gchar * | rygel_recursive_module_loader_get_base_path ()
void | rygel_recursive_module_loader_set_base_path ()

## Properties

gchar * | base-path | Read / Write / Construct

## Types and Values

struct | RygelRecursiveModuleLoader
struct | RygelRecursiveModuleLoaderClass

## Object Hierarchy

        GObject
        ╰── RygelRecursiveModuleLoader
            ╰── RygelPluginLoader

## Description

The folder can either be walked synchronously or asynchronously. Implementing classes need to implement the abstract method `load_module_from_file()` which is called when the walker encounters a dynamic module file.

## Functions

### RYGEL_TYPE_RECURSIVE_MODULE_LOADER

    #define RYGEL_TYPE_RECURSIVE_MODULE_LOADER (rygel_recursive_module_loader_get_type ())

The type for RygelRecursiveModuleLoader.

### rygel_recursive_module_loader_load_modules ()

    void
    rygel_recursive_module_loader_load_modules
                                   (RygelRecursiveModuleLoader *self);

Walk asynchronously through the tree and load modules.

#### Parameters

self | the RygelRecursiveModuleLoader instance |

### rygel_recursive_module_loader_load_modules_sync ()

    void
    rygel_recursive_module_loader_load_modules_sync
                                   (RygelRecursiveModuleLoader *self,
                                    GCancellable *cancellable);

Walk synchronously through the tree and load modules.

#### Parameters

self | the RygelRecursiveModuleLoader instance |
cancellable |  |

### rygel_recursive_module_loader_load_module_from_file ()

    gboolean
    rygel_recursive_module_loader_load_module_from_file
                                   (RygelRecursiveModuleLoader *self,
                                    GFile *file);

Load module from file.

#### Parameters

self | the RygelRecursiveModuleLoader instance |
file | . File to load the module from. | [in]

#### Returns

The implementation should return true if the class should continue to search for modules, false otherwise.

### rygel_recursive_module_loader_load_module_from_info ()

    gboolean
    rygel_recursive_module_loader_load_module_from_info
                                   (RygelRecursiveModuleLoader *self,
                                    RygelPluginInformation *info);

#### Parameters

self | the RygelRecursiveModuleLoader instance |
info |  |

### rygel_recursive_module_loader_get_base_path ()

    const gchar *
    rygel_recursive_module_loader_get_base_path
                                   (RygelRecursiveModuleLoader *self);

Get and return the current value of the "base-path" property.

#### Parameters

self | the RygelRecursiveModuleLoader instance to query |

#### Returns

the value of the "base-path" property

### rygel_recursive_module_loader_set_base_path ()

    void
    rygel_recursive_module_loader_set_base_path
                                   (RygelRecursiveModuleLoader *self,
                                    const gchar *value);

Set the value of the "base-path" property to `value` .

#### Parameters

self | the RygelRecursiveModuleLoader instance to modify |
value | the new value of the "base-path" property |

## Types and Values

### struct RygelRecursiveModuleLoader

    struct RygelRecursiveModuleLoader;

Recursively walk a folder looking for shared libraries.

The folder can either be walked synchronously or asynchronously. Implementing classes need to implement the abstract method `load_module_from_file()` which is called when the walker encounters a dynamic module file.

### struct RygelRecursiveModuleLoaderClass

    struct RygelRecursiveModuleLoaderClass {
    	GObjectClass parent_class;
    	gboolean (*load_module_from_file) (RygelRecursiveModuleLoader* self, GFile* file);
    	gboolean (*load_module_from_info) (RygelRecursiveModuleLoader* self, RygelPluginInformation* info);
    };

The class structure for `RYGEL_TYPE_RECURSIVE_MODULE_LOADER`. All the fields in this structure are private and should never be accessed directly.

#### Members

GObjectClass `parent_class`; | the parent class structure |
`load_module_from_file` () | virtual method used internally |
`load_module_from_info` () | virtual method used internally |

## Property Details

### The `“base-path”` property

      “base-path”                gchar *

base-path.

Flags: Read / Write / Construct

Default value: NULL