## Iteratable files

Iteratable files — Interface for iteratable files which could contain several individual entities.

## Synopsis

    #include <libtracker-module/tracker-module-iteratable.h>

    typedef             TrackerModuleIteratable;
    gboolean            tracker_module_iteratable_iter_contents
                                                            (TrackerModuleIteratable *iteratable);
    guint               tracker_module_iteratable_get_count (TrackerModuleIteratable *iteratable);

## Object Hierarchy

      GInterface
       +----TrackerModuleIteratable

## Prerequisites

TrackerModuleIteratable requires TrackerModuleFile.

## Description

TrackerModuleIteratable is an interface that can be implemented by TrackerModuleFile objects. It's used by Tracker so it can potentially iterate inside the contents of a file.

## Details

### TrackerModuleIteratable

    typedef struct TrackerModuleIteratable TrackerModuleIteratable; /* dummy typedef */

Interface that can be implemented by files.

### tracker_module_iteratable_iter_contents ()

    gboolean            tracker_module_iteratable_iter_contents
                                                            (TrackerModuleIteratable *iteratable);

Iterates to the next element contained in `iteratable`.

`iteratable` : | A TrackerModuleIteratable
Returns : | `TRUE` if there was such next element, `FALSE` otherwise

### tracker_module_iteratable_get_count ()

    guint               tracker_module_iteratable_get_count (TrackerModuleIteratable *iteratable);

Returns the number of elements contained in `iteratable`

`iteratable` : | A TrackerModuleIteratable
Returns : | The elements count.

## See Also

TrackerModuleFile