### Method

# Xdp Portal dynamic_launcher_prepare_install

#### Declaration [src]

    void
    xdp_portal_dynamic_launcher_prepare_install (
      XdpPortal* portal,
      XdpParent* parent,
      const char* name,
      GVariant* icon_v,
      XdpLauncherType launcher_type,
      const char* target,
      gboolean editable_name,
      gboolean editable_icon,
      GCancellable* cancellable,
      GAsyncReadyCallback callback,
      gpointer data
    )

#### Description [src]

Presents a dialog to the user so they can confirm they want to install a launcher to their desktop.

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

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

#### Parameters

`parent`

  Type: `XdpParent`

  Parent window information.

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

`name`

  Type: `const char*`

  The name for the launcher.

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

`icon_v`

  Type: `GVariant`

  A `GBytesIcon` as returned by g_icon_serialize(). Must be a png or jpeg no larger than 512x512, or an svg.

  The data is owned by the caller of the method.

`launcher_type`

  Type: `XdpLauncherType`

  The type of the launcher.

`target`

  Type: `const char*`

  The URL if the launcher is for a web app, 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.

`editable_name`

  Type: `gboolean`

  If `TRUE`, the user will be able to edit the name of the launcher.

`editable_icon`

  Type: `gboolean`

  If `TRUE`, the user will be able to edit the icon of the launcher, if the implementation supports this.

`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.