Tracker Indexer Reference Manual |
---|
Modules are implemented as standalone .so files with a defined API, the indexer's task is to crawl through all the defined directories in the .module file and ask the module for information about that file.
The API to implement is the following:
void indexer_module_initialize (void); /* GTypes and other static data initialization */ void indexer_module_shutdown (void); /* Free all static resources here */ TrackerModuleFile * indexer_module_create_file (GFile *file);
Modules can implement one or many TrackerModuleFile objects, which will be used by the indexer to extract information. Optionally, TrackerModuleFile objects can also implement the TrackerModuleIteratable interface, so the indexer can iterate through the contents of the file and index them as separate entities.