### Method

# EBackend UserPrompter extension_prompt_sync

since: 3.8

#### Declaration [src]

    gint
    e_user_prompter_extension_prompt_sync (
      EUserPrompter* prompter,
      const gchar* dialog_name,
      const ENamedParameters* in_parameters,
      ENamedParameters* out_values,
      GCancellable* cancellable,
      GError** error
    )

#### Description [src]

Synchronously prompt a user for a decision on an extension-provided dialog. The caller usually provides an extension for `EUserPrompterServer`, a descendant of `EUserPrompterServerExtension`, which registers itself as a dialog provider. The extension defines `dialog_name`, same as meaning of `in_parameters`; only the extension and the caller know about meaning of these.

Caller can provide `out_values` to get additional values provided by the extension. In case the caller is not interested in additional values, it can pass `NULL` `out_values`. The `out_values` will be cleared first, then any values will be added there. Only the caller and the extension know about meaning of the result code and additional values.

If an error occurred, the function sets `error` and returns -1. If there is no extension providing given dialog name, the operation finishes with a G_IO_ERROR, G_IO_ERROR_NOT_FOUND `error`.

Available since: 3.8

#### Parameters

`dialog_name`

  Type: `const gchar*`

  Name of a dialog to invoke.

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

`in_parameters`

  Type: `ENamedParameters`

  Optional parameters to pass to extension; can be `NULL`.

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

`out_values`

  Type: `ENamedParameters`

  Where to store values from the extension, or `NULL`.

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

`cancellable`

  Type: `GCancellable`

  Optional `GCancellable` object, or `NULL`.

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

`error`

  Type: `GError **`

  The return location for a recoverable error.

  The argument can be `NULL`.
  If the return location is not `NULL`, then you must initialize it to a `NULL` `GError*`.
  The argument will be left initialized to `NULL` by the method if there are no errors.
  In case of error, the argument will be set to a newly allocated `GError`; the caller will take ownership of the data, and be responsible for freeing it.

#### Return value

Type: `gint`

Result code of the prompt, as defined by the extension, or -1 on error.