## RygelRecursiveModuleLoader

RygelRecursiveModuleLoader — Recursively walk a folder looking for shared libraries.

## Synopsis

    #define             RYGEL_TYPE_RECURSIVE_MODULE_LOADER
    void                rygel_recursive_module_loader_load_modules
                                                            (RygelRecursiveModuleLoader *self);
    void                rygel_recursive_module_loader_load_modules_sync
                                                            (RygelRecursiveModuleLoader *self,
                                                             GCancellable *cancellable);
    gboolean            rygel_recursive_module_loader_load_module_from_file
                                                            (RygelRecursiveModuleLoader *self,
                                                             GFile *file);
    gboolean            rygel_recursive_module_loader_load_module_from_info
                                                            (RygelRecursiveModuleLoader *self,
                                                             RygelPluginInformation *info);
    const gchar *       rygel_recursive_module_loader_get_base_path
                                                            (RygelRecursiveModuleLoader *self);
    void                rygel_recursive_module_loader_set_base_path
                                                            (RygelRecursiveModuleLoader *self,
                                                             const gchar *value);
    struct              RygelRecursiveModuleLoader;
    struct              RygelRecursiveModuleLoaderClass;

## Object Hierarchy

      GObject
       +----RygelRecursiveModuleLoader
             +----RygelPluginLoader

## Properties

      "base-path"                gchar*                : Read / Write / Construct

## 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.

## Details

### 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.

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

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

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

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

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

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

### 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.

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*                : Read / Write / Construct

base-path.

Default value: NULL