### Method

# Xdp Portal create_screencast_session

#### Declaration [src]

    void
    xdp_portal_create_screencast_session (
      XdpPortal* portal,
      XdpOutputType outputs,
      XdpScreencastFlags flags,
      XdpCursorMode cursor_mode,
      XdpPersistMode persist_mode,
      const char* restore_token,
      GCancellable* cancellable,
      GAsyncReadyCallback callback,
      gpointer data
    )

#### Description [src]

Creates a session for a screencast.

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

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

#### Parameters

`outputs`

  Type: `XdpOutputType`

  Which kinds of source to offer in the dialog.

`flags`

  Type: `XdpScreencastFlags`

  Options for this call.

`cursor_mode`

  Type: `XdpCursorMode`

  The cursor mode of the session.

`persist_mode`

  Type: `XdpPersistMode`

  The persist mode of the session.

`restore_token`

  Type: `const char*`

  The token of a previous screencast session to restore.

  The argument can be `NULL`.
  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`

  A callback to call when the request is done.

  The argument can be `NULL`.

`data`

  Type: `gpointer`

  Data to pass to `callback`.

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