SecretPrompt

SecretPrompt — a prompt in the Service

Synopsis

#include <libsecret/secret.h>

struct              SecretPrompt;
struct              SecretPromptClass;
void                secret_prompt_perform               (SecretPrompt *self,
                                                         gulong window_id,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
GVariant *          secret_prompt_perform_finish        (SecretPrompt *self,
                                                         GAsyncResult *result,
                                                         const GVariantType *return_type,
                                                         GError **error);
GVariant *          secret_prompt_perform_sync          (SecretPrompt *self,
                                                         gulong window_id,
                                                         GCancellable *cancellable,
                                                         const GVariantType *return_type,
                                                         GError **error);
GVariant *          secret_prompt_run                   (SecretPrompt *self,
                                                         gulong window_id,
                                                         GCancellable *cancellable,
                                                         const GVariantType *return_type,
                                                         GError **error);

Object Hierarchy

  GObject
   +----GDBusProxy
         +----SecretPrompt

Implemented Interfaces

SecretPrompt implements GDBusInterface, GInitable and GAsyncInitable.

Description

A SecretPrompt represents a prompt in the Secret Service.

Certain actions on the Secret Service require user prompting to complete, such as creating a collection, or unlocking a collection. When such a prompt is necessary, then a SecretPrompt object is created by this library, and passed to the secret_service_prompt() method. In this way it is handled automatically.

In order to customize prompt handling, override the SecretServiceClass::prompt_async and SecretServiceClass::prompt_finish virtual methods of the SecretService class.

These functions have an unstable API and may change across versions. Use libsecret-unstable package to access them.

Details

struct SecretPrompt

struct SecretPrompt;

A proxy object representing a prompt that the Secret Service will display to the user.


struct SecretPromptClass

struct SecretPromptClass {
	GDBusProxyClass parent_class;
};

The class for SecretPrompt.

GDBusProxyClass parent_class;

the parent class

secret_prompt_perform ()

void                secret_prompt_perform               (SecretPrompt *self,
                                                         gulong window_id,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Runs a prompt and performs the prompting. Returns TRUE if the prompt was completed and not dismissed.

If window_id is non-zero then it is used as an XWindow id. The Secret Service can make its prompt transient for the window with this id. In some Secret Service implementations this is not possible, so the behavior depending on this should degrade gracefully.

This method will return immediately and complete asynchronously.

self :

a prompt

window_id :

XWindow id for parent window to be transient for

cancellable :

optional cancellation object

callback :

called when the operation completes

user_data :

data to be passed to the callback

secret_prompt_perform_finish ()

GVariant *          secret_prompt_perform_finish        (SecretPrompt *self,
                                                         GAsyncResult *result,
                                                         const GVariantType *return_type,
                                                         GError **error);

Complete asynchronous operation to run a prompt and perform the prompting.

Returns a variant result if the prompt was completed and not dismissed. The type of result depends on the action the prompt is completing, and is defined in the Secret Service DBus API specification.

self :

a prompt

result :

the asynchronous result passed to the callback

return_type :

the variant type of the prompt result

error :

location to place an error on failure

Returns :

NULL if the prompt was dismissed or an error occurred, a variant result if the prompt was successful. [transfer full]

secret_prompt_perform_sync ()

GVariant *          secret_prompt_perform_sync          (SecretPrompt *self,
                                                         gulong window_id,
                                                         GCancellable *cancellable,
                                                         const GVariantType *return_type,
                                                         GError **error);

Runs a prompt and performs the prompting. Returns a variant result if the prompt was completed and not dismissed. The type of result depends on the action the prompt is completing, and is defined in the Secret Service DBus API specification.

If window_id is non-zero then it is used as an XWindow id. The Secret Service can make its prompt transient for the window with this id. In some Secret Service implementations this is not possible, so the behavior depending on this should degrade gracefully.

This method may block indefinitely and should not be used in user interface threads.

self :

a prompt

window_id :

XWindow id for parent window to be transient for

cancellable :

optional cancellation object

return_type :

the variant type of the prompt result

error :

location to place an error on failure

Returns :

NULL if the prompt was dismissed or an error occurred. [transfer full]

secret_prompt_run ()

GVariant *          secret_prompt_run                   (SecretPrompt *self,
                                                         gulong window_id,
                                                         GCancellable *cancellable,
                                                         const GVariantType *return_type,
                                                         GError **error);

Runs a prompt and performs the prompting. Returns a variant result if the prompt was completed and not dismissed. The type of result depends on the action the prompt is completing, and is defined in the Secret Service DBus API specification.

If window_id is non-zero then it is used as an XWindow id. The Secret Service can make its prompt transient for the window with this id. In some Secret Service implementations this is not possible, so the behavior depending on this should degrade gracefully.

This runs the dialog in a recursive mainloop. When run from a user interface thread, this means the user interface will remain responsive. Care should be taken that appropriate user interface actions are disabled while running the prompt.

self :

a prompt

window_id :

XWindow id for parent window to be transient for

cancellable :

optional cancellation object

return_type :

the variant type of the prompt result

error :

location to place an error on failure

Returns :

NULL if the prompt was dismissed or an error occurred. [transfer full]