### Method

# Fwupd Client emulation_save_async

since: 2.0.0

#### Declaration [src]

    void
    fwupd_client_emulation_save_async (
      FwupdClient* self,
      const gchar* filename,
      GCancellable* cancellable,
      GAsyncReadyCallback callback,
      gpointer callback_data
    )

#### Description [src]

Gets the captured data from all filtered devices for all recorded phases. The data is returned in a ZIP archive of JSON output.

NOTE: Device events are not automatically recorded for all devices. You must call something like `ModifyDevice(device_id, 'flags','emulation-tag')` to start the recording the backend.

Once the device has been re-inserted then the emulation data will be available using this API call.

You must have called `fwupd_client_connect_async()` on `self` before using this method.

Available since: 2.0.0

This method completes asynchronously. Use `fwupd_client_emulation_save_finish()` inside the `GAsyncReadyCallback` to obtain the result of the operation.

#### Parameters

`filename`

  Type: `const gchar*`

  Archive data of JSON files.

  The data is owned by the caller of the method.
  The value is a NUL terminated UTF-8 string.

`cancellable`

  Type: `GCancellable`

  Optional `GCancellable`.

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

`callback`

  Type: `GAsyncReadyCallback`

  The function to run on completion.

  The argument can be `NULL`.

`callback_data`

  Type: `gpointer`

  The data to pass to `callback`.

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