### Virtual Method

# Gio File copy_async

#### Declaration

    void
    copy_async (
      GFile* source,
      GFile* destination,
      GFileCopyFlags flags,
      int io_priority,
      GCancellable* cancellable,
      GFileProgressCallback progress_callback,
      gpointer progress_callback_data,
      GAsyncReadyCallback callback,
      gpointer user_data
    )

#### Description

Copies the file `source` to the location specified by `destination` asynchronously. For details of the behaviour, see g_file_copy().

If `progress_callback` is not `NULL`, then that function that will be called just like in g_file_copy(). The callback will run in the default main context of the thread calling `g_file_copy_async()` — the same context as `callback` is run in.

When the operation is finished, `callback` will be called. You can then call `g_file_copy_finish()` to get the result of the operation.

#### Parameters

`destination`

  Type: `GFile`

  Destination `GFile`.

  The data is owned by the caller of the function.

`flags`

  Type: `GFileCopyFlags`

  Set of `GFileCopyFlags`.

`io_priority`

  Type: `int`

  The [I/O priority][io-priority] of the request.

`cancellable`

  Type: `GCancellable`

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

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

`progress_callback`

  Type: `GFileProgressCallback`

  function to callback with progress information, or `NULL` if progress information is not needed.

`progress_callback_data`

  Type: `gpointer`

  User data to pass to `progress_callback`.

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

`callback`

  Type: `GAsyncReadyCallback`

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

`user_data`

  Type: `gpointer`

  The data to pass to callback.

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