## IAnjutaFile IAnjutaFile — Implemented by plugins that can open files. |

## Stability Level

Unstable, unless otherwise indicated

## Synopsis

    #include <libanjuta/interfaces/ianjuta-file.h>

    #define             IANJUTA_FILE_ERROR
    struct              IAnjutaFileIface;
    GQuark              ianjuta_file_error_quark            (void);
    GFile *             ianjuta_file_get_file               (IAnjutaFile *obj,
                                                             GError **err);
    void                ianjuta_file_open                   (IAnjutaFile *obj,
                                                             GFile *file,
                                                             GError **err);

## Description

Any plugin that can open files should implemented this interface. Along with the 'File Loader::SupportedMimeTypes' property of the plugin in .plugin file, it will be used by the loader to open files of that type.

## Details

### IANJUTA_FILE_ERROR

    #define IANJUTA_FILE_ERROR ianjuta_file_error_quark()

### struct IAnjutaFileIface

    struct IAnjutaFileIface {
    	GTypeInterface g_iface;

    	GFile* (*get_file) (IAnjutaFile *obj, GError **err);
    	void (*open) (IAnjutaFile *obj, GFile* file, GError **err);
    };

### ianjuta_file_error_quark ()

    GQuark              ianjuta_file_error_quark            (void);

### ianjuta_file_get_file ()

    GFile *             ianjuta_file_get_file               (IAnjutaFile *obj,
                                                             GError **err);

Returns the file that was opened with `ianjuta_file_open()`.

`obj` : | Self
`err` : | Error propagation and reporting
Returns : | The last file opened. [transfer full]

### ianjuta_file_open ()

    void                ianjuta_file_open                   (IAnjutaFile *obj,
                                                             GFile *file,
                                                             GError **err);

The implementor opens the given file.

`obj` : | Self
`file` : | file to open.
`err` : | Error propagation and reporting

## See Also

IAnjutaFileSavable