## RetroModuleIterator RetroModuleIterator — An object iterating through the available Libretro cores |

## Functions

RetroModuleIterator * | retro_module_iterator_new ()
RetroCoreDescriptor * | retro_module_iterator_get ()
gboolean | retro_module_iterator_next ()

## Types and Values

#define | RETRO_TYPE_MODULE_ITERATOR
| RetroModuleIterator

## Object Hierarchy

        GObject
        ╰── RetroModuleIterator

## Includes

    #include <retro-gtk/retro-gtk.h>

## Description

## Functions

### retro_module_iterator_new ()

    RetroModuleIterator *
    retro_module_iterator_new (const gchar * const *lookup_paths,
                               gboolean recursive);

Creates a new RetroModuleIterator.

#### Parameters

lookup_paths | paths where to look for Libretro cores. | [array zero-terminated=1]
recursive | whether to run the query in sub-directories |

#### Returns

a new RetroModuleIterator.

[transfer full]

### retro_module_iterator_get ()

    RetroCoreDescriptor *
    retro_module_iterator_get (RetroModuleIterator *self);

Gets the last RetroCoreDescriptor fetched by `retro_module_iterator_next()`, or `NULL` if the end was reached.

#### Parameters

self | a RetroModuleIterator |

#### Returns

a RetroCoreDescriptor, or `NULL`.

[nullable][transfer full]

### retro_module_iterator_next ()

    gboolean
    retro_module_iterator_next (RetroModuleIterator *self);

Fetch the next RetroModuleIterator.

#### Parameters

self | a RetroModuleIterator |

#### Returns

`FALSE` if it reached the end, `TRUE` otherwise

## Types and Values

### RETRO_TYPE_MODULE_ITERATOR

    #define RETRO_TYPE_MODULE_ITERATOR (retro_module_iterator_get_type())

### RetroModuleIterator

    typedef struct _RetroModuleIterator RetroModuleIterator;

## See Also

RetroCoreDescriptor, RetroModuleQuery