Extension point for the secret backend.
#SecretBackend represents a backend implementation of password
storage.
Get a #SecretBackend instance.
If such a backend already exists, then the same backend is returned.
If @flags contains any flags of which parts of the secret backend to
ensure are initialized, then those will be initialized before completing.
This method will return immediately and complete asynchronously.
flags for which service functionality to ensure is initialized
optional cancellation object
called when the operation completes
data to be passed to the callback
Complete an asynchronous operation to get a #SecretBackend.
a new reference to a #SecretBackend proxy, which
should be released with [method@GObject.Object.unref].
the asynchronous result passed to the callback
implementation of [func@password_clear], required
implementation of [func@password_clear_finish], required
implementation of reinitialization step in constructor, optional
implementation of reinitialization step in constructor, optional
implementation of [func@password_lookup], required
implementation of [func@password_lookup_finish], required
implementation of [func@password_search], required
implementation of [func@password_search_finish], required
implementation of [func@password_store], required
implementation of [func@password_store_finish], required
A set of flags describing which parts of the secret backend have
been initialized.
Flags which determine which parts of the #SecretBackend are initialized.
no flags for initializing the #SecretBackend
establish a session for transfer of secrets
while initializing the #SecretBackend
load collections while initializing the
#SecretBackend
The interface for #SecretBackend.
the parent interface
implementation of reinitialization step in constructor, optional
implementation of reinitialization step in constructor, optional
implementation of [func@password_store], required
implementation of [func@password_store_finish], required
implementation of [func@password_lookup], required
implementation of [func@password_lookup_finish], required
implementation of [func@password_clear], required
implementation of [func@password_clear_finish], required
implementation of [func@password_search], required
implementation of [func@password_search_finish], required
Returns `TRUE` if using libsecret is newer than or equal to the
given version.
major version to be satisfied
minor version to be satisfied
micro version to be satisfied
An alias to the default collection.
This can be passed to [func@password_store] [func@Collection.for_alias].
An alias to the session collection, which will be cleared when the user ends
the session.
This can be passed to [func@password_store], [func@Collection.for_alias] or
similar functions.
A proxy object representing a collection of secrets in the Secret Service.
#SecretCollection represents a collection of secret items stored in the
Secret Service.
A collection can be in a locked or unlocked state. Use
[method@SecretService.lock] or [method@SecretService.unlock] to lock or
unlock the collection.
Use the [property@SecretCollection:items] property or
[method@SecretCollection.get_items] to lookup the items in the collection.
There may not be any items exposed when the collection is locked.
Finish asynchronous operation to get a new collection proxy for a
collection in the secret service.
the new collection, which should be unreferenced
with [method@GObject.Object.unref]
the asynchronous result passed to the callback
Get a new collection proxy for a collection in the secret service.
If @service is %NULL, then [func@Service.get_sync] will be called to get
the default [class@Service] proxy.
This method may block indefinitely and should not be used in user interface
threads.
the new collection, which should be unreferenced
with [method@GObject.Object.unref]
a secret service object
the D-Bus path of the collection
options for the collection initialization
optional cancellation object
Create a new collection in the secret service.
This method returns immediately and completes asynchronously. The secret
service may prompt the user. [method@Service.prompt] will be used to handle
any prompts that are required.
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 you specify an @alias, and a
collection with that alias already exists, then a new collection will not
be created. The previous one will be returned instead.
If @service is %NULL, then [func@Service.get] will be called to get the
default [class@Service] proxy.
a secret service object
label for the new collection
alias to assign to the collection
currently unused
optional cancellation object
called when the operation completes
data to pass to the callback
Finish operation to create a new collection in the secret service.
the new collection, which should be unreferenced
with [method@GObject.Object.unref]
the asynchronous result passed to the callback
Create a new collection in the secret service.
This method may block indefinitely and should not be used in user interface
threads. The secret service may prompt the user. [method@Service.prompt]
will be used to handle any prompts that are required.
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 you specify an @alias, and a
collection with that alias already exists, then a new collection will not
be created. The previous one will be returned instead.
If @service is %NULL, then [func@Service.get_sync] will be called to get the
default [class@Service] proxy.
the new collection, which should be unreferenced
with [method@GObject.Object.unref]
a secret service object
label for the new collection
alias to assign to the collection
currently unused
optional cancellation object
Lookup which collection is assigned to this alias. Aliases help determine
well known collections, such as 'default'.
If @service is %NULL, then [func@Service.get] will be called to get the
default [class@Service] proxy.
This method will return immediately and complete asynchronously.
a secret service object
the alias to lookup
options for the collection initialization
optional cancellation object
called when the operation completes
data to pass to the callback
Finish an asynchronous operation to lookup which collection is assigned
to an alias.
the collection, or %NULL if none assigned to the alias
asynchronous result passed to callback
Lookup which collection is assigned to this alias. Aliases help determine
well known collections, such as `default`.
If @service is %NULL, then [func@Service.get_sync] will be called to get the
default [class@Service] proxy.
This method may block and should not be used in user interface threads.
the collection, or %NULL if none assigned to the alias
a secret service object
the alias to lookup
options for the collection initialization
optional cancellation object
Get a new collection proxy for a collection in the secret service.
If @service is %NULL, then [func@Service.get] will be called to get
the default [class@Service] proxy.
This method will return immediately and complete asynchronously.
a secret service object
the D-Bus path of the collection
options for the collection initialization
optional cancellation object
called when the operation completes
data to be passed to the callback
Delete this collection.
This method returns immediately and completes asynchronously. The secret
service may prompt the user. [method@Service.prompt] will be used to handle
any prompts that show up.
a collection
optional cancellation object
called when the operation completes
data to pass to the callback
Complete operation to delete this collection.
whether the collection was successfully deleted or not
a collection
asynchronous result passed to the callback
Delete this collection.
This method may block indefinitely and should not be used in user interface
threads. The secret service may prompt the user. [method@Service.prompt] will
be used to handle any prompts that show up.
whether the collection was successfully deleted or not
a collection
optional cancellation object
Get the created date and time of the collection.
The return value is the number of seconds since the unix epoch, January 1st
1970.
the created date and time
a collection
Get the flags representing what features of the #SecretCollection proxy
have been initialized.
Use [method@Collection.load_items] to initialize further features and change
the flags.
the flags for features initialized
the secret collection proxy
Get the list of items in this collection.
a list of items, when
done, the list should be freed with [func@GLib.List.free], and each item
should be released with [method@GObject.Object.unref]
a collection
Get the label of this collection.
the label, which should be freed with
[func@GLib.free]
a collection
Get whether the collection is locked or not.
Use [method@Service.lock] or [method@Service.unlock] to lock or unlock the
collection.
whether the collection is locked or not
a collection
Get the modified date and time of the collection.
The return value is the number of seconds since the unix epoch, January 1st
1970.
the modified date and time
a collection
Get the Secret Service object that this collection was created with.
the Secret Service object
a collection
Ensure that the #SecretCollection proxy has loaded all the items present
in the Secret Service.
This affects the result of [method@Collection.get_items].
For collections returned from [method@Service.get_collections] the items will
have already been loaded.
This method will return immediately and complete asynchronously.
the secret collection
optional cancellation object
called when the operation completes
data to be passed to the callback
Complete an asynchronous operation to ensure that the #SecretCollection proxy
has loaded all the items present in the Secret Service.
whether the load was successful or not
the secret collection
the asynchronous result passed to the callback
Ensure that the #SecretCollection proxy has loaded all the items present
in the Secret Service. This affects the result of
[method@Collection.get_items].
For collections returned from [method@Service.get_collections] the items
will have already been loaded.
This method may block indefinitely and should not be used in user interface
threads.
whether the load was successful or not
the secret collection
optional cancellation object
Refresh the properties on this collection. This fires off a request to
refresh, and the properties will be updated later.
Calling this method is not normally necessary, as the secret service
will notify the client when properties change.
the collection
Search for items matching the @attributes in the @collection.
The @attributes should be a table of string keys and string values.
If %SECRET_SEARCH_ALL is set in @flags, then all the items matching the
search will be returned. Otherwise only the first item will be returned.
This is almost always the unlocked item that was most recently stored.
If %SECRET_SEARCH_UNLOCK is set in @flags, then items will be unlocked
if necessary. In either case, locked and unlocked items will match the
search and be returned. If the unlock fails, the search does not fail.
If %SECRET_SEARCH_LOAD_SECRETS is set in @flags, then the items will have
their secret values loaded and available via [method@Item.get_secret].
This function returns immediately and completes asynchronously.
a secret collection
the schema for the attributes
search for items matching these attributes
search option flags
optional cancellation object
called when the operation completes
data to pass to the callback
Complete asynchronous operation to search for items in a collection.
a list of items that matched the search
the secret collection
asynchronous result passed to callback
Search for items in @collection matching the @attributes, and return their
DBus object paths.
Only the specified collection is 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 [method@Collection.search_for_dbus_paths_finish]
to get the results of this function. Only the DBus object paths of the
items will be returned. If you would like [class@Item] objects to be returned
instead, then use the [method@Collection.search] function.
the secret collection
the schema for the attributes
search for items matching these attributes
optional cancellation object
called when the operation completes
data to pass to the callback
Complete asynchronous operation to search for items in a collection.
DBus object paths of the items will be returned. If you would to have
[class@Item] objects to be returned instead, then use the
[method@Collection.search] and [method@Collection.search_finish] functions.
an array of DBus object
paths for matching items.
the secret collection
asynchronous result passed to callback
Search for items matching the @attributes in @collection, and return their
DBus object paths.
The @attributes should be a table of string keys and string values.
This function may block indefinitely. Use the asynchronous version
in user interface threads.
DBus object paths of the items will be returned. If you would to have
[class@Item] objects to be returned instead, then use the
[method@Collection.search_sync] function.
an array of DBus object
paths for matching items.
the secret collection
the schema for the attributes
search for items matching these attributes
optional cancellation object
Search for items matching the @attributes in the @collection.
The @attributes should be a table of string keys and string values.
If %SECRET_SEARCH_ALL is set in @flags, then all the items matching the
search will be returned. Otherwise only the first item will be returned.
This is almost always the unlocked item that was most recently stored.
If %SECRET_SEARCH_UNLOCK is set in @flags, then items will be unlocked
if necessary. In either case, locked and unlocked items will match the
search and be returned. If the unlock fails, the search does not fail.
If %SECRET_SEARCH_LOAD_SECRETS is set in @flags, then the items will have
their secret values loaded and available via [method@Item.get_secret].
This function may block indefinitely. Use the asynchronous version
in user interface threads.
a list of items that matched the search
a secret collection
the schema for the attributes
search for items matching these attributes
search option flags
optional cancellation object
Set the label of this collection.
This function returns immediately and completes asynchronously.
a collection
a new label
optional cancellation object
called when the operation completes
data to pass to the callback
Complete asynchronous operation to set the label of this collection.
whether the change was successful or not
a collection
asynchronous result passed to callback
Set the label of this collection.
This function may block indefinitely. Use the asynchronous version
in user interface threads.
whether the change was successful or not
a collection
a new label
optional cancellation object
The date and time (in seconds since the UNIX epoch) that this
collection was created.
A set of flags describing which parts of the secret collection have
been initialized.
A list of [class@Item] objects representing the items that are in
this collection. This list will be empty if the collection is locked.
The human readable label for the collection.
Setting this property will result in the label of the collection being
set asynchronously. To properly track the changing of the label use the
[method@Collection.set_label] function.
Whether the collection is locked or not.
To lock or unlock a collection use the [method@Service.lock] or
[method@Service.unlock] functions.
The date and time (in seconds since the UNIX epoch) that this
collection was last modified.
The [class@Service] object that this collection is associated with and
uses to interact with the actual D-Bus Secret Service.
The class for #SecretCollection.
the parent class
Flags for [func@Collection.create].
no flags
Flags which determine which parts of the #SecretCollection proxy are initialized.
no flags
items have or should be loaded
Errors returned by the Secret Service.
None of the errors are appropriate for display to the user. It is up to the
application to handle them appropriately.
received an invalid data or message from the Secret
Service
the item or collection is locked and the operation
cannot be performed
no such item or collection found in the Secret
Service
a relevant item or collection already exists
the file format is not valid
the xdg:schema attribute of the table does not match the schema name
attribute contained in table not found in corresponding schema
attribute could not be parsed according to its type reported in the table's
schema
attribute list passed to secret_attributes_validate has no elements to
validate
Get the error quark.
the quark
A secret item
#SecretItem represents a secret item stored in the Secret Service.
Each item has a value, represented by a [struct@Value], which can be
retrieved by [method@Item.get_secret] or set by [method@Item.set_secret].
The item is only available when the item is not locked.
Items can be locked or unlocked using the [method@Service.lock] or
[method@Service.unlock] functions. The Secret Service may not be able to
unlock individual items, and may unlock an entire collection when a single
item is unlocked.
Each item has a set of attributes, which are used to locate the item later.
These are not stored or transferred in a secure manner. Each attribute has
a string name and a string value. Use [method@Service.search] to search for
items based on their attributes, and [method@Item.set_attributes] to change
the attributes associated with an item.
Items can be created with [func@Item.create] or [method@Service.store].
Finish asynchronous operation to get a new item proxy for a secret
item in the secret service.
the new item, which should be unreferenced
with [method@GObject.Object.unref]
the asynchronous result passed to the callback
Get a new item proxy for a secret item in the secret service.
If @service is %NULL, then [func@Service.get_sync] will be called to get
the default [class@Service] proxy.
This method may block indefinitely and should not be used in user interface
threads.
the new item, which should be unreferenced
with [method@GObject.Object.unref]
a secret service object
the D-Bus path of the item
initialization flags for the new item
optional cancellation object
Create a new item in the secret service.
If the @flags contains %SECRET_ITEM_CREATE_REPLACE, then the secret
service will search for an item matching the @attributes, and update that item
instead of creating a new one.
This method may block indefinitely and should not be used in user interface
threads. The secret service may prompt the user. [method@Service.prompt]
will be used to handle any prompts that are required.
a secret collection to create this item in
the schema for the attributes
attributes for the new item
label for the new item
secret value for the new item
flags for the creation of the new item
optional cancellation object
called when the operation completes
data to pass to the callback
Finish operation to create a new item in the secret service.
the new item, which should be unreferenced
with [method@GObject.Object.unref]
the asynchronous result passed to the callback
Create a new item in the secret service.
If the @flags contains %SECRET_ITEM_CREATE_REPLACE, then the secret
service will search for an item matching the @attributes, and update that item
instead of creating a new one.
This method may block indefinitely and should not be used in user interface
threads. The secret service may prompt the user. [method@Service.prompt]
will be used to handle any prompts that are required.
the new item, which should be unreferenced
with [method@GObject.Object.unref]
a secret collection to create this item in
the schema for the attributes
attributes for the new item
label for the new item
secret value for the new item
flags for the creation of the new item
optional cancellation object
Load the secret values for a secret item stored in the service.
The @items must all have the same [property@Item:service] property.
This function returns immediately and completes asynchronously.
the items to retrieve secrets for
optional cancellation object
called when the operation completes
data to pass to the callback
Complete asynchronous operation to load the secret values for
secret items stored in the service.
Items that are locked will not have their secrets loaded.
whether the operation succeeded or not
asynchronous result passed to callback
Load the secret values for a secret item stored in the service.
The @items must all have the same [property@Item:service] property.
This method may block indefinitely and should not be used in user interface
threads.
Items that are locked will not have their secrets loaded.
whether the operation succeeded or not
the items to retrieve secrets for
optional cancellation object
Get a new item proxy for a secret item in the secret service.
If @service is %NULL, then [func@Service.get] will be called to get
the default [class@Service] proxy.
This method will return immediately and complete asynchronously.
a secret service object
the D-Bus path of the collection
initialization flags for the new item
optional cancellation object
called when the operation completes
data to be passed to the callback
Delete this item.
This method returns immediately and completes asynchronously. The secret
service may prompt the user. [method@Service.prompt] will be used to handle
any prompts that show up.
an item
optional cancellation object
called when the operation completes
data to pass to the callback
Complete asynchronous operation to delete the secret item.
whether the item was successfully deleted or not
an item
asynchronous result passed to the callback
Delete this secret item.
This method may block indefinitely and should not be used in user
interface threads. The secret service may prompt the user.
[method@Service.prompt] will be used to handle any prompts that show up.
whether the item was successfully deleted or not
an item
optional cancellation object
Set the attributes of this item.
The @attributes are a mapping of string keys to string values.
Attributes are used to search for items. Attributes are not stored
or transferred securely by the secret service.
Do not modify the attributes returned by this method. Use
[method@Item.set_attributes] instead.
a new reference
to the attributes, which should not be modified, and
released with [func@GLib.HashTable.unref]
an item
Get the created date and time of the item.
The return value is the number of seconds since the unix epoch, January 1st
1970.
the created date and time
an item
Get the flags representing what features of the #SecretItem proxy
have been initialized.
Use [method@Item.load_secret] to initialize further features
and change the flags.
the flags for features initialized
the secret item proxy
Get the label of this item.
the label, which should be freed with [func@GLib.free]
an item
Get whether the item is locked or not.
Depending on the secret service an item may not be able to be locked
independently from the collection that it is in.
whether the item is locked or not
an item
Get the modified date and time of the item.
The return value is the number of seconds since the unix epoch, January 1st
1970.
the modified date and time
an item
Gets the name of the schema that this item was stored with. This is also
available at the `xdg:schema` attribute.
the schema name
an item
Get the secret value of this item.
If this item is locked or the secret has not yet been loaded then this will
return %NULL.
To load the secret call the [method@Item.load_secret] method.
the secret value which should be
released with [method@Value.unref], or %NULL
an item
Get the Secret Service object that this item was created with.
the Secret Service object
an item
Load the secret value of this item.
Each item has a single secret which might be a password or some
other secret binary value.
This function will fail if the secret item is locked.
This function returns immediately and completes asynchronously.
an item proxy
optional cancellation object
called when the operation completes
data to pass to the callback
Complete asynchronous operation to load the secret value of this item.
The newly loaded secret value can be accessed by calling
[method@Item.get_secret].
whether the secret item successfully loaded or not
an item proxy
asynchronous result passed to callback
Load the secret value of this item.
Each item has a single secret which might be a password or some
other secret binary value.
This function may block indefinitely. Use the asynchronous version
in user interface threads.
whether the secret item successfully loaded or not
an item
optional cancellation object
Refresh the properties on this item.
This fires off a request to refresh, and the properties will be updated
later.
Calling this method is not normally necessary, as the secret service
will notify the client when properties change.
the collection
Set the attributes of this item.
The @attributes are a mapping of string keys to string values.
Attributes are used to search for items. Attributes are not stored
or transferred securely by the secret service.
This function returns immediately and completes asynchronously.
an item
the schema for the attributes
a new set of attributes
optional cancellation object
called when the asynchronous operation completes
data to pass to the callback
Complete operation to set the attributes of this item.
whether the change was successful or not
an item
asynchronous result passed to the callback
Set the attributes of this item.
The @attributes are a mapping of string keys to string values.
Attributes are used to search for items. Attributes are not stored
or transferred securely by the secret service.
This function may block indefinitely. Use the asynchronous version
in user interface threads.
whether the change was successful or not
an item
the schema for the attributes
a new set of attributes
optional cancellation object
Set the label of this item.
This function returns immediately and completes asynchronously.
an item
a new label
optional cancellation object
called when the operation completes
data to pass to the callback
Complete asynchronous operation to set the label of this collection.
whether the change was successful or not
an item
asynchronous result passed to callback
Set the label of this item.
This function may block indefinitely. Use the asynchronous version
in user interface threads.
whether the change was successful or not
an item
a new label
optional cancellation object
Set the secret value of this item.
Each item has a single secret which might be a password or some
other secret binary value.
This function returns immediately and completes asynchronously.
an item
a new secret value
optional cancellation object
called when the operation completes
data to pass to the callback
Complete asynchronous operation to set the secret value of this item.
whether the change was successful or not
an item
asynchronous result passed to callback
Set the secret value of this item.
Each item has a single secret which might be a password or some
other secret binary value.
This function may block indefinitely. Use the asynchronous version
in user interface threads.
whether the change was successful or not
an item
a new secret value
optional cancellation object
A set of flags describing which parts of the secret item have
been initialized.
Whether the item is locked or not.
An item may not be independently lockable separate from other items in
its collection.
To lock or unlock a item use the [method@Service.lock] or
[method@Service.unlock] functions.
The [class@Service] object that this item is associated with and
uses to interact with the actual D-Bus Secret Service.
The class for #SecretItem.
the parent class
Flags for [func@Item.create].
no flags
replace an item with the same attributes.
Flags which determine which parts of the #SecretItem proxy are initialized.
no flags
a secret has been (or should be) loaded for #SecretItem
The major version of libsecret.
The micro version of libsecret.
The minor version of libsecret.
A prompt in the Service
A proxy object representing a prompt that the Secret Service will display
to the user.
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 [method@Service.prompt] method. In this way it is handled
automatically.
In order to customize prompt handling, override the
[vfunc@Service.prompt_async] and [vfunc@Service.prompt_finish] virtual
methods of the [class@Service] class.
Runs a prompt and performs the prompting.
Returns %TRUE if the prompt was completed and not dismissed.
If @window_id is non-null then it is used as an XWindow id on Linux. The API
expects this id to be converted to a string using the `%d` printf format. The
Secret Service can make its prompt transient for the window with this id. In
some Secret Service implementations this is not possible, so the behavior
depending on this should degrade gracefully.
This method will return immediately and complete asynchronously.
a prompt
string form of XWindow id for parent window to be transient for
the variant type of the prompt result
optional cancellation object
called when the operation completes
data to be passed to the callback
Complete asynchronous operation to run a prompt and perform the prompting.
Returns a variant result if the prompt was completed and not dismissed. The
type of result depends on the action the prompt is completing, and is
defined in the Secret Service DBus API specification.
%NULL if the prompt was dismissed or an error occurred,
a variant result if the prompt was successful
a prompt
the asynchronous result passed to the callback
Runs a prompt and performs the prompting.
Returns a variant result if the prompt was completed and not dismissed. The
type of result depends on the action the prompt is completing, and is defined
in the Secret Service DBus API specification.
If @window_id is non-null then it is used as an XWindow id on Linux. The API
expects this id to be converted to a string using the `%d` printf format. The
Secret Service can make its prompt transient for the window with this id. In
some Secret Service implementations this is not possible, so the behavior
depending on this should degrade gracefully.
This method may block indefinitely and should not be used in user interface
threads.
%NULL if the prompt was dismissed or an error occurred
a prompt
string form of XWindow id for parent window to be transient for
optional cancellation object
the variant type of the prompt result
Runs a prompt and performs the prompting.
Returns a variant result if the prompt was completed and not dismissed. The
type of result depends on the action the prompt is completing, and is defined
in the Secret Service DBus API specification.
If @window_id is non-null then it is used as an XWindow id on Linux. The API
expects this id to be converted to a string using the `%d` printf format. The
Secret Service can make its prompt transient for the window with this id. In
some Secret Service implementations this is not possible, so the behavior
depending on this should degrade gracefully.
This runs the dialog in a recursive mainloop. When run from a user interface
thread, this means the user interface will remain responsive. Care should be
taken that appropriate user interface actions are disabled while running the
prompt.
%NULL if the prompt was dismissed or an error occurred
a prompt
string form of XWindow id for parent window to be transient for
optional cancellation object
the variant type of the prompt result
The class for #SecretPrompt.
the parent class
A read-only view of a secret item in the Secret Service.
#SecretRetrievable provides a read-only view of a secret item
stored in the Secret Service.
Each item has a value, represented by a [struct@Value], which can be
retrieved by [method@Retrievable.retrieve_secret] and
[method@Retrievable.retrieve_secret_finish].
Retrieve the secret value of this object.
Each retrievable object has a single secret which might be a
password or some other secret binary value.
This function returns immediately and completes asynchronously.
a retrievable object
optional cancellation object
called when the operation completes
data to pass to the callback
Complete asynchronous operation to retrieve the secret value of this object.
the secret value which should be
released with [method@Value.unref], or %NULL
a retrievable object
asynchronous result passed to callback
Get the attributes of this object.
The attributes are a mapping of string keys to string values.
Attributes are used to search for items. Attributes are not stored
or transferred securely by the secret service.
Do not modify the attribute returned by this method.
a new reference
to the attributes, which should not be modified, and
released with [func@GLib.HashTable.unref]
a retrievable object
Get the created date and time of the object.
The return value is the number of seconds since the unix epoch, January 1st
1970.
the created date and time
a retrievable object
Get the label of this item.
the label, which should be freed with [func@GLib.free]
a retrievable object
Get the modified date and time of the object.
The return value is the number of seconds since the unix epoch, January 1st
1970.
the modified date and time
a retrievable object
Retrieve the secret value of this object.
Each retrievable object has a single secret which might be a
password or some other secret binary value.
This function returns immediately and completes asynchronously.
a retrievable object
optional cancellation object
called when the operation completes
data to pass to the callback
Complete asynchronous operation to retrieve the secret value of this object.
the secret value which should be
released with [method@Value.unref], or %NULL
a retrievable object
asynchronous result passed to callback
Retrieve the secret value of this object synchronously.
Each retrievable object has a single secret which might be a
password or some other secret binary value.
This method may block indefinitely and should not be used in user interface
threads.
the secret value which should be
released with [method@Value.unref], or %NULL
a retrievable object
optional cancellation object
The attributes set on this item.
Attributes are used to locate an item. They are not guaranteed to be
stored or transferred securely.
The date and time (in seconds since the UNIX epoch) that this
item was created.
The human readable label for the item.
The date and time (in seconds since the UNIX epoch) that this
item was last modified.
The interface for #SecretRetrievable.
the parent interface
implementation of [method@Retrievable.retrieve_secret],
required
a retrievable object
optional cancellation object
called when the operation completes
data to pass to the callback
implementation of
[method@Retrievable.retrieve_secret_finish], required
the secret value which should be
released with [method@Value.unref], or %NULL
a retrievable object
asynchronous result passed to callback
Represents a set of attributes that are stored with an item.
These schemas are used for interoperability between various services storing
the same types of items.
Each schema has a name like `org.gnome.keyring.NetworkPassword`, and defines a
set of attributes, and types (string, integer, boolean) for those attributes.
Attributes are stored as strings in the Secret Service, and the attribute types
simply define standard ways to store integer and boolean values as strings.
Attributes are represented in libsecret via a [struct@GLib.HashTable] with
string keys and values. Even for values that defined as an integer or boolean in
the schema, the attribute values in the [struct@GLib.HashTable] are strings.
Boolean values are stored as the strings 'true' and 'false'. Integer values are
stored in decimal, with a preceding negative sign for negative integers.
Schemas are handled entirely on the client side by this library. The name of the
schema is automatically stored as an attribute on the item.
Normally when looking up passwords only those with matching schema names are
returned. If the schema @flags contain the `SECRET_SCHEMA_DONT_MATCH_NAME` flag,
then lookups will not check that the schema name matches that on the item, only
the schema's attributes are matched. This is useful when you are looking up
items that are not stored by the libsecret library. Other libraries such as
libgnome-keyring don't store the schema name.
Additional schemas can be defined via the [struct@Schema] structure like this:
```c
// in a header:
const SecretSchema * example_get_schema (void) G_GNUC_CONST;
#define EXAMPLE_SCHEMA example_get_schema ()
// in a .c file
const SecretSchema *
example_get_schema (void)
{
static const SecretSchema the_schema = {
"org.example.Password", SECRET_SCHEMA_NONE,
{
{ "number", SECRET_SCHEMA_ATTRIBUTE_INTEGER },
{ "string", SECRET_SCHEMA_ATTRIBUTE_STRING },
{ "even", SECRET_SCHEMA_ATTRIBUTE_BOOLEAN },
{ NULL, 0 },
}
};
return &the_schema;
}
```
the dotted name of the schema
flags for the schema
the attribute names and types of those attributes
Using this function is not normally necessary from C code.
A schema represents a set of attributes that are stored with an item. These
schemas are used for interoperability between various services storing the
same types of items.
Each schema has an @name like `org.gnome.keyring.NetworkPassword`, and
defines a set of attributes names, and types (string, integer, boolean) for
those attributes.
The variable argument list should contain pairs of a) The attribute name as
a null-terminated string, followed by b) integers from the
[enum@SchemaAttributeType] enumeration, representing the attribute type for
each attribute name. The list of attributes should be terminated with a %NULL.
Normally when looking up passwords only those with matching schema names are
returned. If the schema @flags contain the %SECRET_SCHEMA_DONT_MATCH_NAME flag,
then lookups will not check that the schema name matches that on the item, only
the schema's attributes are matched. This is useful when you are looking up items
that are not stored by the libsecret library. Other libraries such as libgnome-keyring
don't store the schema name.
the new schema, which should be unreferenced with
[method@Schema.unref] when done
the dotted name of the schema
the flags for the schema
the attribute names and types, terminated with %NULL
Using this function is not normally necessary from C code. This is useful
for constructing #SecretSchema structures in bindings.
A schema represents a set of attributes that are stored with an item. These
schemas are used for interoperability between various services storing the
same types of items.
Each schema has an @name like `org.gnome.keyring.NetworkPassword`, and
defines a set of attributes names, and types (string, integer, boolean) for
those attributes.
Each key in the @attributes table should be a attribute name strings, and
the values in the table should be integers from the [enum@SchemaAttributeType]
enumeration, representing the attribute type for each attribute name.
Normally when looking up passwords only those with matching schema names are
returned. If the schema @flags contain the %SECRET_SCHEMA_DONT_MATCH_NAME flag,
then lookups will not check that the schema name matches that on the item, only
the schema's attributes are matched. This is useful when you are looking up items
that are not stored by the libsecret library. Other libraries such as libgnome-keyring
don't store the schema name.
the new schema, which should be unreferenced with
[method@Schema.unref] when done
the dotted name of the schema
the flags for the schema
the attribute names and types of those attributes
Adds a reference to the #SecretSchema.
It is not normally necessary to call this function from C code, and is
mainly present for the sake of bindings. If the @schema was statically
allocated, then this function will copy the schema.
the referenced schema, which should be later
unreferenced with [method@Schema.unref]
the schema to reference
Releases a reference to the #SecretSchema.
If the last reference is released then the schema will be freed.
It is not normally necessary to call this function from C code, and is
mainly present for the sake of bindings. It is an error to call this for
a @schema that was statically allocated.
the schema to reference
An attribute in a #SecretSchema.
name of the attribute
the type of the attribute
The type of an attribute in a [struct@SecretSchema].
Attributes are stored as strings in the Secret Service, and the attribute
types simply define standard ways to store integer and boolean values as
strings.
a utf-8 string attribute
an integer attribute, stored as a decimal
a boolean attribute, stored as 'true' or 'false'
Flags for a #SecretSchema definition.
no flags for the schema
don't match the schema name when looking up or
removing passwords
Different types of schemas for storing secrets, intended for use with
[func@get_schema].
## @SECRET_SCHEMA_NOTE
A predefined schema for personal passwords stored by the user in the
password manager. This schema has no attributes, and the items are not
meant to be used automatically by applications.
When used to search for items using this schema, it will only match
items that have the same schema. Items stored via libgnome-keyring with the
`GNOME_KEYRING_ITEM_NOTE` item type will match.
## @SECRET_SCHEMA_COMPAT_NETWORK
A predefined schema that is compatible with items stored via the
libgnome-keyring 'network password' functions. This is meant to be used by
applications migrating from libgnome-keyring which stored their secrets as
'network passwords'. It is not recommended that new code use this schema.
When used to search for items using this schema, it will only match
items that have the same schema. Items stored via libgnome-keyring with the
`GNOME_KEYRING_ITEM_NETWORK_PASSWORD` item type will match.
The following attributes exist in the schema:
### Attributes:
<table>
<tr>
<td><tt>user</tt>:</td>
<td>The user name (string).</td>
</tr>
<tr>
<td><tt>domain</tt>:</td>
<td>The login domain or realm (string).</td></tr>
<tr>
<td><tt>object</tt>:</td>
<td>The object or path (string).</td>
</tr>
<tr>
<td><tt>protocol</tt>:</td>
<td>The protocol (a string like 'http').</td>
</tr>
<tr>
<td><tt>port</tt>:</td>
<td>The network port (integer).</td>
</tr>
<tr>
<td><tt>server</tt>:</td>
<td>The hostname or server (string).</td>
</tr>
<tr>
<td><tt>authtype</tt>:</td>
<td>The authentication type (string).</td>
</tr>
</table>
Personal passwords
Network passwords from older
libgnome-keyring storage
Various flags to be used with [method@Service.search] and [method@Service.search_sync].
no flags
all the items matching the search will be returned, instead of just the first one
unlock locked items while searching
while searching load secrets for items that are not locked
A proxy object representing the Secret Service.
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 [func@Service.get] method is used to access this #SecretService
object. If a new independent #SecretService object is required, use
[func@Service.open].
In order to securely transfer secrets to the Sercret Service, a session
is established. This session can be established while initializing a
#SecretService object by passing the %SECRET_SERVICE_OPEN_SESSION flag
to the [func@Service.get] or [func@Service.open] functions. In order to
establish a session on an already existing #SecretService, use the
[method@Service.ensure_session] function.
To search for items, use the [method@Service.search] method.
Multiple collections can exist in the Secret Service, each of which contains
secret items. In order to instantiate [class@Collection] objects which
represent those collections while initializing a #SecretService then pass
the %SECRET_SERVICE_LOAD_COLLECTIONS flag to the [func@Service.get] or
[func@Service.open] functions. In order to establish a session on an already
existing #SecretService, use the [method@Service.load_collections] function.
To access the list of collections use [method@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 [class@Prompt] object is created by this library, and
passed to the [method@Service.prompt] method. In this way it is handled
automatically.
In order to customize prompt handling, override the
[vfunc@Service.prompt_async] and [vfunc@Service.prompt_finish] virtual
methods of the #SecretService class.
Disconnect the default #SecretService proxy returned by [func@Service.get]
and [func@Service.get_sync].
It is not necessary to call this function, but you may choose to do so at
program exit. It is useful for testing that memory is not leaked.
This function is safe to call at any time. But if other objects in this
library are still referenced, then this will not result in all memory
being freed.
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 for which service functionality to ensure is initialized
optional cancellation object
called when the operation completes
data to be passed to the callback
Complete an asynchronous operation to get a #SecretService proxy for the
Secret Service.
a new reference to a #SecretService proxy, which
should be released with [method@GObject.Object.unref].
the asynchronous result passed to the callback
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.
a new reference to a #SecretService proxy, which
should be released with [method@GObject.Object.unref].
flags for which service functionality to ensure is initialized
optional cancellation object
Create a new #SecretService proxy for the Secret Service.
This function is rarely used, see [func@Service.get] instead.
The @service_gtype argument should be set to %SECRET_TYPE_SERVICE or a the type
of a derived class.
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.
the GType of the new secret service
the D-Bus service name of the secret service
flags for which service functionality to ensure is initialized
optional cancellation object
called when the operation completes
data to be passed to the callback
Complete an asynchronous operation to create a new #SecretService proxy for
the Secret Service.
a new reference to a #SecretService proxy, which
should be released with [method@GObject.Object.unref].
the asynchronous result passed to the callback
Create a new #SecretService proxy for the Secret Service.
This function is rarely used, see [func@Service.get_sync] instead.
The @service_gtype argument should be set to %SECRET_TYPE_SERVICE or a the
type of a derived class.
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.
a new reference to a #SecretService proxy, which
should be released with [method@GObject.Object.unref].
the GType of the new secret service
the D-Bus service name of the secret service
flags for which service functionality to ensure is initialized
optional cancellation object
Get the GObject type for collections instantiated by this service.
This will always be either [class@Collection] or derived from it.
the gobject type for collections
the secret service
Get the GObject type for items instantiated by this service.
This will always be either [class@Item] or derived from it.
the gobject type for items
the service
called to perform asynchronous prompting when necessary
Complete asynchronous operation to perform prompting for a [class@Prompt].
Returns a variant result if the prompt was completed and not dismissed. The
type of result depends on the action the prompt is completing, and is defined
in the Secret Service DBus API specification.
%NULL if the prompt was dismissed or an error occurred,
a variant result if the prompt was successful
the secret service
the asynchronous result passed to the callback
Perform prompting for a [class@Prompt].
Runs a prompt and performs the prompting. Returns a variant result if the
prompt was completed and not dismissed. The type of result depends on the
action the prompt is completing, and is defined in the Secret Service DBus
API specification.
This function is called by other parts of this library to handle prompts
for the various actions that can require prompting.
Override the #SecretServiceClass [vfunc@Service.prompt_sync] virtual method
to change the behavior of the prompting. The default behavior is to simply
run [method@Prompt.perform_sync] on the prompt with a %NULL `window_id`.
%NULL if the prompt was dismissed or an error occurred,
a variant result if the prompt was successful
the secret service
the prompt
optional cancellation object
the variant type of the prompt result
Remove unlocked items which match the attributes from the secret service.
The @attributes should be a set of key and value string pairs.
If @service is %NULL, then [func@Service.get] will be called to get
the default [class@Service] proxy.
This method will return immediately and complete asynchronously.
the secret service
the schema for the attributes
the attribute keys and values
optional cancellation object
called when the operation completes
data to be passed to the callback
Finish asynchronous operation to remove items from the secret
service.
whether items were removed or not
the secret service
the asynchronous result passed to the callback
Remove unlocked items which match the attributes from the secret service.
The @attributes should be a set of key and value string pairs.
If @service is %NULL, then [func@Service.get_sync] will be called to get
the default [class@Service] proxy.
This method may block indefinitely and should not be used in user interface
threads.
whether items were removed or not
the secret service
the schema for the attributes
the attribute keys and values
optional cancellation object
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
[func@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 [struct@GLib.Variant] 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. [method@Service.prompt] will be used to handle
any prompts that are required.
a secret service object
hash table of properties for
the new collection
an alias to check for before creating the new
collection, or to assign to the new collection
not currently used
optional cancellation object
called when the operation completes
data to be passed to the callback
Finish asynchronous operation to create a new collection in the secret
service.
a new string containing the D-Bus object path
of the collection
a secret service object
the asynchronous result passed to the callback
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
[func@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 [struct@GLib.Variant] 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. [method@Service.prompt]
will be used to handle any prompts that are required.
a new string containing the D-Bus object path
of the collection
a secret service object
hash table of D-Bus properties
for the new collection
an alias to check for before creating the new
collection, or to assign to the new collection
not currently used
optional cancellation object
Create a new item in a secret service collection and return its D-Bus
object path.
It is often easier to use [func@password_store] or [func@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 the @flags contains %SECRET_ITEM_CREATE_REPLACE, then the secret
service will search for an item matching the @attributes, and update that item
instead of creating a new one.
@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 [struct@GLib.Variant] values of the properties.
This method will return immediately and complete asynchronously. The secret
service may prompt the user. [method@Service.prompt] will be used to handle
any prompts that are required.
a secret service object
the D-Bus object path of the collection in which to create item
hash table of D-Bus properties
for the new collection
the secret value to store in the item
flags for the creation of the new item
optional cancellation object
called when the operation completes
data to be passed to the callback
Finish asynchronous operation to create a new item in the secret
service.
a new string containing the D-Bus object path
of the item
a secret service object
the asynchronous result passed to the callback
Create a new item in a secret service collection and return its D-Bus
object path.
It is often easier to use [func@password_store_sync] or [func@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 the @flags contains %SECRET_ITEM_CREATE_REPLACE, then the secret
service will search for an item matching the @attributes, and update that item
instead of creating a new one.
@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 [struct@GLib.Variant] 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. [method@Service.prompt]
will be used to handle any prompts that are required.
a new string containing the D-Bus object path
of the item
a secret service object
the D-Bus path of the collection in which to create item
hash table of D-Bus properties
for the new collection
the secret value to store in the item
flags for the creation of the new item
optional cancellation object
Decode a [struct@Value] into [struct@GLib.Variant] received with the Secret Service
DBus API.
The [struct@GLib.Variant] should have a `(oayays)` signature.
A session must have already been established by the [class@Service], and
the encoded secret must be valid for that session.
the decoded secret value
the service
the encoded secret
Delete a secret item from the secret service.
The item is represented by its D-Bus object path. If you already have a
[class@Item] proxy objects, use use [method@Item.delete] instead.
This method will return immediately and complete asynchronously.
the secret service
the D-Bus path of item to delete
optional cancellation object
called when the operation completes
data to be passed to the callback
Complete an asynchronous operation to delete a secret item from the secret
service.
whether the deletion was successful or not
the secret service
the asynchronous result passed to the callback
Delete a secret item from the secret service.
The item is represented by its D-Bus object path. If you already have a
[class@Item] proxy objects, use use [method@Item.delete_sync] instead.
This method may block indefinitely and should not be used in user interface
threads.
whether the deletion was successful or not
the secret service
the D-Bus path of item to delete
optional cancellation object
Encodes a [struct@Value] into [struct@GLib.Variant] for use with the Secret
Service DBus API.
The resulting [struct@GLib.Variant] will have a `(oayays)` signature.
A session must have already been established by the [class@Service].
the encoded secret
the service
the secret value
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 [func@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.
the secret service
optional cancellation object
called when the operation completes
data to be passed to the callback
Finish an asynchronous operation to ensure that the #SecretService proxy
has established a session with the Secret Service.
whether a session is established or not
the secret service
the asynchronous result passed to the callback
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 [func@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.
whether a session is established or not
the secret service
optional cancellation object
Get the GObject type for collections instantiated by this service.
This will always be either [class@Collection] or derived from it.
the gobject type for collections
the secret service
Get a list of [class@Collection] 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 [method@Service.load_collections] to load the collections.
a
list of the collections in the secret service
the secret service proxy
Get the flags representing what features of the #SecretService proxy
have been initialized.
Use [method@Service.ensure_session] or [method@Service.load_collections]
to initialize further features and change the flags.
the flags for features initialized
the secret service proxy
Get the GObject type for items instantiated by this service.
This will always be either [class@Item] or derived from it.
the gobject type for items
the service
Get the secret value for a secret item stored in the service.
The item is represented by its D-Bus object path. If you already have a
[class@Item] proxy object, use use [method@Item.get_secret] to more simply
get its secret value.
This function returns immediately and completes asynchronously.
the secret service
the D-Bus path to item to retrieve secret for
optional cancellation object
called when the operation completes
data to pass to the callback
Complete asynchronous operation to get the secret value for an
secret item stored in the service.
Will return %NULL if the item is locked.
the newly allocated secret value
for the item, which should be released with [method@Value.unref]
the secret service
asynchronous result passed to callback
Get the secret value for a secret item stored in the service.
The item is represented by its D-Bus object path. If you already have a
[class@Item] proxy object, use use [method@Item.load_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.
the newly allocated secret value
the item, which should be released with [method@Value.unref]
the secret service
the D-Bus path to item to retrieve secret for
optional cancellation object
Get the secret values for a secret item stored in the service.
The items are represented by their D-Bus object paths. If you already have
[class@Item] proxy objects, use use [func@Item.load_secrets] to more simply
get their secret values.
This function returns immediately and completes asynchronously.
the secret service
the D-Bus paths to items to retrieve secrets for
optional cancellation object
called when the operation completes
data to pass to the callback
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.
a newly
allocated hash table of item path keys to [struct@Value]
values.
the secret service
asynchronous result passed to callback
Get the secret values for a secret item stored in the service.
The items are represented by their D-Bus object paths. If you already have
[class@Item] proxy objects, use use [func@Item.load_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.
a newly
allocated hash table of item_path keys to [struct@Value]
values.
the secret service
the D-Bus paths to items to retrieve secrets for
optional cancellation object
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
[method@Service.ensure_session] to establish a session.
a string representing the algorithms for transferring
secrets
the secret service proxy
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
[method@Service.ensure_session] to establish a session.
a string representing the D-Bus object path of the
session
the secret service proxy
Ensure that the #SecretService proxy has loaded all the collections present
in the Secret Service.
This affects the result of [method@Service.get_collections].
You can also pass the %SECRET_SERVICE_LOAD_COLLECTIONS to
[func@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.
the secret service
optional cancellation object
called when the operation completes
data to be passed to the callback
Complete an asynchronous operation to ensure that the #SecretService proxy
has loaded all the collections present in the Secret Service.
whether the load was successful or not
the secret service
the asynchronous result passed to the callback
Ensure that the #SecretService proxy has loaded all the collections present
in the Secret Service.
This affects the result of [method@Service.get_collections].
You can also pass the %SECRET_SERVICE_LOAD_COLLECTIONS to
[func@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.
whether the load was successful or not
the secret service
optional cancellation object
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.
If @service is %NULL, then [func@Service.get] will be called to get
the default [class@Service] proxy.
This method returns immediately and completes asynchronously. The secret
service may prompt the user. [method@Service.prompt] will be used to handle
any prompts that show up.
the secret service
the items or collections to lock
optional cancellation object
called when the operation completes
data to pass to the callback
Lock items or collections in the secret service.
The items or collections are represented by their D-Bus object paths. If you
already have [class@Item] and [class@Collection] proxy objects, use use
[method@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. [method@Service.prompt] will be used to handle
any prompts that show up.
the secret service
the D-Bus paths for items or collections to lock
optional cancellation object
called when the operation completes
data to pass to the callback
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.
the number of items or collections that were locked
the secret service
asynchronous result passed to the callback
location to place array of D-Bus paths of items or collections
that were locked
Lock items or collections in the secret service.
The items or collections are represented by their D-Bus object paths. If you
already have [class@Item] and [class@Collection] proxy objects, use use
[method@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.
[method@Service.prompt] will be used to handle any prompts that show up.
the number of items or collections that were locked
the secret service
the D-Bus object paths of the items or collections to lock
optional cancellation object
location to place array of D-Bus paths of items or collections
that were locked
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.
the number of items or collections that were locked
the secret service
asynchronous result passed to the callback
location to place list of items or collections that were locked
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.
If @service is %NULL, then [func@Service.get_sync] will be called to get
the default [class@Service] proxy.
This method may block indefinitely and should not be used in user
interface threads. The secret service may prompt the user.
[method@Service.prompt] will be used to handle any prompts that show up.
the number of items or collections that were locked
the secret service
the items or collections to lock
optional cancellation object
location to place list of items or collections that were locked
Lookup a secret value in the secret service.
The @attributes should be a set of key and value string pairs.
If @service is %NULL, then [func@Service.get] will be called to get
the default [class@Service] proxy.
This method will return immediately and complete asynchronously.
the secret service
the schema for the attributes
the attribute keys and values
optional cancellation object
called when the operation completes
data to be passed to the callback
Finish asynchronous operation to lookup a secret value in the secret service.
If no secret is found then %NULL is returned.
a newly allocated [struct@Value], which should be
released with [method@Value.unref], or %NULL if no secret found
the secret service
the asynchronous result passed to the callback
Lookup a secret value in the secret service.
The @attributes should be a set of key and value string pairs.
If @service is %NULL, then [func@Service.get_sync] will be called to get
the default [class@Service] proxy.
This method may block indefinitely and should not be used in user interface
threads.
a newly allocated [struct@Value], which should be
released with [method@Value.unref], or %NULL if no secret found
the secret service
the schema for the attributes
the attribute keys and values
optional cancellation object
Perform prompting for a [class@Prompt].
This function is called by other parts of this library to handle prompts
for the various actions that can require prompting.
Override the #SecretServiceClass [vfunc@Service.prompt_async] virtual method
to change the behavior of the prompting. The default behavior is to simply
run [method@Prompt.perform] on the prompt.
the secret service
the prompt
the variant type of the prompt result
optional cancellation object
called when the operation completes
data to be passed to the callback
Perform prompting for a [class@Prompt].
This function is called by other parts of this library to handle prompts
for the various actions that can require prompting.
Override the #SecretServiceClass [vfunc@Service.prompt_async] virtual method
to change the behavior of the propmting. The default behavior is to simply
run [method@Prompt.perform] on the prompt.
the secret service
the D-Bus object path of the prompt
the variant type of the prompt result
optional cancellation object
called when the operation completes
data to be passed to the callback
Complete asynchronous operation to perform prompting for a [class@Prompt].
Returns a variant result if the prompt was completed and not dismissed. The
type of result depends on the action the prompt is completing, and is defined
in the Secret Service DBus API specification.
%NULL if the prompt was dismissed or an
error occurred, a variant result if the prompt was successful
the secret service
the asynchronous result passed to the callback
Perform prompting for a [class@Prompt].
Override the #SecretServiceClass [vfunc@Service.prompt_async] virtual method
to change the behavior of the propmting. The default behavior is to simply
run [method@Prompt.perform] on the prompt.
Returns a variant result if the prompt was completed and not dismissed. The
type of result depends on the action the prompt is completing, and is defined
in the Secret Service DBus API specification.
This method may block and should not be used in user interface threads.
%NULL if the prompt was dismissed or an
error occurred, a variant result if the prompt was successful
the secret service
the D-Bus object path of the prompt
optional cancellation object
the variant type of the prompt result
Complete asynchronous operation to perform prompting for a [class@Prompt].
Returns a variant result if the prompt was completed and not dismissed. The
type of result depends on the action the prompt is completing, and is defined
in the Secret Service DBus API specification.
%NULL if the prompt was dismissed or an error occurred,
a variant result if the prompt was successful
the secret service
the asynchronous result passed to the callback
Perform prompting for a [class@Prompt].
Runs a prompt and performs the prompting. Returns a variant result if the
prompt was completed and not dismissed. The type of result depends on the
action the prompt is completing, and is defined in the Secret Service DBus
API specification.
This function is called by other parts of this library to handle prompts
for the various actions that can require prompting.
Override the #SecretServiceClass [vfunc@Service.prompt_sync] virtual method
to change the behavior of the prompting. The default behavior is to simply
run [method@Prompt.perform_sync] on the prompt with a %NULL `window_id`.
%NULL if the prompt was dismissed or an error occurred,
a variant result if the prompt was successful
the secret service
the prompt
optional cancellation object
the variant type of the prompt result
Lookup which collection is assigned to this alias.
Aliases help determine well known collections, such as 'default'. This method
looks up the dbus object path of the well known collection.
This method will return immediately and complete asynchronously.
a secret service object
the alias to lookup
optional cancellation object
called when the operation completes
data to pass to the callback
Finish an asynchronous operation to lookup which collection is assigned
to an alias.
This method returns the DBus object path of the collection
the collection dbus object path,
or %NULL if none assigned to the alias
a secret service object
asynchronous result passed to callback
Lookup which collection is assigned to this alias.
Aliases help determine well known collections, such as 'default'. This method
returns the dbus object path of the collection.
This method may block and should not be used in user interface threads.
the collection dbus object path,
or %NULL if none assigned to the alias
a secret service object
the alias to lookup
optional cancellation object
Search for items matching the @attributes.
All collections are searched. The @attributes should be a table of string
keys and string values.
If @service is %NULL, then [func@Service.get] will be called to get
the default [class@Service] proxy.
If %SECRET_SEARCH_ALL is set in @flags, then all the items matching the
search will be returned. Otherwise only the first item will be returned.
This is almost always the unlocked item that was most recently stored.
If %SECRET_SEARCH_UNLOCK is set in @flags, then items will be unlocked
if necessary. In either case, locked and unlocked items will match the
search and be returned. If the unlock fails, the search does not fail.
If %SECRET_SEARCH_LOAD_SECRETS is set in @flags, then the items will have
their secret values loaded and available via [method@Item.get_secret].
This function returns immediately and completes asynchronously.
the secret service
the schema for the attributes
search for items matching these attributes
search option flags
optional cancellation object
called when the operation completes
data to pass to the callback
Complete asynchronous operation to search for items.
a list of items that matched the search
the secret service
asynchronous result passed to callback
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 [method@Service.search_for_dbus_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 [class@Item] objects to be returned
instead, then use the [method@Service.search] function.
the secret service
the schema for the attributes
search for items matching these attributes
optional cancellation object
called when the operation completes
data to pass to the callback
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 [class@Item] objects to be returned
instead, then us the [method@Service.search] and
[method@Service.search_finish] functions.
whether the search was successful or not
the secret service
asynchronous result passed to callback
location to place an array of D-Bus object paths for matching
items which were locked.
location to place an array of D-Bus object paths for matching
items which were locked.
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 indefinitely. 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 [class@Item] objects to be returned
instead, then use the [method@Service.search_sync] function.
whether the search was successful or not
the secret service
the schema for the attributes
search for items matching these attributes
optional cancellation object
location to place an array of D-Bus object paths for matching
items which were locked.
location to place an array of D-Bus object paths for matching
items which were locked.
Search for items matching the @attributes.
All collections are searched. The @attributes should be a table of string
keys and string values.
If @service is %NULL, then [func@Service.get_sync] will be called to get
the default [class@Service] proxy.
If %SECRET_SEARCH_ALL is set in @flags, then all the items matching the
search will be returned. Otherwise only the first item will be returned.
This is almost always the unlocked item that was most recently stored.
If %SECRET_SEARCH_UNLOCK is set in @flags, then items will be unlocked
if necessary. In either case, locked and unlocked items will match the
search and be returned. If the unlock fails, the search does not fail.
If %SECRET_SEARCH_LOAD_SECRETS is set in @flags, then the items' secret
values will be loaded for any unlocked items. Loaded item secret values
are available via [method@Item.get_secret]. If the load of a secret values
fail, then the
This function may block indefinitely. Use the asynchronous version
in user interface threads.
a list of items that matched the search
the secret service
the schema for the attributes
search for items matching these attributes
search option flags
optional cancellation object
Assign a collection to this alias.
Aliases help determine well known collections, such as 'default'.
If @service is %NULL, then [func@Service.get] will be called to get
the default [class@Service] proxy.
This method will return immediately and complete asynchronously.
a secret service object
the alias to assign the collection to
the collection to assign to the alias
optional cancellation object
called when the operation completes
data to pass to the callback
Finish an asynchronous operation to assign a collection to an alias.
%TRUE if successful
a secret service object
asynchronous result passed to callback
Assign a collection to this alias. Aliases help determine
well known collections, such as 'default'.
If @service is %NULL, then [func@Service.get_sync] will be called to get
the default [class@Service] proxy.
This method may block and should not be used in user interface threads.
%TRUE if successful
a secret service object
the alias to assign the collection to
the collection to assign to the alias
optional cancellation object
Assign a collection to this alias. Aliases help determine
well known collections, such as 'default'. This method takes the dbus object
path of the collection to assign to the alias.
This method will return immediately and complete asynchronously.
a secret service object
the alias to assign the collection to
the dbus object path of the collection to assign to the alias
optional cancellation object
called when the operation completes
data to pass to the callback
Finish an asynchronous operation to assign a collection to an alias.
%TRUE if successful
a secret service object
asynchronous result passed to callback
Assign a collection to this alias.
Aliases help determine well known collections, such as 'default'. This method
takes the dbus object path of the collection to assign to the alias.
This method may block and should not be used in user interface threads.
%TRUE if successful
a secret service object
the alias to assign the collection to
the D-Bus object path of the collection to
assign to the alias
optional cancellation object
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 @service is %NULL, then [func@Service.get] will be called to get
the default [class@Service] proxy.
If @collection is not specified, then the default collection will be
used. Use [const@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
the schema to use to check attributes
the attribute keys and values
a collection alias, or D-Bus object path of the
collection where to store the secret
label for the secret
the secret value
optional cancellation object
called when the operation completes
data to be passed to the callback
Finish asynchronous operation to store a secret value in the secret service.
whether the storage was successful or not
the secret service
the asynchronous result passed to the callback
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 is %NULL, then the default collection will be
used. Use [const@COLLECTION_SESSION] to store the password in the session
collection, which doesn't get stored across login sessions.
If @service is %NULL, then [func@Service.get_sync] will be called to get
the default [class@Service] proxy.
This method may block indefinitely and should not be used in user interface
threads.
whether the storage was successful or not
the secret service
the schema for the attributes
the attribute keys and values
a collection alias, or D-Bus object path of the
collection where to store the secret
label for the secret
the secret value
optional cancellation object
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.
If @service is %NULL, then [func@Service.get] will be called to get
the default [class@Service] proxy.
This method may block indefinitely and should not be used in user
interface threads. The secret service may prompt the user.
[method@Service.prompt] will be used to handle any prompts that show up.
the secret service
the items or collections to unlock
optional cancellation object
called when the operation completes
data to pass to the callback
Unlock items or collections in the secret service.
The items or collections are represented by their D-Bus object paths. If you
already have [class@Item] and [class@Collection] proxy objects, use use
[method@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. [method@Service.prompt] will be used to handle
any prompts that show up.
the secret service
the D-Bus paths for items or
collections to unlock
optional cancellation object
called when the operation completes
data to pass to the callback
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.
the number of items or collections that were unlocked
the secret service
asynchronous result passed to the callback
location to place array of D-Bus paths of items or collections
that were unlocked
Unlock items or collections in the secret service.
The items or collections are represented by their D-Bus object paths. If you
already have [class@Item] and [class@Collection] proxy objects, use use
[method@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.
[method@Service.prompt] will be used to handle any prompts that show up.
the number of items or collections that were unlocked
the secret service
the D-Bus object paths of the items or
collections to unlock
optional cancellation object
location to place array of D-Bus paths of items or collections
that were unlocked
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.
the number of items or collections that were unlocked
the secret service
asynchronous result passed to the callback
location to place list of items or collections that were unlocked
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.
If @service is %NULL, then [func@Service.get_sync] will be called to get
the default [class@Service] proxy.
This method may block indefinitely and should not be used in user
interface threads. The secret service may prompt the user.
[method@Service.prompt] will be used to handle any prompts that show up.
the number of items or collections that were unlocked
the secret service
the items or collections to unlock
optional cancellation object
location to place list of items or collections that were unlocked
A list of [class@Collection] 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 [func@Service.get] or
[func@Service.open] functions. Or call the [method@Service.load_collections]
method.
The class for #SecretService.
the parent class
the [alias@GObject.Type] of the [class@Collection] objects
instantiated by the #SecretService proxy
the [alias@GObject.Type] of the [class@Item] objects
instantiated by the #SecretService proxy
called to perform synchronous prompting when necessary
%NULL if the prompt was dismissed or an error occurred,
a variant result if the prompt was successful
the secret service
the prompt
optional cancellation object
the variant type of the prompt result
called to perform asynchronous prompting when necessary
called to complete an asynchronous prompt operation
%NULL if the prompt was dismissed or an error occurred,
a variant result if the prompt was successful
the secret service
the asynchronous result passed to the callback
called to get the GObject type for collections
instantiated by the #SecretService proxy
the gobject type for collections
the secret service
called to get the GObject type for collections
instantiated by the #SecretService proxy
the gobject type for items
the service
Flags which determine which parts of the #SecretService proxy are initialized
during a [func@Service.get] or [func@Service.open] operation.
no flags for initializing the #SecretService
establish a session for transfer of secrets
while initializing the #SecretService
load collections while initializing the
#SecretService
A value containing a secret
A #SecretValue contains a password or other secret value.
Use [method@Value.get] to get the actual secret data, such as a password.
The secret data is not necessarily null-terminated, unless the content type
is "text/plain".
Each #SecretValue has a content type. For passwords, this is `text/plain`.
Use [method@Value.get_content_type] to look at the content type.
#SecretValue is reference counted and immutable. The secret data is only
freed when all references have been released via [method@Value.unref].
Create a #SecretValue for the secret data passed in.
The secret data is copied into non-pageable 'secure' memory.
If the length is less than zero, then @secret is assumed to be
null-terminated.
the new #SecretValue
the secret data
the length of the data
the content type of the data
Create a #SecretValue for the secret data passed in.
The secret data is not copied, and will later be freed with the @destroy
function.
If the length is less than zero, then @secret is assumed to be
null-terminated.
the new #SecretValue
the secret data
the length of the data
the content type of the data
function to call to free the secret data
Get the secret data in the #SecretValue.
The value is not necessarily null-terminated unless it was created with
[ctor@Value.new] or a null-terminated string was passed to
[ctor@Value.new_full].
the secret data
the value
the length of the secret
Get the content type of the secret value, such as
`text/plain`.
the content type
the value
Get the secret data in the #SecretValue if it contains a textual
value.
The content type must be `text/plain`.
the content type
the value
Add another reference to the #SecretValue.
For each reference [method@Value.unref] should be called to unreference the
value.
the value
value to reference
Unreference a #SecretValue.
When the last reference is gone, then the value will be freed.
value to unreference
Unreference a #SecretValue and steal the secret data in
#SecretValue as nonpageable memory.
a new password string stored in nonpageable memory
which must be freed with [func@password_free] when done
the value
the length of the secret
Build up a hash table of attribute values.
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 attributes should be terminated with a %NULL.
a new table of
attributes, to be released with [func@GLib.HashTable.unref]
the schema for the attributes
the attribute keys and values, terminated with %NULL
Build up a hash table of attribute values.
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 attributes should be terminated with a %NULL.
a new table of
attributes, to be released with [func@GLib.HashTable.unref]
the schema for the attributes
the attribute keys and values, terminated with %NULL
Check if attributes are valid according to the provided schema.
Verifies schema name if available, attribute names and parsing
of attribute values.
whether or not the given attributes table is valid
the schema for the attributes
the attributes to be validated
Get a #SecretBackend instance.
If such a backend already exists, then the same backend is returned.
If @flags contains any flags of which parts of the secret backend to
ensure are initialized, then those will be initialized before completing.
This method will return immediately and complete asynchronously.
flags for which service functionality to ensure is initialized
optional cancellation object
called when the operation completes
data to be passed to the callback
Complete an asynchronous operation to get a #SecretBackend.
a new reference to a #SecretBackend proxy, which
should be released with [method@GObject.Object.unref].
the asynchronous result passed to the callback
Get the error quark.
the quark
Get a secret storage schema of the given @type.
C code may access the schemas (such as %SECRET_SCHEMA_NOTE) directly, but
language bindings cannot, and must use this accessor.
schema type
type of schema to get
Clear unlocked matching passwords 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 attributes should be terminated with a %NULL.
All unlocked items that match the attributes will be deleted.
This method will return immediately and complete asynchronously.
the schema for the attributes
optional cancellation object
called when the operation completes
data to be passed to the callback
the attribute keys and values, terminated with %NULL
Finish an asynchronous operation to remove passwords from the secret
service.
whether any passwords were removed
the asynchronous result passed to the callback
Remove unlocked matching passwords 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 attributes should be terminated with a %NULL.
All unlocked items that match the attributes will be deleted.
This method may block indefinitely and should not be used in user interface
threads.
whether the any passwords were removed
the schema for the attributes
optional cancellation object
location to place an error on failure
the attribute keys and values, terminated with %NULL
Remove unlocked matching passwords from the secret service.
The @attributes should be a set of key and value string pairs.
All unlocked items that match the attributes will be deleted.
This method will return immediately and complete asynchronously.
the schema for the attributes
the attribute keys and values
optional cancellation object
called when the operation completes
data to be passed to the callback
Remove unlocked matching passwords from the secret service.
The @attributes should be a set of key and value string pairs.
All unlocked items that match the attributes will be deleted.
This method may block indefinitely and should not be used in user interface
threads.
whether any passwords were removed
the schema for the attributes
the attribute keys and values
optional cancellation object
Clear the memory used by a password, and then free it.
This function must be used to free nonpageable memory returned by
[func@password_lookup_nonpageable_finish],
[func@password_lookup_nonpageable_sync] or
[func@password_lookupv_nonpageable_sync].
password to free
Lookup a password 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 attributes should be terminated with a %NULL.
If no secret is found then %NULL is returned.
This method will return immediately and complete asynchronously.
the schema for the attributes
optional cancellation object
called when the operation completes
data to be passed to the callback
the attribute keys and values, terminated with %NULL
Finish an asynchronous operation to lookup a password in the secret service.
a newly allocated [struct@Value], which should be
released with [method@Value.unref], or %NULL if no secret found
the asynchronous result passed to the callback
Lookup a password in the secret service.
This is similar to [func@password_lookup_sync], but returns a
[struct@Value] instead of a null-terminated password.
This method may block indefinitely and should not be used in user interface
threads.
a newly allocated [struct@Value], which should be
released with [method@Value.unref], or %NULL if no secret found
the schema for the attributes
optional cancellation object
location to place an error on failure
the attribute keys and values, terminated with %NULL
Finish an asynchronous operation to lookup a password in the secret service.
a new password string which should be freed with
[func@password_free] or may be freed with [func@GLib.free] when done
the asynchronous result passed to the callback
Finish an asynchronous operation to lookup a password in the secret service.
a new password string stored in nonpageable memory
which must be freed with [func@password_free] when done
the asynchronous result passed to the callback
Lookup a password 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 attributes 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.
a new password string stored in nonpageable memory
which must be freed with [func@password_free] when done
the schema for the attributes
optional cancellation object
location to place an error on failure
the attribute keys and values, terminated with %NULL
Lookup a password 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 attributes 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.
a new password string which should be freed with
[func@password_free] or may be freed with [func@GLib.free] when done
the schema for the attributes
optional cancellation object
location to place an error on failure
the attribute keys and values, terminated with %NULL
Lookup a password in the secret service.
The @attributes should be a set of key and value string pairs.
If no secret is found then %NULL is returned.
This method will return immediately and complete asynchronously.
the schema for attributes
the attribute keys and values
optional cancellation object
called when the operation completes
data to be passed to the callback
Lookup a password in the secret service.
This is similar to [func@password_lookupv_sync], but returns a
[struct@Value] instead of a null-terminated password.
This method may block indefinitely and should not be used in user interface
threads.
a newly allocated [struct@Value], which should be
released with [method@Value.unref], or %NULL if no secret found
the schema for attributes
the attribute keys and values
optional cancellation object
Lookup a password in the secret service.
The @attributes should be a set of key and value string pairs.
If no secret is found then %NULL is returned.
This method may block indefinitely and should not be used in user interface
threads.
a new password string stored in non pageable memory
which should be freed with [func@password_free] when done
the schema for attributes
the attribute keys and values
optional cancellation object
Lookup a password in the secret service.
The @attributes should be a set of key and value string pairs.
If no secret is found then %NULL is returned.
This method may block indefinitely and should not be used in user interface
threads.
a new password string which should be freed with
[func@password_free] or may be freed with [func@GLib.free] when done
the schema for attributes
the attribute keys and values
optional cancellation object
Search for items 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 attributes should be terminated with a %NULL.
This method will return immediately and complete asynchronously.
the schema for the attributes
search option flags
optional cancellation object
called when the operation completes
data to be passed to the callback
the attribute keys and values, terminated with %NULL
Finish an asynchronous operation to search for items in the secret service.
a list of
[iface@Retrievable] containing attributes of the matched items
the asynchronous result passed to the callback
Search for items 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 attributes 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.
a list of
[iface@Retrievable] containing attributes of the matched items
the schema for the attributes
search option flags
optional cancellation object
location to place an error on failure
the attribute keys and values, terminated with %NULL
Search for items in the secret service.
The @attributes should be a set of key and value string pairs.
This method will return immediately and complete asynchronously.
the schema for attributes
the attribute keys and values
search option flags
optional cancellation object
called when the operation completes
data to be passed to the callback
Search for items in the secret service.
The @attributes should be a set of key and value string pairs.
If no secret is found then %NULL is returned.
This method may block indefinitely and should not be used in user interface
threads.
a list of
[iface@Retrievable] containing attributes of the matched items
the schema for attributes
the attribute keys and values
search option flags
optional cancellation object
Store a password 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 @schema.
The list of attributes 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 is %NULL, then the default collection will be
used. Use [const@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 schema for attributes
a collection alias, or D-Bus object path of the
collection where to store the secret
label for the secret
the null-terminated password to store
optional cancellation object
called when the operation completes
data to be passed to the callback
the attribute keys and values, terminated with %NULL
Store a password in the secret service.
This is similar to [func@password_store], but takes a
[struct@Value] as the argument instead of a null-terminated password.
This method will return immediately and complete asynchronously.
the schema for attributes
a collection alias, or D-Bus object path of the
collection where to store the secret
label for the secret
a [struct@Value]
optional cancellation object
called when the operation completes
data to be passed to the callback
the attribute keys and values, terminated with %NULL
Store a password in the secret service.
This is similar to [func@password_store_sync], but takes a
[struct@Value] as the argument instead of a null terminated password.
This method may block indefinitely and should not be used in user interface
threads.
whether the storage was successful or not
the schema for attributes
a collection alias, or D-Bus object path of the
collection where to store the secret
label for the secret
a [struct@Value]
optional cancellation object
location to place an error on failure
the attribute keys and values, terminated with %NULL
Finish asynchronous operation to store a password in the secret service.
whether the storage was successful or not
the asynchronous result passed to the callback
Store a password 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 @schema.
The list of attributes 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 is %NULL, then the default collection will be
used. Use [const@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.
whether the storage was successful or not
the schema for attributes
a collection alias, or D-Bus object path of the
collection where to store the secret
label for the secret
the null-terminated password to store
optional cancellation object
location to place an error on failure
the attribute keys and values, terminated with %NULL
Store a password 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 is %NULL, then the default collection will be
used. Use [const@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 schema for attributes
the attribute keys and values
a collection alias, or D-Bus object path of the
collection where to store the secret
label for the secret
the null-terminated password to store
optional cancellation object
called when the operation completes
data to be passed to the callback
Store a password in the secret service.
This is similar to [func@password_storev], but takes a
[struct@Value] as the argument instead of a null-terminated password.
This method will return immediately and complete asynchronously.
the schema for attributes
the attribute keys and values
a collection alias, or D-Bus object path of the
collection where to store the secret
label for the secret
a [struct@Value]
optional cancellation object
called when the operation completes
data to be passed to the callback
Store a password in the secret service.
This is similar to [func@password_storev_sync], but takes a [struct@Value] as
the argument instead of a null-terminated passwords.
This method may block indefinitely and should not be used in user interface
threads.
whether the storage was successful or not
the schema for attributes
the attribute keys and values
a collection alias, or D-Bus object path of the
collection where to store the secret
label for the secret
a [struct@Value]
optional cancellation object
Store a password 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 is %NULL, then the default collection will be
used. Use [const@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.
whether the storage was successful or not
the schema for attributes
the attribute keys and values
a collection alias, or D-Bus object path of the
collection where to store the secret
label for the secret
the null-terminated password to store
optional cancellation object
Clear the memory used by a password.
password to clear