## ide-file ide-file |

## Functions

#define | IDE_TYPE_FILE
gboolean | ide_file_get_is_temporary ()
guint | ide_file_get_temporary_id ()
GtkSourceLanguage * | ide_file_get_language ()
GFile * | ide_file_get_file ()
const gchar * | ide_file_get_project_path ()
guint | ide_file_hash ()
gboolean | ide_file_equal ()
const gchar * | ide_file_get_path ()
void | ide_file_load_settings_async ()
IdeFileSettings * | ide_file_load_settings_finish ()
void | ide_file_find_other_async ()
IdeFile * | ide_file_find_other_finish ()

## Properties

GFile * | file | Read / Write / Construct Only
gboolean | is-temporary | Read
GtkSourceLanguage * | language | Read
gchar * | path | Read / Write / Construct Only
guint | temporary-id | Read / Write / Construct Only

## Types and Values

| IdeFile

## Object Hierarchy

        GObject
        ╰── IdeObject
            ╰── IdeFile

## Description

## Functions

### IDE_TYPE_FILE

    #define IDE_TYPE_FILE (ide_file_get_type())

### ide_file_get_is_temporary ()

    gboolean
    ide_file_get_is_temporary (IdeFile *self);

### ide_file_get_temporary_id ()

    guint
    ide_file_get_temporary_id (IdeFile *self);

Gets the “temporary-id” property for the file.

Temporary files have unique identifiers associated with them so that we can display names such as "unsaved file 1" and know that it will not collide with another temporary file.

Files that are not temporary, will return zero.

#### Parameters

self | A IdeFile. | [in]

#### Returns

A positive integer greater than zero if the file is a temporary file.

### ide_file_get_language ()

    GtkSourceLanguage *
    ide_file_get_language (IdeFile *self);

Retrieves the GtkSourceLanguage that was discovered for the file.

#### Returns

A GtkSourceLanguage or `NULL`.

[nullable][transfer none]

### ide_file_get_file ()

    GFile *
    ide_file_get_file (IdeFile *self);

Retrieves the underlying GFile represented by `self` .

#### Returns

A GFile.

[transfer none]

### ide_file_get_project_path ()

    const gchar *
    ide_file_get_project_path (IdeFile *self);

### ide_file_hash ()

    guint
    ide_file_hash (IdeFile *self);

### ide_file_equal ()

    gboolean
    ide_file_equal (IdeFile *self,
                    IdeFile *other);

### ide_file_get_path ()

    const gchar *
    ide_file_get_path (IdeFile *self);

### ide_file_load_settings_async ()

    void
    ide_file_load_settings_async (IdeFile *self,
                                  GCancellable *cancellable,
                                  GAsyncReadyCallback callback,
                                  gpointer user_data);

### ide_file_load_settings_finish ()

    IdeFileSettings *
    ide_file_load_settings_finish (IdeFile *self,
                                   GAsyncResult *result,
                                   GError **error);

#### Returns

An IdeFileSettings or `NULL` upon failure and `error` is set.

[transfer full]

### ide_file_find_other_async ()

    void
    ide_file_find_other_async (IdeFile *self,
                               GCancellable *cancellable,
                               GAsyncReadyCallback callback,
                               gpointer user_data);

### ide_file_find_other_finish ()

    IdeFile *
    ide_file_find_other_finish (IdeFile *self,
                                GAsyncResult *result,
                                GError **error);

Completes an asynchronous call to `ide_file_find_other_async()`. This function will try to find a matching file for languages where this exists. Such cases include C and C++ where a .c or .cpp file may have a .h or .hh header. Additional suffixes are implemented including (.c, .cc, .cpp, .cxx, .h, .hh, .hpp, and .hxx).

Returns an IdeFile if successful, otherwise `NULL` and `error` is set.

#### Returns

An IdeFIle or `NULL`.

[transfer full][nullable]

## Types and Values

### IdeFile

    typedef struct _IdeFile IdeFile;

## Property Details

### The `“file”` property

      “file”                     GFile *

The path to the underlying file.

Flags: Read / Write / Construct Only

### The `“is-temporary”` property

      “is-temporary”             gboolean

If the file represents a temporary file.

Flags: Read

Default value: FALSE

### The `“language”` property

      “language”                 GtkSourceLanguage *

The file language.

Flags: Read

### The `“path”` property

      “path”                     gchar *

The path within the project.

Flags: Read / Write / Construct Only

Default value: NULL

### The `“temporary-id”` property

      “temporary-id”             guint

A unique identifier for temporary files.

Flags: Read / Write / Construct Only

Default value: 0