### Method

# Gio File replace_contents_async

#### Declaration

    void
    g_file_replace_contents_async (
      GFile* file,
      const char* contents,
      gsize length,
      const char* etag,
      gboolean make_backup,
      GFileCreateFlags flags,
      GCancellable* cancellable,
      GAsyncReadyCallback callback,
      gpointer user_data
    )

#### Description

Starts an asynchronous replacement of `file` with the given `contents` of `length` bytes. `etag` will replace the document’s current entity tag.

When this operation has completed, `callback` will be called with `user_user` data, and the operation can be finalized with g_file_replace_contents_finish().

If `cancellable` is not `NULL`, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error `G_IO_ERROR_CANCELLED` will be returned.

If `make_backup` is `TRUE`, this function will attempt to make a backup of `file`.

Note that no copy of `contents` will be made, so it must stay valid until `callback` is called. See `g_file_replace_contents_bytes_async()` for a `GBytes` version that will automatically hold a reference to the contents (without copying) for the duration of the call.

#### Parameters

`contents`

  Type: An array of `guint8`

  String of contents to replace the file with.

  The length of the array is specified in the `length` argument.
  The data is owned by the caller of the method.

`length`

  Type: `gsize`

  The length of `contents` in bytes.

`etag`

  Type: `const char*`

  A new entity tag for the `file`, or `NULL`.

  The argument can be `NULL`.
  The data is owned by the caller of the method.
  The value is a NUL terminated UTF-8 string.

`make_backup`

  Type: `gboolean`

  `TRUE` if a backup should be created.

`flags`

  Type: `GFileCreateFlags`

  A set of `GFileCreateFlags`.

`cancellable`

  Type: `GCancellable`

  Optional `GCancellable` object, `NULL` to ignore.

  The argument can be `NULL`.
  The data is owned by the caller of the method.

`callback`

  Type: `GAsyncReadyCallback`

  A `GAsyncReadyCallback` to call when the request is satisfied.

  The argument can be `NULL`.

`user_data`

  Type: `gpointer`

  The data to pass to callback function.

  The argument can be `NULL`.
  The data is owned by the caller of the method.