## TeplFileLoader TeplFileLoader — Load a file into a TeplBuffer |

## Functions

TeplFileLoader * | tepl_file_loader_new ()
TeplBuffer * | tepl_file_loader_get_buffer ()
TeplFile * | tepl_file_loader_get_file ()
GFile * | tepl_file_loader_get_location ()
void | tepl_file_loader_load_async ()
gboolean | tepl_file_loader_load_finish ()

## Properties

TeplBuffer * | buffer | Read / Write / Construct Only
TeplFile * | file | Read / Write / Construct Only
GFile * | location | Read / Write / Construct Only

## Types and Values

struct | TeplFileLoader

## Object Hierarchy

        GObject
        ╰── TeplFileLoader

## Includes

    #include <tepl/tepl.h>

## Description

A TeplFileLoader object permits to load the content of a GFile into a TeplBuffer.

A file loader should be used only for one load operation, including errors handling. If an error occurs, you can reconfigure the loader and relaunch the operation with `tepl_file_loader_load_async()`.

Running a TeplFileLoader is an undoable action for the TeplBuffer. That is, `gtk_source_buffer_begin_not_undoable_action()` and `gtk_source_buffer_end_not_undoable_action()` are called, which delete the undo/redo history.

After a file loading, the buffer is reset to the content provided by the GFile, so the buffer is set as “unmodified”, that is, `gtk_text_buffer_set_modified()` is called with `FALSE`.

## Functions

### tepl_file_loader_new ()

    TeplFileLoader *
    tepl_file_loader_new (TeplBuffer *buffer,
                          TeplFile *file);

Creates a new TeplFileLoader object. The content is read from the TeplFile location.

If not already done, call `tepl_file_set_location()` before calling this constructor. The previous location is anyway not needed, because as soon as the file loading begins, the `buffer` is emptied. Setting the TeplFile location directly permits to update the UI, to display the good location when the file is loading.

#### Parameters

buffer | the TeplBuffer to load the content into. |
file | the TeplFile. |

#### Returns

a new TeplFileLoader object.

Since: 1.0

### tepl_file_loader_get_buffer ()

    TeplBuffer *
    tepl_file_loader_get_buffer (TeplFileLoader *loader);

#### Parameters

loader | a TeplFileLoader. |

#### Returns

the TeplBuffer to load the content into.

[transfer none][nullable]

Since: 1.0

### tepl_file_loader_get_file ()

    TeplFile *
    tepl_file_loader_get_file (TeplFileLoader *loader);

#### Parameters

loader | a TeplFileLoader. |

#### Returns

the TeplFile.

[transfer none][nullable]

Since: 1.0

### tepl_file_loader_get_location ()

    GFile *
    tepl_file_loader_get_location (TeplFileLoader *loader);

#### Parameters

loader | a TeplFileLoader. |

#### Returns

the GFile to load.

[transfer none][nullable]

Since: 1.0

### tepl_file_loader_load_async ()

    void
    tepl_file_loader_load_async (TeplFileLoader *loader,
                                 gint io_priority,
                                 GCancellable *cancellable,
                                 GAsyncReadyCallback callback,
                                 gpointer user_data);

Loads asynchronously the file content into the TeplBuffer.

See the GAsyncResult documentation to know how to use this function.

#### Parameters

loader | a TeplFileLoader. |
io_priority | the I/O priority of the request. E.g. `G_PRIORITY_LOW`, `G_PRIORITY_DEFAULT` or `G_PRIORITY_HIGH`. |
cancellable | optional GCancellable object, `NULL` to ignore. | [nullable]
callback | a GAsyncReadyCallback to call when the request is satisfied. | [scope async]
user_data | user data to pass to `callback` . |

Since: 5.0

### tepl_file_loader_load_finish ()

    gboolean
    tepl_file_loader_load_finish (TeplFileLoader *loader,
                                  GAsyncResult *result,
                                  GError **error);

Finishes a file loading started with `tepl_file_loader_load_async()`.

#### Parameters

loader | a TeplFileLoader. |
result | a GAsyncResult. |
error | a GError, or `NULL`. |

#### Returns

whether the content has been loaded successfully.

Since: 1.0

## Types and Values

### struct TeplFileLoader

    struct TeplFileLoader;

## Property Details

### The `“buffer”` property

      “buffer”                   TeplBuffer *

The TeplBuffer to load the content into. The TeplFileLoader object has a weak reference to the buffer.

Owner: TeplFileLoader

Flags: Read / Write / Construct Only

Since: 1.0

### The `“file”` property

      “file”                     TeplFile *

The TeplFile. The TeplFileLoader object has a weak reference to the file.

Owner: TeplFileLoader

Flags: Read / Write / Construct Only

Since: 1.0

### The `“location”` property

      “location”                 GFile *

The GFile to load. By default the location is taken from the TeplFile at construction time.

Owner: TeplFileLoader

Flags: Read / Write / Construct Only

Since: 1.0

## See Also

TeplFile, TeplFileSaver