### Method

# Xdp Portal save_files

#### Declaration [src]

    void
    xdp_portal_save_files (
      XdpPortal* portal,
      XdpParent* parent,
      const char* title,
      const char* current_name,
      const char* current_folder,
      GVariant* files,
      GVariant* choices,
      XdpSaveFileFlags flags,
      GCancellable* cancellable,
      GAsyncReadyCallback callback,
      gpointer data
    )

#### Description [src]

Asks for a folder as a location to save one or more files.

The names of the files will be used as-is and appended to the selected folder’s path in the list of returned files. If the selected folder already contains a file with one of the given names, the portal may prompt or take some other action to construct a unique file name and return that instead.

The format for the `choices` argument is the same as for `xdp_portal_open_file()`.

When the request is done, `callback` will be called. You can then call `xdp_portal_save_file_finish()` to get the results.

#### Parameters

`parent` | `XdpParent`
| Parent window information.
| The argument can be `NULL`.
| The data is owned by the caller of the function.
`title` | `const char*`
| Title for the file chooser dialog.
| The data is owned by the caller of the function.
| The value is a NUL terminated UTF-8 string.
`current_name` | `const char*`
| Suggested filename.
| The argument can be `NULL`.
| The data is owned by the caller of the function.
| The value is a NUL terminated UTF-8 string.
`current_folder` | `const char*`
| Suggested folder to save the file in.
| The argument can be `NULL`.
| The data is owned by the caller of the function.
| The value is a NUL terminated UTF-8 string.
`files` | `GVariant`
| An array of file names to be saved.
| The data is owned by the caller of the function.
`choices` | `GVariant`
| A `GVariant` describing extra widgets.
| The argument can be `NULL`.
| The data is owned by the caller of the function.
`flags` | `XdpSaveFileFlags`
| Options for this call.
`cancellable` | `GCancellable`
| Optional `GCancellable`
| The argument can be `NULL`.
| The data is owned by the caller of the function.
`callback` | `GAsyncReadyCallback`
| A callback to call when the request is done.
| The argument can be `NULL`.
`data` | `gpointer`
| Data to pass to `callback`.
| The argument can be `NULL`.
| The data is owned by the caller of the function.