SecretService

SecretService — the Secret Service

Synopsis

#include <secret/secret-unstable.h>

                    SecretService;
struct              SecretServiceClass;
enum                SecretServiceFlags;
void                secret_service_get                  (SecretServiceFlags flags,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
SecretService *     secret_service_get_sync             (SecretServiceFlags flags,
                                                         GCancellable *cancellable,
                                                         GError **error);
SecretService *     secret_service_get_finish           (GAsyncResult *result,
                                                         GError **error);
void                secret_service_new                  (const gchar *service_bus_name,
                                                         SecretServiceFlags flags,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
SecretService *     secret_service_new_finish           (GAsyncResult *result,
                                                         GError **error);
SecretService *     secret_service_new_sync             (const gchar *service_bus_name,
                                                         SecretServiceFlags flags,
                                                         GCancellable *cancellable,
                                                         GError **error);
GList *             secret_service_get_collections      (SecretService *self);
SecretServiceFlags  secret_service_get_flags            (SecretService *self);
const gchar *       secret_service_get_session_algorithms
                                                        (SecretService *self);
const gchar *       secret_service_get_session_path     (SecretService *self);
void                secret_service_ensure_session       (SecretService *self,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
const gchar *       secret_service_ensure_session_finish
                                                        (SecretService *self,
                                                         GAsyncResult *result,
                                                         GError **error);
const gchar *       secret_service_ensure_session_sync  (SecretService *self,
                                                         GCancellable *cancellable,
                                                         GError **error);
void                secret_service_ensure_collections   (SecretService *self,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gboolean            secret_service_ensure_collections_finish
                                                        (SecretService *self,
                                                         GAsyncResult *result,
                                                         GError **error);
gboolean            secret_service_ensure_collections_sync
                                                        (SecretService *self,
                                                         GCancellable *cancellable,
                                                         GError **error);
void                secret_service_search               (SecretService *self,
                                                         GHashTable *attributes,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gboolean            secret_service_search_finish        (SecretService *self,
                                                         GAsyncResult *result,
                                                         GList **unlocked,
                                                         GList **locked,
                                                         GError **error);
gboolean            secret_service_search_sync          (SecretService *self,
                                                         GHashTable *attributes,
                                                         GCancellable *cancellable,
                                                         GList **unlocked,
                                                         GList **locked,
                                                         GError **error);
void                secret_service_search_for_paths     (SecretService *self,
                                                         GHashTable *attributes,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gboolean            secret_service_search_for_paths_finish
                                                        (SecretService *self,
                                                         GAsyncResult *result,
                                                         gchar ***unlocked,
                                                         gchar ***locked,
                                                         GError **error);
gboolean            secret_service_search_for_paths_sync
                                                        (SecretService *self,
                                                         GHashTable *attributes,
                                                         GCancellable *cancellable,
                                                         gchar ***unlocked,
                                                         gchar ***locked,
                                                         GError **error);
void                secret_service_get_secrets          (SecretService *self,
                                                         GList *items,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
GHashTable *        secret_service_get_secrets_finish   (SecretService *self,
                                                         GAsyncResult *result,
                                                         GError **error);
GHashTable *        secret_service_get_secrets_sync     (SecretService *self,
                                                         GList *items,
                                                         GCancellable *cancellable,
                                                         GError **error);
void                secret_service_get_secrets_for_paths
                                                        (SecretService *self,
                                                         const gchar **item_paths,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
GHashTable *        secret_service_get_secrets_for_paths_finish
                                                        (SecretService *self,
                                                         GAsyncResult *result,
                                                         GError **error);
GHashTable *        secret_service_get_secrets_for_paths_sync
                                                        (SecretService *self,
                                                         const gchar **item_paths,
                                                         GCancellable *cancellable,
                                                         GError **error);
void                secret_service_get_secret_for_path  (SecretService *self,
                                                         const gchar *item_path,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
SecretValue *       secret_service_get_secret_for_path_finish
                                                        (SecretService *self,
                                                         GAsyncResult *result,
                                                         GError **error);
SecretValue *       secret_service_get_secret_for_path_sync
                                                        (SecretService *self,
                                                         const gchar *item_path,
                                                         GCancellable *cancellable,
                                                         GError **error);
void                secret_service_lock                 (SecretService *self,
                                                         GList *objects,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gint                secret_service_lock_finish          (SecretService *self,
                                                         GAsyncResult *result,
                                                         GList **locked,
                                                         GError **error);
gint                secret_service_lock_sync            (SecretService *self,
                                                         GList *objects,
                                                         GCancellable *cancellable,
                                                         GList **locked,
                                                         GError **error);
void                secret_service_lock_paths           (SecretService *self,
                                                         const gchar **paths,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gint                secret_service_lock_paths_finish    (SecretService *self,
                                                         GAsyncResult *result,
                                                         gchar ***locked,
                                                         GError **error);
gint                secret_service_lock_paths_sync      (SecretService *self,
                                                         const gchar **paths,
                                                         GCancellable *cancellable,
                                                         gchar ***locked,
                                                         GError **error);
void                secret_service_unlock               (SecretService *self,
                                                         GList *objects,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gint                secret_service_unlock_finish        (SecretService *self,
                                                         GAsyncResult *result,
                                                         GList **unlocked,
                                                         GError **error);
gint                secret_service_unlock_sync          (SecretService *self,
                                                         GList *objects,
                                                         GCancellable *cancellable,
                                                         GList **unlocked,
                                                         GError **error);
void                secret_service_unlock_paths         (SecretService *self,
                                                         const gchar **paths,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gint                secret_service_unlock_paths_finish  (SecretService *self,
                                                         GAsyncResult *result,
                                                         gchar ***unlocked,
                                                         GError **error);
gint                secret_service_unlock_paths_sync    (SecretService *self,
                                                         const gchar **paths,
                                                         GCancellable *cancellable,
                                                         gchar ***unlocked,
                                                         GError **error);
void                secret_service_store                (SecretService *self,
                                                         const SecretSchema *schema,
                                                         const gchar *collection_path,
                                                         const gchar *label,
                                                         SecretValue *value,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data,
                                                         ...);
void                secret_service_storev               (SecretService *self,
                                                         const SecretSchema *schema,
                                                         GHashTable *attributes,
                                                         const gchar *collection_path,
                                                         const gchar *label,
                                                         SecretValue *value,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gboolean            secret_service_store_finish         (SecretService *self,
                                                         GAsyncResult *result,
                                                         GError **error);
gboolean            secret_service_store_sync           (SecretService *self,
                                                         const SecretSchema *schema,
                                                         const gchar *collection_path,
                                                         const gchar *label,
                                                         SecretValue *value,
                                                         GCancellable *cancellable,
                                                         GError **error,
                                                         ...);
gboolean            secret_service_storev_sync          (SecretService *self,
                                                         const SecretSchema *schema,
                                                         GHashTable *attributes,
                                                         const gchar *collection_path,
                                                         const gchar *label,
                                                         SecretValue *value,
                                                         GCancellable *cancellable,
                                                         GError **error);
void                secret_service_lookup               (SecretService *self,
                                                         const SecretSchema *schema,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data,
                                                         ...);
void                secret_service_lookupv              (SecretService *self,
                                                         const SecretSchema *schema,
                                                         GHashTable *attributes,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
SecretValue *       secret_service_lookup_finish        (SecretService *self,
                                                         GAsyncResult *result,
                                                         GError **error);
SecretValue *       secret_service_lookup_sync          (SecretService *self,
                                                         const SecretSchema *schema,
                                                         GCancellable *cancellable,
                                                         GError **error,
                                                         ...);
SecretValue *       secret_service_lookupv_sync         (SecretService *self,
                                                         const SecretSchema *schema,
                                                         GHashTable *attributes,
                                                         GCancellable *cancellable,
                                                         GError **error);
void                secret_service_remove               (SecretService *self,
                                                         const SecretSchema *schema,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data,
                                                         ...);
void                secret_service_removev              (SecretService *self,
                                                         const SecretSchema *schema,
                                                         GHashTable *attributes,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gboolean            secret_service_remove_finish        (SecretService *self,
                                                         GAsyncResult *result,
                                                         GError **error);
gboolean            secret_service_remove_sync          (SecretService *self,
                                                         const SecretSchema *schema,
                                                         GCancellable *cancellable,
                                                         GError **error,
                                                         ...);
gboolean            secret_service_removev_sync         (SecretService *self,
                                                         const SecretSchema *schema,
                                                         GHashTable *attributes,
                                                         GCancellable *cancellable,
                                                         GError **error);
void                secret_service_prompt               (SecretService *self,
                                                         SecretPrompt *prompt,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gboolean            secret_service_prompt_finish        (SecretService *self,
                                                         GAsyncResult *result,
                                                         GError **error);
gboolean            secret_service_prompt_sync          (SecretService *self,
                                                         SecretPrompt *prompt,
                                                         GCancellable *cancellable,
                                                         GError **error);
void                secret_service_create_collection_path
                                                        (SecretService *self,
                                                         GHashTable *properties,
                                                         const gchar *alias,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gchar *             secret_service_create_collection_path_finish
                                                        (SecretService *self,
                                                         GAsyncResult *result,
                                                         GError **error);
gchar *             secret_service_create_collection_path_sync
                                                        (SecretService *self,
                                                         GHashTable *properties,
                                                         const gchar *alias,
                                                         GCancellable *cancellable,
                                                         GError **error);
void                secret_service_create_item_path     (SecretService *self,
                                                         const gchar *collection_path,
                                                         GHashTable *properties,
                                                         SecretValue *value,
                                                         gboolean replace,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gchar *             secret_service_create_item_path_finish
                                                        (SecretService *self,
                                                         GAsyncResult *result,
                                                         GError **error);
gchar *             secret_service_create_item_path_sync
                                                        (SecretService *self,
                                                         const gchar *collection_path,
                                                         GHashTable *properties,
                                                         SecretValue *value,
                                                         gboolean replace,
                                                         GCancellable *cancellable,
                                                         GError **error);
void                secret_service_delete_path          (SecretService *self,
                                                         const gchar *item_path,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gboolean            secret_service_delete_path_finish   (SecretService *self,
                                                         GAsyncResult *result,
                                                         GError **error);
gboolean            secret_service_delete_path_sync     (SecretService *self,
                                                         const gchar *item_path,
                                                         GCancellable *cancellable,
                                                         GError **error);

Object Hierarchy

  GObject
   +----GDBusProxy
         +----SecretService
  GFlags
   +----SecretServiceFlags

Implemented Interfaces

SecretService implements GDBusInterface, GInitable and GAsyncInitable.

Properties

  "collections"              SecretObjectList*     : Read
  "flags"                    SecretServiceFlags    : Read / Write / Construct Only

Description

A SecretService object represents the Secret Service implementation which runs as a D-Bus service.

Normally a single SecretService object can be shared between multiple callers. The secret_service_get() method is used to access this SecretService object. If a new independent SecretService object is required, use secret_service_new().

In order to securely transfer secrets to the Sercret Service, an session is established. This session can be established while initializing a SecretService object by passing the SECRET_SERVICE_OPEN_SESSION flag to the secret_service_get() or secret_service_new() functions. In order to establish a session on an already existing SecretService, use the secret_service_ensure_session() function.

To search for items, use the secret_service_search() method.

Multiple collections can exist in the Secret Service, each of which contains secret items. In order to instantiate SecretCollection objects which represent those collections while initializing a SecretService then pass the SECRET_SERVICE_LOAD_COLLECTIONS flag to the secret_service_get() or secret_service_new() functions. In order to establish a session on an already existing SecretService, use the secret_service_ensure_collections() function. To access the list of collections use secret_service_get_collections().

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 prompt_async and prompt_finish virtual methods of the SecretService class.

stability: Unstable

Details

SecretService

typedef struct _SecretService SecretService;

A proxy object representing the Secret Service.


struct SecretServiceClass

struct SecretServiceClass {
	GDBusProxyClass parent_class;

	GType collection_gtype;
	GType item_gtype;

	gboolean (*prompt_sync)          (SecretService *self,
	                                  SecretPrompt *prompt,
	                                  GCancellable *cancellable,
	                                  GError **error);

	void     (*prompt_async)         (SecretService *self,
	                                  SecretPrompt *prompt,
	                                  GCancellable *cancellable,
	                                  GAsyncReadyCallback callback,
	                                  gpointer user_data);

	gboolean (*prompt_finish)        (SecretService *self,
	                                  GAsyncResult *result,
	                                  GError **error);
};

The class for SecretService.

GDBusProxyClass parent_class;

the parent class

GType collection_gtype;

the GType of the SecretCollection objects instantiated by the SecretService proxy

GType item_gtype;

the GType of the SecretItem objects instantiated by the SecretService proxy

prompt_sync ()

called to perform synchronous prompting when necessary

prompt_async ()

called to perform asynchronous prompting when necessary

prompt_finish ()

called to complete an asynchronous prompt operation

enum SecretServiceFlags

typedef enum {
	SECRET_SERVICE_NONE,
	SECRET_SERVICE_OPEN_SESSION = 1 << 1,
	SECRET_SERVICE_LOAD_COLLECTIONS = 1 << 2,
} SecretServiceFlags;

Flags which determine which parts of the SecretService proxy are initialized during a secret_service_get() or secret_service_new() operation.

SECRET_SERVICE_NONE

no flags for initializing the SecretService

SECRET_SERVICE_OPEN_SESSION

establish a session for transfer of secrets while initializing the SecretService

SECRET_SERVICE_LOAD_COLLECTIONS

load collections while initializing the SecretService

secret_service_get ()

void                secret_service_get                  (SecretServiceFlags flags,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Get a SecretService proxy for the Secret Service. If such a proxy object already exists, then the same proxy is returned.

If flags contains any flags of which parts of the secret service to ensure are initialized, then those will be initialized before completing.

This method will return immediately and complete asynchronously.

flags :

flags for which service functionality to ensure is initialized

cancellable :

optional cancellation object

callback :

called when the operation completes

user_data :

data to be passed to the callback

secret_service_get_sync ()

SecretService *     secret_service_get_sync             (SecretServiceFlags flags,
                                                         GCancellable *cancellable,
                                                         GError **error);

Get a SecretService proxy for the Secret Service. If such a proxy object already exists, then the same proxy is returned.

If flags contains any flags of which parts of the secret service to ensure are initialized, then those will be initialized before returning.

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

flags :

flags for which service functionality to ensure is initialized

cancellable :

optional cancellation object

error :

location to place an error on failure

Returns :

a new reference to a SecretService proxy, which should be released with g_object_unref(). [transfer full]

secret_service_get_finish ()

SecretService *     secret_service_get_finish           (GAsyncResult *result,
                                                         GError **error);

Complete an asynchronous operation to get a SecretService proxy for the Secret Service.

result :

the asynchronous result passed to the callback

error :

location to place an error on failure

Returns :

a new reference to a SecretService proxy, which should be released with g_object_unref(). [transfer full]

secret_service_new ()

void                secret_service_new                  (const gchar *service_bus_name,
                                                         SecretServiceFlags flags,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Create a new SecretService proxy for the Secret Service.

This function is rarely used, see secret_service_get() instead.

If flags contains any flags of which parts of the secret service to ensure are initialized, then those will be initialized before returning.

If service_bus_name is NULL then the default is used.

This method will return immediately and complete asynchronously.

service_bus_name :

the D-Bus service name of the secret service. [allow-none]

flags :

flags for which service functionality to ensure is initialized

cancellable :

optional cancellation object

callback :

called when the operation completes

user_data :

data to be passed to the callback

secret_service_new_finish ()

SecretService *     secret_service_new_finish           (GAsyncResult *result,
                                                         GError **error);

Complete an asynchronous operation to create a new SecretService proxy for the Secret Service.

result :

the asynchronous result passed to the callback

error :

location to place an error on failure

Returns :

a new reference to a SecretService proxy, which should be released with g_object_unref(). [transfer full]

secret_service_new_sync ()

SecretService *     secret_service_new_sync             (const gchar *service_bus_name,
                                                         SecretServiceFlags flags,
                                                         GCancellable *cancellable,
                                                         GError **error);

Create a new SecretService proxy for the Secret Service.

This function is rarely used, see secret_service_get_sync() instead.

If flags contains any flags of which parts of the secret service to ensure are initialized, then those will be initialized before returning.

If service_bus_name is NULL then the default is used.

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

service_bus_name :

the D-Bus service name of the secret service. [allow-none]

flags :

flags for which service functionality to ensure is initialized

cancellable :

optional cancellation object

error :

location to place an error on failure

Returns :

a new reference to a SecretService proxy, which should be released with g_object_unref(). [transfer full]

secret_service_get_collections ()

GList *             secret_service_get_collections      (SecretService *self);

Get a list of SecretCollection objects representing all the collections in the secret service.

If the SECRET_SERVICE_LOAD_COLLECTIONS flag was not specified when initializing SecretService proxy object, then this method will return NULL. Use secret_service_ensure_collections() to load the collections.

self :

the secret service proxy

Returns :

a list of the collections in the secret service. [transfer full][element-type Secret.Collection][allow-none]

secret_service_get_flags ()

SecretServiceFlags  secret_service_get_flags            (SecretService *self);

Get the flags representing what features of the SecretService proxy have been initialized.

Use secret_service_ensure_session() or secret_service_ensure_collections() to initialize further features and change the flags.

self :

the secret service proxy

Returns :

the flags for features initialized

secret_service_get_session_algorithms ()

const gchar *       secret_service_get_session_algorithms
                                                        (SecretService *self);

Get the set of algorithms being used to transfer secrets between this secret service proxy and the Secret Service itself.

This will be NULL if no session has been established. Use secret_service_ensure_session() to establish a session.

self :

the secret service proxy

Returns :

a string representing the algorithms for transferring secrets. [allow-none]

secret_service_get_session_path ()

const gchar *       secret_service_get_session_path     (SecretService *self);

Get the D-Bus object path of the session object being used to transfer secrets between this secret service proxy and the Secret Service itself.

This will be NULL if no session has been established. Use secret_service_ensure_session() to establish a session.

self :

the secret service proxy

Returns :

a string representing the D-Bus object path of the session. [allow-none]

secret_service_ensure_session ()

void                secret_service_ensure_session       (SecretService *self,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Ensure that the SecretService proxy has established a session with the Secret Service. This session is used to transfer secrets.

It is not normally necessary to call this method, as the session is established as necessary. You can also pass the SECRET_SERVICE_OPEN_SESSION to secret_service_get() in order to ensure that a session has been established by the time you get the SecretService proxy.

This method will return immediately and complete asynchronously.

self :

the secret service

cancellable :

optional cancellation object

callback :

called when the operation completes

user_data :

data to be passed to the callback

secret_service_ensure_session_finish ()

const gchar *       secret_service_ensure_session_finish
                                                        (SecretService *self,
                                                         GAsyncResult *result,
                                                         GError **error);

Finish an asynchronous operation to ensure that the SecretService proxy has established a session with the Secret Service.

self :

the secret service

result :

the asynchronous result passed to the callback

error :

location to place an error on failure

Returns :

the path of the established session

secret_service_ensure_session_sync ()

const gchar *       secret_service_ensure_session_sync  (SecretService *self,
                                                         GCancellable *cancellable,
                                                         GError **error);

Ensure that the SecretService proxy has established a session with the Secret Service. This session is used to transfer secrets.

It is not normally necessary to call this method, as the session is established as necessary. You can also pass the SECRET_SERVICE_OPEN_SESSION to secret_service_get_sync() in order to ensure that a session has been established by the time you get the SecretService proxy.

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

self :

the secret service

cancellable :

optional cancellation object

error :

location to place an error on failure

Returns :

the path of the established session

secret_service_ensure_collections ()

void                secret_service_ensure_collections   (SecretService *self,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Ensure that the SecretService proxy has loaded all the collections present in the Secret Service. This affects the result of secret_service_get_collections().

You can also pass the SECRET_SERVICE_LOAD_COLLECTIONS to secret_service_get_sync() in order to ensure that the collections have been loaded by the time you get the SecretService proxy.

This method will return immediately and complete asynchronously.

self :

the secret service

cancellable :

optional cancellation object

callback :

called when the operation completes

user_data :

data to be passed to the callback

secret_service_ensure_collections_finish ()

gboolean            secret_service_ensure_collections_finish
                                                        (SecretService *self,
                                                         GAsyncResult *result,
                                                         GError **error);

Complete an asynchronous operation to ensure that the SecretService proxy has loaded all the collections present in the Secret Service.

self :

the secret service

result :

the asynchronous result passed to the callback

error :

location to place an error on failure

Returns :

whether the load was successful or not

secret_service_ensure_collections_sync ()

gboolean            secret_service_ensure_collections_sync
                                                        (SecretService *self,
                                                         GCancellable *cancellable,
                                                         GError **error);

Ensure that the SecretService proxy has loaded all the collections present in the Secret Service. This affects the result of secret_service_get_collections().

You can also pass the SECRET_SERVICE_LOAD_COLLECTIONS to secret_service_get_sync() in order to ensure that the collections have been loaded by the time you get the SecretService proxy.

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

self :

the secret service

cancellable :

optional cancellation object

error :

location to place an error on failure

Returns :

whether the load was successful or not

secret_service_search ()

void                secret_service_search               (SecretService *self,
                                                         GHashTable *attributes,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Search for items matching the attributes. All collections are searched. The attributes should be a table of string keys and string values.

This function returns immediately and completes asynchronously.

When your callback is called use secret_service_search_finish() to get the results of this function. SecretItem proxy objects will be returned. If you prefer to only have the items D-Bus object paths returned, then then use the secret_service_search_for_paths() function.

self :

the secret service

attributes :

search for items matching these attributes. [element-type utf8 utf8]

cancellable :

optional cancellation object

callback :

called when the operation completes

user_data :

data to pass to the callback

secret_service_search_finish ()

gboolean            secret_service_search_finish        (SecretService *self,
                                                         GAsyncResult *result,
                                                         GList **unlocked,
                                                         GList **locked,
                                                         GError **error);

Complete asynchronous operation to search for items.

Matching items that are locked or unlocked are placed in the locked or unlocked lists respectively.

SecretItem proxy objects will be returned. If you prefer to only have the items' D-Bus object paths returned, then then use the secret_service_search_for_paths() function.

self :

the secret service

result :

asynchronous result passed to callback

unlocked :

location to place a list of matching items which were not locked. [out][transfer full][element-type Secret.Item][allow-none]

locked :

location to place a list of matching items which were locked. [out][transfer full][element-type Secret.Item][allow-none]

error :

location to place error on failure

Returns :

whether the search was successful or not

secret_service_search_sync ()

gboolean            secret_service_search_sync          (SecretService *self,
                                                         GHashTable *attributes,
                                                         GCancellable *cancellable,
                                                         GList **unlocked,
                                                         GList **locked,
                                                         GError **error);

Search for items matching the attributes. All collections are searched. The attributes should be a table of string keys and string values.

This function may block indefinetely. Use the asynchronous version in user interface threads.

Matching items that are locked or unlocked are placed in the locked or unlocked lists respectively.

SecretItem proxy objects will be returned. If you prefer to only have the items' D-Bus object paths returned, then then use the secret_service_search_sync() function.

self :

the secret service

attributes :

search for items matching these attributes. [element-type utf8 utf8]

cancellable :

optional cancellation object

unlocked :

location to place a list of matching items which were not locked. [out][transfer full][element-type Secret.Item][allow-none]

locked :

location to place a list of matching items which were locked. [out][transfer full][element-type Secret.Item][allow-none]

error :

location to place error on failure

Returns :

whether the search was successful or not

secret_service_search_for_paths ()

void                secret_service_search_for_paths     (SecretService *self,
                                                         GHashTable *attributes,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Search for items matching the attributes, and return their D-Bus object paths. All collections are searched. The attributes should be a table of string keys and string values.

This function returns immediately and completes asynchronously.

When your callback is called use secret_service_search_for_paths_finish() to get the results of this function. Only the D-Bus object paths of the items will be returned. If you would like SecretItem objects to be returned instead, then use the secret_service_search() function.

self :

the secret service

attributes :

search for items matching these attributes. [element-type utf8 utf8]

cancellable :

optional cancellation object

callback :

called when the operation completes

user_data :

data to pass to the callback

secret_service_search_for_paths_finish ()

gboolean            secret_service_search_for_paths_finish
                                                        (SecretService *self,
                                                         GAsyncResult *result,
                                                         gchar ***unlocked,
                                                         gchar ***locked,
                                                         GError **error);

Complete asynchronous operation to search for items, and return their D-Bus object paths.

Matching items that are locked or unlocked, have their D-Bus paths placed in the locked or unlocked arrays respectively.

D-Bus object paths of the items will be returned in the unlocked or locked arrays. If you would to have SecretItem objects to be returned instead, then us the secret_service_search() and secret_service_search_finish() functions.

self :

the secret service

result :

asynchronous result passed to callback

unlocked :

location to place an array of D-Bus object paths for matching items which were locked. [out][transfer full][array zero-terminated=1][allow-none]

locked :

location to place an array of D-Bus object paths for matching items which were locked. [out][transfer full][array zero-terminated=1][allow-none]

error :

location to place error on failure

Returns :

whether the search was successful or not

secret_service_search_for_paths_sync ()

gboolean            secret_service_search_for_paths_sync
                                                        (SecretService *self,
                                                         GHashTable *attributes,
                                                         GCancellable *cancellable,
                                                         gchar ***unlocked,
                                                         gchar ***locked,
                                                         GError **error);

Search for items matching the attributes, and return their D-Bus object paths. All collections are searched. The attributes should be a table of string keys and string values.

This function may block indefinetely. Use the asynchronous version in user interface threads.

Matching items that are locked or unlocked, have their D-Bus paths placed in the locked or unlocked arrays respectively.

D-Bus object paths of the items will be returned in the unlocked or locked arrays. If you would to have SecretItem objects to be returned instead, then use the secret_service_search_sync() function.

self :

the secret service

attributes :

search for items matching these attributes. [element-type utf8 utf8]

cancellable :

optional cancellation object

unlocked :

location to place an array of D-Bus object paths for matching items which were locked. [out][transfer full][array zero-terminated=1][allow-none]

locked :

location to place an array of D-Bus object paths for matching items which were locked. [out][transfer full][array zero-terminated=1][allow-none]

error :

location to place error on failure

Returns :

whether the search was successful or not

secret_service_get_secrets ()

void                secret_service_get_secrets          (SecretService *self,
                                                         GList *items,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Get the secret values for an secret items stored in the service.

This method takes a list of SecretItem proxy objects. If you only have the D-Bus object paths of the items, use secret_service_get_secrets_for_paths() instead.

This function returns immediately and completes asynchronously.

self :

the secret service

items :

the items to retrieve secrets for. [element-type Secret.Item]

cancellable :

optional cancellation object

callback :

called when the operation completes

user_data :

data to pass to the callback

secret_service_get_secrets_finish ()

GHashTable *        secret_service_get_secrets_finish   (SecretService *self,
                                                         GAsyncResult *result,
                                                         GError **error);

Complete asynchronous operation to get the secret values for an secret items stored in the service.

Items that are locked will not be included the results.

self :

the secret service

result :

asynchronous result passed to callback

error :

location to place an error on failure

Returns :

a newly allocated hash table of SecretItem keys to SecretValue values. [transfer full]

secret_service_get_secrets_sync ()

GHashTable *        secret_service_get_secrets_sync     (SecretService *self,
                                                         GList *items,
                                                         GCancellable *cancellable,
                                                         GError **error);

Get the secret values for an secret items stored in the service.

This method takes a list of SecretItem proxy objects. If you only have the D-Bus object paths of the items, use secret_service_get_secrets_for_paths_sync() instead.

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

Items that are locked will not be included the results.

self :

the secret service

items :

the items to retrieve secrets for. [element-type Secret.Item]

cancellable :

optional cancellation object

error :

location to place an error on failure

Returns :

a newly allocated hash table of SecretItem keys to SecretValue values. [transfer full]

secret_service_get_secrets_for_paths ()

void                secret_service_get_secrets_for_paths
                                                        (SecretService *self,
                                                         const gchar **item_paths,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Get the secret values for an secret items stored in the service.

The items are represented by their D-Bus object paths. If you already have SecretItem proxy objects, use use secret_service_get_secrets() to more simply get their secret values.

This function returns immediately and completes asynchronously.

self :

the secret service

item_paths :

the D-Bus paths to items to retrieve secrets for

cancellable :

optional cancellation object

callback :

called when the operation completes

user_data :

data to pass to the callback

secret_service_get_secrets_for_paths_finish ()

GHashTable *        secret_service_get_secrets_for_paths_finish
                                                        (SecretService *self,
                                                         GAsyncResult *result,
                                                         GError **error);

Complete asynchronous operation to get the secret values for an secret items stored in the service.

Items that are locked will not be included the results.

self :

the secret service

result :

asynchronous result passed to callback

error :

location to place an error on failure

Returns :

a newly allocated hash table of item_path keys to SecretValue values. [transfer full]

secret_service_get_secrets_for_paths_sync ()

GHashTable *        secret_service_get_secrets_for_paths_sync
                                                        (SecretService *self,
                                                         const gchar **item_paths,
                                                         GCancellable *cancellable,
                                                         GError **error);

Get the secret values for an secret items stored in the service.

The items are represented by their D-Bus object paths. If you already have SecretItem proxy objects, use use secret_service_get_secrets_sync() to more simply get their secret values.

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

Items that are locked will not be included the results.

self :

the secret service

item_paths :

the D-Bus paths to items to retrieve secrets for

cancellable :

optional cancellation object

error :

location to place an error on failure

Returns :

a newly allocated hash table of item_path keys to SecretValue values. [transfer full]

secret_service_get_secret_for_path ()

void                secret_service_get_secret_for_path  (SecretService *self,
                                                         const gchar *item_path,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Get the secret value for an secret item stored in the service.

The item is represented by its D-Bus object path. If you already have a SecretItem proxy object, use use secret_item_get_secret() to more simply get its secret value.

This function returns immediately and completes asynchronously.

self :

the secret service

item_path :

the D-Bus path to item to retrieve secret for

cancellable :

optional cancellation object

callback :

called when the operation completes

user_data :

data to pass to the callback

secret_service_get_secret_for_path_finish ()

SecretValue *       secret_service_get_secret_for_path_finish
                                                        (SecretService *self,
                                                         GAsyncResult *result,
                                                         GError **error);

Complete asynchronous operation to get the secret value for an secret item stored in the service.

Will return NULL if the item is locked.

self :

the secret service

result :

asynchronous result passed to callback

error :

location to place an error on failure

Returns :

the newly allocated secret value for the item, which should be released with secret_value_unref(). [transfer full][allow-none]

secret_service_get_secret_for_path_sync ()

SecretValue *       secret_service_get_secret_for_path_sync
                                                        (SecretService *self,
                                                         const gchar *item_path,
                                                         GCancellable *cancellable,
                                                         GError **error);

Get the secret value for an secret item stored in the service.

The item is represented by its D-Bus object path. If you already have a SecretItem proxy object, use use secret_item_get_secret_sync() to more simply get its secret value.

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

Will return NULL if the item is locked.

self :

the secret service

item_path :

the D-Bus path to item to retrieve secret for

cancellable :

optional cancellation object

error :

location to place an error on failure

Returns :

the newly allocated secret value for the item, which should be released with secret_value_unref(). [transfer full][allow-none]

secret_service_lock ()

void                secret_service_lock                 (SecretService *self,
                                                         GList *objects,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Lock items or collections in the secret service.

This method takes a list of SecretItem or SecretCollection proxy objects. If you only have the D-Bus object paths of the items or collections, use secret_service_lock_paths() instead.

The secret service may not be able to lock items individually, and may lock an entire collection instead.

This method returns immediately and completes asynchronously. The secret service may prompt the user. secret_service_prompt() will be used to handle any prompts that show up.

self :

the secret service

objects :

the items or collections to lock. [element-type GLib.DBusProxy]

cancellable :

optional cancellation object

callback :

called when the operation completes

user_data :

data to pass to the callback

secret_service_lock_finish ()

gint                secret_service_lock_finish          (SecretService *self,
                                                         GAsyncResult *result,
                                                         GList **locked,
                                                         GError **error);

Complete asynchronous operation to lock items or collections in the secret service.

The secret service may not be able to lock items individually, and may lock an entire collection instead.

self :

the secret service

result :

asynchronous result passed to the callback

locked :

location to place list of items or collections that were locked. [out][element-type GLib.DBusProxy][transfer full][allow-none]

error :

location to place an error on failure

Returns :

the number of items or collections that were locked

secret_service_lock_sync ()

gint                secret_service_lock_sync            (SecretService *self,
                                                         GList *objects,
                                                         GCancellable *cancellable,
                                                         GList **locked,
                                                         GError **error);

Lock items or collections in the secret service.

This method takes a list of SecretItem or SecretCollection proxy objects. If you only have the D-Bus object paths of the items or collections, use secret_service_lock_paths_sync() instead.

The secret service may not be able to lock items individually, and may lock an entire collection instead.

This method may block indefinitely and should not be used in user interface threads. The secret service may prompt the user. secret_service_prompt() will be used to handle any prompts that show up.

self :

the secret service

objects :

the items or collections to lock. [element-type GLib.DBusProxy]

cancellable :

optional cancellation object

locked :

location to place list of items or collections that were locked. [out][element-type GLib.DBusProxy][transfer full][allow-none]

error :

location to place an error on failure

Returns :

the number of items or collections that were locked

secret_service_lock_paths ()

void                secret_service_lock_paths           (SecretService *self,
                                                         const gchar **paths,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Lock items or collections in the secret service.

The items or collections are represented by their D-Bus object paths. If you already have SecretItem and SecretCollection proxy objects, use use secret_service_lock() instead.

The secret service may not be able to lock items individually, and may lock an entire collection instead.

This method returns immediately and completes asynchronously. The secret service may prompt the user. secret_service_prompt() will be used to handle any prompts that show up.

self :

the secret service

paths :

the D-Bus paths for items or collections to lock

cancellable :

optional cancellation object

callback :

called when the operation completes

user_data :

data to pass to the callback

secret_service_lock_paths_finish ()

gint                secret_service_lock_paths_finish    (SecretService *self,
                                                         GAsyncResult *result,
                                                         gchar ***locked,
                                                         GError **error);

Complete asynchronous operation to lock items or collections in the secret service.

The secret service may not be able to lock items individually, and may lock an entire collection instead.

self :

the secret service

result :

asynchronous result passed to the callback

locked :

location to place array of D-Bus paths of items or collections that were locked. [out][array zero-terminated=1][transfer full][allow-none]

error :

location to place an error on failure

Returns :

the number of items or collections that were locked

secret_service_lock_paths_sync ()

gint                secret_service_lock_paths_sync      (SecretService *self,
                                                         const gchar **paths,
                                                         GCancellable *cancellable,
                                                         gchar ***locked,
                                                         GError **error);

Lock items or collections in the secret service.

The items or collections are represented by their D-Bus object paths. If you already have SecretItem and SecretCollection proxy objects, use use secret_service_lock_sync() instead.

The secret service may not be able to lock items individually, and may lock an entire collection instead.

This method may block indefinitely and should not be used in user interface threads. The secret service may prompt the user. secret_service_prompt() will be used to handle any prompts that show up.

self :

the secret service

paths :

the D-Bus object paths of the items or collections to lock

cancellable :

optional cancellation object

locked :

location to place array of D-Bus paths of items or collections that were locked. [out][array zero-terminated=1][transfer full][allow-none]

error :

location to place an error on failure

Returns :

the number of items or collections that were locked

secret_service_unlock ()

void                secret_service_unlock               (SecretService *self,
                                                         GList *objects,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Unlock items or collections in the secret service.

This method takes a list of SecretItem or SecretCollection proxy objects. If you only have the D-Bus object paths of the items or collections, use secret_service_unlock_paths() instead.

The secret service may not be able to unlock items individually, and may unlock an entire collection instead.

This method may block indefinitely and should not be used in user interface threads. The secret service may prompt the user. secret_service_prompt() will be used to handle any prompts that show up.

self :

the secret service

objects :

the items or collections to unlock. [element-type GLib.DBusProxy]

cancellable :

optional cancellation object

callback :

called when the operation completes

user_data :

data to pass to the callback

secret_service_unlock_finish ()

gint                secret_service_unlock_finish        (SecretService *self,
                                                         GAsyncResult *result,
                                                         GList **unlocked,
                                                         GError **error);

Complete asynchronous operation to unlock items or collections in the secret service.

The secret service may not be able to unlock items individually, and may unlock an entire collection instead.

self :

the secret service

result :

asynchronous result passed to the callback

unlocked :

location to place list of items or collections that were unlocked. [out][element-type GLib.DBusProxy][transfer full][allow-none]

error :

location to place an error on failure

Returns :

the number of items or collections that were unlocked

secret_service_unlock_sync ()

gint                secret_service_unlock_sync          (SecretService *self,
                                                         GList *objects,
                                                         GCancellable *cancellable,
                                                         GList **unlocked,
                                                         GError **error);

Unlock items or collections in the secret service.

This method takes a list of SecretItem or SecretCollection proxy objects. If you only have the D-Bus object paths of the items or collections, use secret_service_unlock_paths_sync() instead.

The secret service may not be able to unlock items individually, and may unlock an entire collection instead.

This method may block indefinitely and should not be used in user interface threads. The secret service may prompt the user. secret_service_prompt() will be used to handle any prompts that show up.

self :

the secret service

objects :

the items or collections to unlock. [element-type GLib.DBusProxy]

cancellable :

optional cancellation object

unlocked :

location to place list of items or collections that were unlocked. [out][element-type GLib.DBusProxy][transfer full][allow-none]

error :

location to place an error on failure

Returns :

the number of items or collections that were unlocked

secret_service_unlock_paths ()

void                secret_service_unlock_paths         (SecretService *self,
                                                         const gchar **paths,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Unlock items or collections in the secret service.

The items or collections are represented by their D-Bus object paths. If you already have SecretItem and SecretCollection proxy objects, use use secret_service_unlock() instead.

The secret service may not be able to unlock items individually, and may unlock an entire collection instead.

This method returns immediately and completes asynchronously. The secret service may prompt the user. secret_service_prompt() will be used to handle any prompts that show up.

self :

the secret service

paths :

the D-Bus paths for items or collections to unlock

cancellable :

optional cancellation object

callback :

called when the operation completes

user_data :

data to pass to the callback

secret_service_unlock_paths_finish ()

gint                secret_service_unlock_paths_finish  (SecretService *self,
                                                         GAsyncResult *result,
                                                         gchar ***unlocked,
                                                         GError **error);

Complete asynchronous operation to unlock items or collections in the secret service.

The secret service may not be able to unlock items individually, and may unlock an entire collection instead.

self :

the secret service

result :

asynchronous result passed to the callback

unlocked :

location to place array of D-Bus paths of items or collections that were unlocked. [out][array zero-terminated=1][transfer full][allow-none]

error :

location to place an error on failure

Returns :

the number of items or collections that were unlocked

secret_service_unlock_paths_sync ()

gint                secret_service_unlock_paths_sync    (SecretService *self,
                                                         const gchar **paths,
                                                         GCancellable *cancellable,
                                                         gchar ***unlocked,
                                                         GError **error);

Unlock items or collections in the secret service.

The items or collections are represented by their D-Bus object paths. If you already have SecretItem and SecretCollection proxy objects, use use secret_service_unlock_sync() instead.

The secret service may not be able to unlock items individually, and may unlock an entire collection instead.

This method may block indefinitely and should not be used in user interface threads. The secret service may prompt the user. secret_service_prompt() will be used to handle any prompts that show up.

self :

the secret service

paths :

the D-Bus object paths of the items or collections to unlock

cancellable :

optional cancellation object

unlocked :

location to place array of D-Bus paths of items or collections that were unlocked. [out][array zero-terminated=1][transfer full][allow-none]

error :

location to place an error on failure

Returns :

the number of items or collections that were unlocked

secret_service_store ()

void                secret_service_store                (SecretService *self,
                                                         const SecretSchema *schema,
                                                         const gchar *collection_path,
                                                         const gchar *label,
                                                         SecretValue *value,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data,
                                                         ...);

Store a secret value in the secret service.

The variable argument list should contain pairs of a) The attribute name as a null-terminated string, followed by b) attribute value, either a character string, an int number, or a gboolean value, as defined in the password schema. The list of attribtues should be terminated with a NULL.

If the attributes match a secret item already stored in the collection, then the item will be updated with these new values.

If collection_path is not specified, then the default collection will be used. Use SECRET_COLLECTION_SESSION to store the password in the session collection, which doesn't get stored across login sessions.

This method will return immediately and complete asynchronously.

self :

the secret service

schema :

the schema for the attributes

collection_path :

the D-Bus path to the collection where to store the secret. [allow-none]

label :

label for the secret

value :

the secret value

cancellable :

optional cancellation object

callback :

called when the operation completes

user_data :

data to be passed to the callback

... :

the attribute keys and values, terminated with NULL

secret_service_storev ()

void                secret_service_storev               (SecretService *self,
                                                         const SecretSchema *schema,
                                                         GHashTable *attributes,
                                                         const gchar *collection_path,
                                                         const gchar *label,
                                                         SecretValue *value,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Store a secret value in the secret service.

The attributes should be a set of key and value string pairs.

If the attributes match a secret item already stored in the collection, then the item will be updated with these new values.

If collection_path is not specified, then the default collection will be used. Use SECRET_COLLECTION_SESSION to store the password in the session collection, which doesn't get stored across login sessions.

This method will return immediately and complete asynchronously.

self :

the secret service

schema :

the schema to use to check attributes. [allow-none]

attributes :

the attribute keys and values. [element-type utf8 utf8]

collection_path :

the D-Bus path to the collection where to store the secret. [allow-none]

label :

label for the secret

value :

the secret value

cancellable :

optional cancellation object

callback :

called when the operation completes

user_data :

data to be passed to the callback

secret_service_store_finish ()

gboolean            secret_service_store_finish         (SecretService *self,
                                                         GAsyncResult *result,
                                                         GError **error);

Finish asynchronous operation to store a password in the secret service.

self :

the secret service

result :

the asynchronous result passed to the callback

error :

location to place an error on failure

Returns :

whether the storage was successful or not

secret_service_store_sync ()

gboolean            secret_service_store_sync           (SecretService *self,
                                                         const SecretSchema *schema,
                                                         const gchar *collection_path,
                                                         const gchar *label,
                                                         SecretValue *value,
                                                         GCancellable *cancellable,
                                                         GError **error,
                                                         ...);

Store a secret value in the secret service.

The variable argument list should contain pairs of a) The attribute name as a null-terminated string, followed by b) attribute value, either a character string, an int number, or a gboolean value, as defined in the password schema. The list of attribtues should be terminated with a NULL.

If the attributes match a secret item already stored in the collection, then the item will be updated with these new values.

If collection_path is NULL, then the default collection will be used. Use SECRET_COLLECTION_SESSION to store the password in the session collection, which doesn't get stored across login sessions.

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

self :

the secret service

schema :

the schema for the attributes

collection_path :

the D-Bus path to the collection where to store the secret. [allow-none]

label :

label for the secret

value :

the secret value

cancellable :

optional cancellation object

error :

location to place an error on failure

... :

the attribute keys and values, terminated with NULL

Returns :

whether the storage was successful or not

secret_service_storev_sync ()

gboolean            secret_service_storev_sync          (SecretService *self,
                                                         const SecretSchema *schema,
                                                         GHashTable *attributes,
                                                         const gchar *collection_path,
                                                         const gchar *label,
                                                         SecretValue *value,
                                                         GCancellable *cancellable,
                                                         GError **error);

Store a secret value in the secret service.

The attributes should be a set of key and value string pairs.

If the attributes match a secret item already stored in the collection, then the item will be updated with these new values.

If collection_path is NULL, then the default collection will be used. Use SECRET_COLLECTION_SESSION to store the password in the session collection, which doesn't get stored across login sessions.

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

self :

the secret service

schema :

the schema for the attributes. [allow-none]

attributes :

the attribute keys and values. [element-type utf8 utf8]

collection_path :

the D-Bus path to the collection where to store the secret. [allow-none]

label :

label for the secret

value :

the secret value

cancellable :

optional cancellation object

error :

location to place an error on failure

Returns :

whether the storage was successful or not

secret_service_lookup ()

void                secret_service_lookup               (SecretService *self,
                                                         const SecretSchema *schema,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data,
                                                         ...);

Lookup a secret value in the secret service.

The variable argument list should contain pairs of a) The attribute name as a null-terminated string, followed by b) attribute value, either a character string, an int number, or a gboolean value, as defined in the password schema. The list of attribtues should be terminated with a NULL.

This method will return immediately and complete asynchronously.

self :

the secret service

schema :

the schema for the attributes

cancellable :

optional cancellation object

callback :

called when the operation completes

user_data :

data to be passed to the callback

... :

the attribute keys and values, terminated with NULL

secret_service_lookupv ()

void                secret_service_lookupv              (SecretService *self,
                                                         const SecretSchema *schema,
                                                         GHashTable *attributes,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Lookup a secret value in the secret service.

The attributes should be a set of key and value string pairs.

This method will return immediately and complete asynchronously.

self :

the secret service

schema :

the schema for the attributes. [allow-none]

attributes :

the attribute keys and values. [element-type utf8 utf8]

cancellable :

optional cancellation object

callback :

called when the operation completes

user_data :

data to be passed to the callback

secret_service_lookup_finish ()

SecretValue *       secret_service_lookup_finish        (SecretService *self,
                                                         GAsyncResult *result,
                                                         GError **error);

Finish asynchronous operation to lookup a secret value in the secret service.

If no secret is found then NULL is returned.

self :

the secret service

result :

the asynchronous result passed to the callback

error :

location to place an error on failure

Returns :

a newly allocated SecretValue, which should be released with secret_value_unref(), or NULL if no secret found. [transfer full]

secret_service_lookup_sync ()

SecretValue *       secret_service_lookup_sync          (SecretService *self,
                                                         const SecretSchema *schema,
                                                         GCancellable *cancellable,
                                                         GError **error,
                                                         ...);

Lookup a secret value in the secret service.

The variable argument list should contain pairs of a) The attribute name as a null-terminated string, followed by b) attribute value, either a character string, an int number, or a gboolean value, as defined in the password schema. The list of attribtues should be terminated with a NULL.

If no secret is found then NULL is returned.

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

self :

the secret service

schema :

the schema for the attributes

cancellable :

optional cancellation object

error :

location to place an error on failure

... :

the attribute keys and values, terminated with NULL

Returns :

a newly allocated SecretValue, which should be released with secret_value_unref(), or NULL if no secret found. [transfer full]

secret_service_lookupv_sync ()

SecretValue *       secret_service_lookupv_sync         (SecretService *self,
                                                         const SecretSchema *schema,
                                                         GHashTable *attributes,
                                                         GCancellable *cancellable,
                                                         GError **error);

Lookup a secret value in the secret service.

The attributes should be a set of key and value string pairs.

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

self :

the secret service

schema :

the schema for the attributes. [allow-none]

attributes :

the attribute keys and values. [element-type utf8 utf8]

cancellable :

optional cancellation object

error :

location to place an error on failure

Returns :

a newly allocated SecretValue, which should be released with secret_value_unref(), or NULL if no secret found. [transfer full]

secret_service_remove ()

void                secret_service_remove               (SecretService *self,
                                                         const SecretSchema *schema,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data,
                                                         ...);

Remove a secret value from the secret service.

The variable argument list should contain pairs of a) The attribute name as a null-terminated string, followed by b) attribute value, either a character string, an int number, or a gboolean value, as defined in the password schema. The list of attribtues should be terminated with a NULL.

If multiple items match the attributes, then only one will be deleted.

This method will return immediately and complete asynchronously.

self :

the secret service

schema :

the schema for the attributes

cancellable :

optional cancellation object

callback :

called when the operation completes

user_data :

data to be passed to the callback

... :

the attribute keys and values, terminated with NULL

secret_service_removev ()

void                secret_service_removev              (SecretService *self,
                                                         const SecretSchema *schema,
                                                         GHashTable *attributes,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Remove a secret value from the secret service.

The attributes should be a set of key and value string pairs.

If multiple items match the attributes, then only one will be deleted.

This method will return immediately and complete asynchronously.

self :

the secret service

schema :

the schema for the attributes. [allow-none]

attributes :

the attribute keys and values. [element-type utf8 utf8]

cancellable :

optional cancellation object

callback :

called when the operation completes

user_data :

data to be passed to the callback

secret_service_remove_finish ()

gboolean            secret_service_remove_finish        (SecretService *self,
                                                         GAsyncResult *result,
                                                         GError **error);

Finish asynchronous operation to remove a secret value from the secret service.

self :

the secret service

result :

the asynchronous result passed to the callback

error :

location to place an error on failure

Returns :

whether the removal was successful or not

secret_service_remove_sync ()

gboolean            secret_service_remove_sync          (SecretService *self,
                                                         const SecretSchema *schema,
                                                         GCancellable *cancellable,
                                                         GError **error,
                                                         ...);

Remove a secret value from the secret service.

The variable argument list should contain pairs of a) The attribute name as a null-terminated string, followed by b) attribute value, either a character string, an int number, or a gboolean value, as defined in the password schema. The list of attribtues should be terminated with a NULL.

If multiple items match the attributes, then only one will be deleted.

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

self :

the secret service

schema :

the schema for the attributes

cancellable :

optional cancellation object

error :

location to place an error on failure

... :

the attribute keys and values, terminated with NULL

Returns :

whether the removal was successful or not

secret_service_removev_sync ()

gboolean            secret_service_removev_sync         (SecretService *self,
                                                         const SecretSchema *schema,
                                                         GHashTable *attributes,
                                                         GCancellable *cancellable,
                                                         GError **error);

Remove a secret value from the secret service.

The attributes should be a set of key and value string pairs.

If multiple items match the attributes, then only one will be deleted.

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

self :

the secret service

schema :

the schema for the attributes. [allow-none]

attributes :

the attribute keys and values. [element-type utf8 utf8]

cancellable :

optional cancellation object

error :

location to place an error on failure

Returns :

whether the removal was successful or not

secret_service_prompt ()

void                secret_service_prompt               (SecretService *self,
                                                         SecretPrompt *prompt,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Perform prompting for a SecretPrompt.

This function is called by other parts of this library to handle prompts for the various actions that can require prompting.

Override the SecretServiceClass prompt_async virtual method to change the behavior of the propmting. The default behavior is to simply run secret_prompt_perform() on the prompt.

self :

the secret service

prompt :

the prompt

cancellable :

optional cancellation object

callback :

called when the operation completes

user_data :

data to be passed to the callback

secret_service_prompt_finish ()

gboolean            secret_service_prompt_finish        (SecretService *self,
                                                         GAsyncResult *result,
                                                         GError **error);

Complete asynchronous operation to perform prompting for a SecretPrompt.

self :

the secret service

result :

the asynchronous result passed to the callback

error :

location to place an error on failure

Returns :

FALSE if the prompt was dismissed or an error occurred

secret_service_prompt_sync ()

gboolean            secret_service_prompt_sync          (SecretService *self,
                                                         SecretPrompt *prompt,
                                                         GCancellable *cancellable,
                                                         GError **error);

Perform prompting for a SecretPrompt.

This function is called by other parts of this library to handle prompts for the various actions that can require prompting.

Override the SecretServiceClass prompt_sync virtual method to change the behavior of the propmting. The default behavior is to simply run secret_prompt_perform_sync() on the prompt.

self :

the secret service

prompt :

the prompt

cancellable :

optional cancellation object

error :

location to place an error on failure

Returns :

FALSE if the prompt was dismissed or an error occurred

secret_service_create_collection_path ()

void                secret_service_create_collection_path
                                                        (SecretService *self,
                                                         GHashTable *properties,
                                                         const gchar *alias,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Create a new collection in the secret service, and return its path.

Using this method requires that you setup a correct hash table of D-Bus properties for the new collection. You may prefer to use secret_collection_create() which does handles this for you.

An alias is a well-known tag for a collection, such as 'default' (ie: the default collection to store items in). This allows other applications to easily identify and share a collection. If a collection with the alias already exists, then instead of creating a new collection, the existing collection will be returned. If no collection with this alias exists, then a new collection will be created and this alias will be assigned to it.

properties is a set of properties for the new collection. The keys in the hash table should be interface.property strings like org.freedesktop.Secret.Collection.Label. The values in the hash table should be GVariant values of the properties.

If you wish to have a

This method will return immediately and complete asynchronously. The secret service may prompt the user. secret_service_prompt() will be used to handle any prompts that are required.

self :

a secret service object

properties :

hash table of properties for the new collection. [element-type utf8 GLib.Variant]

alias :

an alias to check for before creating the new collection, or to assign to the new collection. [allow-none]

cancellable :

optional cancellation object

callback :

called when the operation completes

user_data :

data to be passed to the callback

secret_service_create_collection_path_finish ()

gchar *             secret_service_create_collection_path_finish
                                                        (SecretService *self,
                                                         GAsyncResult *result,
                                                         GError **error);

Finish asynchronous operation to create a new collection in the secret service.

self :

a secret service object

result :

the asynchronous result passed to the callback

error :

location to place an error on failure

Returns :

a new string containing the D-Bus object path of the collection. [transfer full]

secret_service_create_collection_path_sync ()

gchar *             secret_service_create_collection_path_sync
                                                        (SecretService *self,
                                                         GHashTable *properties,
                                                         const gchar *alias,
                                                         GCancellable *cancellable,
                                                         GError **error);

Create a new collection in the secret service and return its path.

Using this method requires that you setup a correct hash table of D-Bus properties for the new collection. You may prefer to use secret_collection_create() which does handles this for you.

An alias is a well-known tag for a collection, such as 'default' (ie: the default collection to store items in). This allows other applications to easily identify and share a collection. If a collection with the alias already exists, then instead of creating a new collection, the existing collection will be returned. If no collection with this alias exists, then a new collection will be created and this alias will be assigned to it.

properties is a set of properties for the new collection. The keys in the hash table should be interface.property strings like org.freedesktop.Secret.Collection.Label. The values in the hash table should be GVariant values of the properties.

This method may block indefinitely and should not be used in user interface threads. The secret service may prompt the user. secret_service_prompt() will be used to handle any prompts that are required.

self :

a secret service object

properties :

hash table of D-Bus properties for the new collection. [element-type utf8 GLib.Variant]

alias :

an alias to check for before creating the new collection, or to assign to the new collection. [allow-none]

cancellable :

optional cancellation object

error :

location to place an error on failure

Returns :

a new string containing the D-Bus object path of the collection. [transfer full]

secret_service_create_item_path ()

void                secret_service_create_item_path     (SecretService *self,
                                                         const gchar *collection_path,
                                                         GHashTable *properties,
                                                         SecretValue *value,
                                                         gboolean replace,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Create a new item in a secret service collection and return its D-Bus object path.

It is often easier to use secret_password_store() or secret_item_create() rather than using this function. Using this method requires that you setup a correct hash table of D-Bus properties for the new collection.

If replace is set to TRUE, and an item already in the collection matches the attributes (specified in properties) then the item will be updated instead of creating a new item.

properties is a set of properties for the new collection. The keys in the hash table should be interface.property strings like org.freedesktop.Secret.Item.Label. The values in the hash table should be GVariant values of the properties.

If collection_path is NULL, then the default collection will be used. Use SECRET_COLLECTION_SESSION to store the password in the session collection, which doesn't get stored across login sessions.

This method will return immediately and complete asynchronously. The secret service may prompt the user. secret_service_prompt() will be used to handle any prompts that are required.

self :

a secret service object

collection_path :

the D-Bus object path of the collection in which to create item. [allow-none]

properties :

hash table of D-Bus properties for the new collection. [element-type utf8 GLib.Variant]

value :

the secret value to store in the item

replace :

whether to replace an item with the matching attributes

cancellable :

optional cancellation object

callback :

called when the operation completes

user_data :

data to be passed to the callback

secret_service_create_item_path_finish ()

gchar *             secret_service_create_item_path_finish
                                                        (SecretService *self,
                                                         GAsyncResult *result,
                                                         GError **error);

Finish asynchronous operation to create a new item in the secret service.

self :

a secret service object

result :

the asynchronous result passed to the callback

error :

location to place an error on failure

Returns :

a new string containing the D-Bus object path of the item. [transfer full]

secret_service_create_item_path_sync ()

gchar *             secret_service_create_item_path_sync
                                                        (SecretService *self,
                                                         const gchar *collection_path,
                                                         GHashTable *properties,
                                                         SecretValue *value,
                                                         gboolean replace,
                                                         GCancellable *cancellable,
                                                         GError **error);

Create a new item in a secret service collection and return its D-Bus object path.

It is often easier to use secret_password_store_sync() or secret_item_create_sync() rather than using this function. Using this method requires that you setup a correct hash table of D-Bus properties for the new collection.

If replace is set to TRUE, and an item already in the collection matches the attributes (specified in properties) then the item will be updated instead of creating a new item.

properties is a set of properties for the new collection. The keys in the hash table should be interface.property strings like org.freedesktop.Secret.Item.Label. The values in the hash table should be GVariant values of the properties.

This method may block indefinitely and should not be used in user interface threads. The secret service may prompt the user. secret_service_prompt() will be used to handle any prompts that are required.

self :

a secret service object

collection_path :

the D-Bus path of the collection in which to create item. [allow-none]

properties :

hash table of D-Bus properties for the new collection. [element-type utf8 GLib.Variant]

value :

the secret value to store in the item

replace :

whether to replace an item with the matching attributes

cancellable :

optional cancellation object

error :

location to place an error on failure

Returns :

a new string containing the D-Bus object path of the item. [transfer full]

secret_service_delete_path ()

void                secret_service_delete_path          (SecretService *self,
                                                         const gchar *item_path,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Delete a secret item from the secret service.

The item is represented by its D-Bus object path. If you already have a SecretItem proxy objects, use use secret_item_delete() instead.

This method will return immediately and complete asynchronously.

self :

the secret service

item_path :

the D-Bus path of item to delete

cancellable :

optional cancellation object

callback :

called when the operation completes

user_data :

data to be passed to the callback

secret_service_delete_path_finish ()

gboolean            secret_service_delete_path_finish   (SecretService *self,
                                                         GAsyncResult *result,
                                                         GError **error);

Complete an asynchronous operation to delete a secret item from the secret service.

self :

the secret service

result :

the asynchronous result passed to the callback

error :

location to place an error on failure

Returns :

whether the deletion was successful or not

secret_service_delete_path_sync ()

gboolean            secret_service_delete_path_sync     (SecretService *self,
                                                         const gchar *item_path,
                                                         GCancellable *cancellable,
                                                         GError **error);

Delete a secret item from the secret service.

The item is represented by its D-Bus object path. If you already have a SecretItem proxy objects, use use secret_item_delete_sync() instead.

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

self :

the secret service

item_path :

the D-Bus path of item to delete

cancellable :

optional cancellation object

error :

location to place an error on failure

Returns :

whether the deletion was successful or not

Property Details

The "collections" property

  "collections"              SecretObjectList*     : Read

A list of SecretCollection objects representing the collections in the Secret Service. This list may be NULL if the collections have not been loaded.

To load the collections, specify the SECRET_SERVICE_LOAD_COLLECTIONS initialization flag when calling the secret_service_get() or secret_service_new() functions. Or call the secret_service_ensure_collections() method.


The "flags" property

  "flags"                    SecretServiceFlags    : Read / Write / Construct Only

A set of flags describing which parts of the secret service have been initialized.