gi-secret-0.0.17: Libsecret bindings
CopyrightWill Thompson and Iñaki García Etxebarria
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellSafe-Inferred
LanguageHaskell2010

GI.Secret.Objects.Service

Description

A proxy object representing the Secret Service.

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

Normally a single Service object can be shared between multiple callers. The Service.get method is used to access this Service object. If a new independent Service object is required, use Service.open.

In order to securely transfer secrets to the Sercret Service, a session is established. This session can be established while initializing a Service object by passing the ServiceFlagsOpenSession flag to the Service.get or Service.open functions. In order to establish a session on an already existing Service, use the [methodservice.ensure_session] function.

To search for items, use the [methodservice.search] method.

Multiple collections can exist in the Secret Service, each of which contains secret items. In order to instantiate [classcollection] objects which represent those collections while initializing a Service then pass the ServiceFlagsLoadCollections flag to the Service.get or Service.open functions. In order to establish a session on an already existing Service, use the [methodservice.load_collections] function. To access the list of collections use [methodservice.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 [classprompt] object is created by this library, and passed to the [methodservice.prompt] method. In this way it is handled automatically.

In order to customize prompt handling, override the [vfuncservice.prompt_async] and [vfuncservice.prompt_finish] virtual methods of the Service class.

Synopsis

Exported types

newtype Service Source #

Memory-managed wrapper type.

Constructors

Service (ManagedPtr Service) 

Instances

Instances details
Eq Service Source # 
Instance details

Defined in GI.Secret.Objects.Service

Methods

(==) :: Service -> Service -> Bool #

(/=) :: Service -> Service -> Bool #

GObject Service Source # 
Instance details

Defined in GI.Secret.Objects.Service

ManagedPtrNewtype Service Source # 
Instance details

Defined in GI.Secret.Objects.Service

Methods

toManagedPtr :: Service -> ManagedPtr Service

TypedObject Service Source # 
Instance details

Defined in GI.Secret.Objects.Service

Methods

glibType :: IO GType

HasParentTypes Service Source # 
Instance details

Defined in GI.Secret.Objects.Service

IsGValue (Maybe Service) Source #

Convert Service to and from GValue. See toGValue and fromGValue.

Instance details

Defined in GI.Secret.Objects.Service

Methods

gvalueGType_ :: IO GType

gvalueSet_ :: Ptr GValue -> Maybe Service -> IO ()

gvalueGet_ :: Ptr GValue -> IO (Maybe Service)

type ParentTypes Service Source # 
Instance details

Defined in GI.Secret.Objects.Service

type ParentTypes Service = '[DBusProxy, Object, AsyncInitable, DBusInterface, Initable, Backend]

class (GObject o, IsDescendantOf Service o) => IsService o Source #

Type class for types which can be safely cast to Service, for instance with toService.

Instances

Instances details
(GObject o, IsDescendantOf Service o) => IsService o Source # 
Instance details

Defined in GI.Secret.Objects.Service

toService :: (MonadIO m, IsService o) => o -> m Service Source #

Cast to Service, for types for which this is known to be safe. For general casts, use castTo.

Methods

clear

serviceClear Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a, IsCancellable b) 
=> a

service: the secret service

-> Maybe Schema

schema: the schema for the attributes

-> Map Text Text

attributes: the attribute keys and values

-> Maybe b

cancellable: optional cancellation object

-> Maybe AsyncReadyCallback

callback: called when the operation completes

-> m () 

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 Nothing, then Service.get will be called to get the default [classservice] proxy.

This method will return immediately and complete asynchronously.

clearFinish

serviceClearFinish Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a, IsAsyncResult b) 
=> a

service: the secret service

-> b

result: the asynchronous result passed to the callback

-> m ()

(Can throw GError)

Finish asynchronous operation to remove items from the secret service.

clearSync

serviceClearSync Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a, IsCancellable b) 
=> a

service: the secret service

-> Maybe Schema

schema: the schema for the attributes

-> Map Text Text

attributes: the attribute keys and values

-> Maybe b

cancellable: optional cancellation object

-> m ()

(Can throw GError)

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 Nothing, then Service.get_sync will be called to get the default [classservice] proxy.

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

decodeDbusSecret

serviceDecodeDbusSecret Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a) 
=> a

service: the service

-> GVariant

value: the encoded secret

-> m Value

Returns: the decoded secret value

Decode a [structvalue] into [structgLib.Variant] received with the Secret Service DBus API.

The [structgLib.Variant] should have a (oayays) signature.

A session must have already been established by the [classservice], and the encoded secret must be valid for that session.

disconnect

serviceDisconnect :: (HasCallStack, MonadIO m) => m () Source #

Disconnect the default Service proxy returned by Service.get and 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.

encodeDbusSecret

serviceEncodeDbusSecret Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a) 
=> a

service: the service

-> Value

value: the secret value

-> m GVariant

Returns: the encoded secret

Encodes a [structvalue] into [structgLib.Variant] for use with the Secret Service DBus API.

The resulting [structgLib.Variant] will have a (oayays) signature.

A session must have already been established by the [classservice].

ensureSession

serviceEnsureSession Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a, IsCancellable b) 
=> a

self: the secret service

-> Maybe b

cancellable: optional cancellation object

-> Maybe AsyncReadyCallback

callback: called when the operation completes

-> m () 

Ensure that the Service 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 ServiceFlagsOpenSession to Service.get in order to ensure that a session has been established by the time you get the Service proxy.

This method will return immediately and complete asynchronously.

ensureSessionFinish

serviceEnsureSessionFinish Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a, IsAsyncResult b) 
=> a

self: the secret service

-> b

result: the asynchronous result passed to the callback

-> m ()

(Can throw GError)

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

ensureSessionSync

serviceEnsureSessionSync Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a, IsCancellable b) 
=> a

self: the secret service

-> Maybe b

cancellable: optional cancellation object

-> m ()

(Can throw GError)

Ensure that the Service 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 ServiceFlagsOpenSession to Service.get_sync in order to ensure that a session has been established by the time you get the Service proxy.

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

get

serviceGet Source #

Arguments

:: (HasCallStack, MonadIO m, IsCancellable a) 
=> [ServiceFlags]

flags: flags for which service functionality to ensure is initialized

-> Maybe a

cancellable: optional cancellation object

-> Maybe AsyncReadyCallback

callback: called when the operation completes

-> m () 

Get a Service 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.

getCollectionGtype

serviceGetCollectionGtype Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a) 
=> a

self: the secret service

-> m GType

Returns: the gobject type for collections

Get the GObject type for collections instantiated by this service.

This will always be either [classcollection] or derived from it.

getCollections

serviceGetCollections Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a) 
=> a

self: the secret service proxy

-> m [Collection]

Returns: a list of the collections in the secret service

Get a list of [classcollection] objects representing all the collections in the secret service.

If the ServiceFlagsLoadCollections flag was not specified when initializing Service proxy object, then this method will return Nothing. Use [methodservice.load_collections] to load the collections.

getFinish

serviceGetFinish Source #

Arguments

:: (HasCallStack, MonadIO m, IsAsyncResult a) 
=> a

result: the asynchronous result passed to the callback

-> m Service

Returns: a new reference to a Service proxy, which should be released with objectUnref. (Can throw GError)

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

getFlags

serviceGetFlags Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a) 
=> a

self: the secret service proxy

-> m [ServiceFlags]

Returns: the flags for features initialized

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

Use [methodservice.ensure_session] or [methodservice.load_collections] to initialize further features and change the flags.

getItemGtype

serviceGetItemGtype Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a) 
=> a

self: the service

-> m GType

Returns: the gobject type for items

Get the GObject type for items instantiated by this service.

This will always be either [classitem] or derived from it.

getSessionAlgorithms

serviceGetSessionAlgorithms Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a) 
=> a

self: the secret service proxy

-> m (Maybe Text)

Returns: a string representing the algorithms for transferring secrets

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

This will be Nothing if no session has been established. Use [methodservice.ensure_session] to establish a session.

getSessionDbusPath

serviceGetSessionDbusPath Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a) 
=> a

self: the secret service proxy

-> m (Maybe Text)

Returns: a string representing the D-Bus object path of the session

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 Nothing if no session has been established. Use [methodservice.ensure_session] to establish a session.

getSync

serviceGetSync Source #

Arguments

:: (HasCallStack, MonadIO m, IsCancellable a) 
=> [ServiceFlags]

flags: flags for which service functionality to ensure is initialized

-> Maybe a

cancellable: optional cancellation object

-> m Service

Returns: a new reference to a Service proxy, which should be released with objectUnref. (Can throw GError)

Get a Service 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.

loadCollections

serviceLoadCollections Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a, IsCancellable b) 
=> a

self: the secret service

-> Maybe b

cancellable: optional cancellation object

-> Maybe AsyncReadyCallback

callback: called when the operation completes

-> m () 

Ensure that the Service proxy has loaded all the collections present in the Secret Service.

This affects the result of [methodservice.get_collections].

You can also pass the ServiceFlagsLoadCollections to Service.get_sync in order to ensure that the collections have been loaded by the time you get the Service proxy.

This method will return immediately and complete asynchronously.

loadCollectionsFinish

serviceLoadCollectionsFinish Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a, IsAsyncResult b) 
=> a

self: the secret service

-> b

result: the asynchronous result passed to the callback

-> m ()

(Can throw GError)

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

loadCollectionsSync

serviceLoadCollectionsSync Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a, IsCancellable b) 
=> a

self: the secret service

-> Maybe b

cancellable: optional cancellation object

-> m ()

(Can throw GError)

Ensure that the Service proxy has loaded all the collections present in the Secret Service.

This affects the result of [methodservice.get_collections].

You can also pass the ServiceFlagsLoadCollections to Service.get_sync in order to ensure that the collections have been loaded by the time you get the Service proxy.

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

lock

serviceLock Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a, IsDBusProxy b, IsCancellable c) 
=> a

service: the secret service

-> [b]

objects: the items or collections to lock

-> Maybe c

cancellable: optional cancellation object

-> Maybe AsyncReadyCallback

callback: called when the operation completes

-> m () 

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 Nothing, then Service.get will be called to get the default [classservice] proxy.

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

lockFinish

serviceLockFinish Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a, IsAsyncResult b) 
=> a

service: the secret service

-> b

result: asynchronous result passed to the callback

-> m (Int32, [DBusProxy])

Returns: the number of items or collections that were locked (Can throw GError)

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.

lockSync

serviceLockSync Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a, IsDBusProxy b, IsCancellable c) 
=> a

service: the secret service

-> [b]

objects: the items or collections to lock

-> Maybe c

cancellable: optional cancellation object

-> m (Int32, [DBusProxy])

Returns: the number of items or collections that were locked (Can throw GError)

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 Nothing, then Service.get_sync will be called to get the default [classservice] proxy.

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

lookup

serviceLookup Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a, IsCancellable b) 
=> a

service: the secret service

-> Maybe Schema

schema: the schema for the attributes

-> Map Text Text

attributes: the attribute keys and values

-> Maybe b

cancellable: optional cancellation object

-> Maybe AsyncReadyCallback

callback: called when the operation completes

-> m () 

Lookup a secret value in the secret service.

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

If service is Nothing, then Service.get will be called to get the default [classservice] proxy.

This method will return immediately and complete asynchronously.

lookupFinish

serviceLookupFinish Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a, IsAsyncResult b) 
=> a

service: the secret service

-> b

result: the asynchronous result passed to the callback

-> m Value

Returns: a newly allocated [structvalue], which should be released with [methodvalue.unref], or Nothing if no secret found (Can throw GError)

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

If no secret is found then Nothing is returned.

lookupSync

serviceLookupSync Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a, IsCancellable b) 
=> a

service: the secret service

-> Maybe Schema

schema: the schema for the attributes

-> Map Text Text

attributes: the attribute keys and values

-> Maybe b

cancellable: optional cancellation object

-> m Value

Returns: a newly allocated [structvalue], which should be released with [methodvalue.unref], or Nothing if no secret found (Can throw GError)

Lookup a secret value in the secret service.

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

If service is Nothing, then Service.get_sync will be called to get the default [classservice] proxy.

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

open

serviceOpen Source #

Arguments

:: (HasCallStack, MonadIO m, IsCancellable a) 
=> GType

serviceGtype: the GType of the new secret service

-> Maybe Text

serviceBusName: the D-Bus service name of the secret service

-> [ServiceFlags]

flags: flags for which service functionality to ensure is initialized

-> Maybe a

cancellable: optional cancellation object

-> Maybe AsyncReadyCallback

callback: called when the operation completes

-> m () 

Create a new Service proxy for the Secret Service.

This function is rarely used, see Service.get instead.

The serviceGtype 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 serviceBusName is Nothing then the default is used.

This method will return immediately and complete asynchronously.

openFinish

serviceOpenFinish Source #

Arguments

:: (HasCallStack, MonadIO m, IsAsyncResult a) 
=> a

result: the asynchronous result passed to the callback

-> m Service

Returns: a new reference to a Service proxy, which should be released with objectUnref. (Can throw GError)

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

openSync

serviceOpenSync Source #

Arguments

:: (HasCallStack, MonadIO m, IsCancellable a) 
=> GType

serviceGtype: the GType of the new secret service

-> Maybe Text

serviceBusName: the D-Bus service name of the secret service

-> [ServiceFlags]

flags: flags for which service functionality to ensure is initialized

-> Maybe a

cancellable: optional cancellation object

-> m Service

Returns: a new reference to a Service proxy, which should be released with objectUnref. (Can throw GError)

Create a new Service proxy for the Secret Service.

This function is rarely used, see Service.get_sync instead.

The serviceGtype 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 serviceBusName is Nothing then the default is used.

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

prompt

servicePrompt Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a, IsPrompt b, IsCancellable c) 
=> a

self: the secret service

-> b

prompt: the prompt

-> Maybe VariantType

returnType: the variant type of the prompt result

-> Maybe c

cancellable: optional cancellation object

-> Maybe AsyncReadyCallback

callback: called when the operation completes

-> m () 

Perform prompting for a [classprompt].

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

Override the ServiceClass [vfuncservice.prompt_async] virtual method to change the behavior of the prompting. The default behavior is to simply run [methodprompt.perform] on the prompt.

promptFinish

servicePromptFinish Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a, IsAsyncResult b) 
=> a

self: the secret service

-> b

result: the asynchronous result passed to the callback

-> m GVariant

Returns: Nothing if the prompt was dismissed or an error occurred, a variant result if the prompt was successful (Can throw GError)

Complete asynchronous operation to perform prompting for a [classprompt].

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.

promptSync

servicePromptSync Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a, IsPrompt b, IsCancellable c) 
=> a

self: the secret service

-> b

prompt: the prompt

-> Maybe c

cancellable: optional cancellation object

-> VariantType

returnType: the variant type of the prompt result

-> m GVariant

Returns: Nothing if the prompt was dismissed or an error occurred, a variant result if the prompt was successful (Can throw GError)

Perform prompting for a [classprompt].

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 ServiceClass [vfuncservice.prompt_sync] virtual method to change the behavior of the prompting. The default behavior is to simply run [methodprompt.perform_sync] on the prompt with a Nothing window_id.

search

serviceSearch Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a, IsCancellable b) 
=> a

service: the secret service

-> Maybe Schema

schema: the schema for the attributes

-> Map Text Text

attributes: search for items matching these attributes

-> [SearchFlags]

flags: search option flags

-> Maybe b

cancellable: optional cancellation object

-> Maybe AsyncReadyCallback

callback: called when the operation completes

-> m () 

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 Nothing, then Service.get will be called to get the default [classservice] proxy.

If SearchFlagsAll 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 SearchFlagsUnlock 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 SearchFlagsLoadSecrets is set in flags, then the items will have their secret values loaded and available via [methoditem.get_secret].

This function returns immediately and completes asynchronously.

searchFinish

serviceSearchFinish Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a, IsAsyncResult b) 
=> a

service: the secret service

-> b

result: asynchronous result passed to callback

-> m [Item]

Returns: a list of items that matched the search (Can throw GError)

Complete asynchronous operation to search for items.

searchSync

serviceSearchSync Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a, IsCancellable b) 
=> a

service: the secret service

-> Maybe Schema

schema: the schema for the attributes

-> Map Text Text

attributes: search for items matching these attributes

-> [SearchFlags]

flags: search option flags

-> Maybe b

cancellable: optional cancellation object

-> m [Item]

Returns: a list of items that matched the search (Can throw GError)

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 Nothing, then Service.get_sync will be called to get the default [classservice] proxy.

If SearchFlagsAll 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 SearchFlagsUnlock 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 SearchFlagsLoadSecrets is set in flags, then the items' secret values will be loaded for any unlocked items. Loaded item secret values are available via [methoditem.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.

setAlias

serviceSetAlias Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a, IsCollection b, IsCancellable c) 
=> a

service: a secret service object

-> Text

alias: the alias to assign the collection to

-> Maybe b

collection: the collection to assign to the alias

-> Maybe c

cancellable: optional cancellation object

-> Maybe AsyncReadyCallback

callback: called when the operation completes

-> m () 

Assign a collection to this alias.

Aliases help determine well known collections, such as 'default'.

If service is Nothing, then Service.get will be called to get the default [classservice] proxy.

This method will return immediately and complete asynchronously.

setAliasFinish

serviceSetAliasFinish Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a, IsAsyncResult b) 
=> a

service: a secret service object

-> b

result: asynchronous result passed to callback

-> m ()

(Can throw GError)

Finish an asynchronous operation to assign a collection to an alias.

setAliasSync

serviceSetAliasSync Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a, IsCollection b, IsCancellable c) 
=> a

service: a secret service object

-> Text

alias: the alias to assign the collection to

-> Maybe b

collection: the collection to assign to the alias

-> Maybe c

cancellable: optional cancellation object

-> m ()

(Can throw GError)

Assign a collection to this alias. Aliases help determine well known collections, such as 'default'.

If service is Nothing, then Service.get_sync will be called to get the default [classservice] proxy.

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

store

serviceStore Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a, IsCancellable b) 
=> a

service: the secret service

-> Maybe Schema

schema: the schema to use to check attributes

-> Map Text Text

attributes: the attribute keys and values

-> Maybe Text

collection: a collection alias, or D-Bus object path of the collection where to store the secret

-> Text

label: label for the secret

-> Value

value: the secret value

-> Maybe b

cancellable: optional cancellation object

-> Maybe AsyncReadyCallback

callback: called when the operation completes

-> m () 

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 Nothing, then Service.get will be called to get the default [classservice] proxy.

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

This method will return immediately and complete asynchronously.

storeFinish

serviceStoreFinish Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a, IsAsyncResult b) 
=> a

service: the secret service

-> b

result: the asynchronous result passed to the callback

-> m ()

(Can throw GError)

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

storeSync

serviceStoreSync Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a, IsCancellable b) 
=> a

service: the secret service

-> Maybe Schema

schema: the schema for the attributes

-> Map Text Text

attributes: the attribute keys and values

-> Maybe Text

collection: a collection alias, or D-Bus object path of the collection where to store the secret

-> Text

label: label for the secret

-> Value

value: the secret value

-> Maybe b

cancellable: optional cancellation object

-> m ()

(Can throw GError)

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 Nothing, then the default collection will be used. Use [constcOLLECTIONSESSION] to store the password in the session collection, which doesn't get stored across login sessions.

If service is Nothing, then Service.get_sync will be called to get the default [classservice] proxy.

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

unlock

serviceUnlock Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a, IsDBusProxy b, IsCancellable c) 
=> a

service: the secret service

-> [b]

objects: the items or collections to unlock

-> Maybe c

cancellable: optional cancellation object

-> Maybe AsyncReadyCallback

callback: called when the operation completes

-> m () 

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 Nothing, then Service.get will be called to get the default [classservice] proxy.

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

unlockFinish

serviceUnlockFinish Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a, IsAsyncResult b) 
=> a

service: the secret service

-> b

result: asynchronous result passed to the callback

-> m (Int32, [DBusProxy])

Returns: the number of items or collections that were unlocked (Can throw GError)

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.

unlockSync

serviceUnlockSync Source #

Arguments

:: (HasCallStack, MonadIO m, IsService a, IsDBusProxy b, IsCancellable c) 
=> a

service: the secret service

-> [b]

objects: the items or collections to unlock

-> Maybe c

cancellable: optional cancellation object

-> m (Int32, [DBusProxy])

Returns: the number of items or collections that were unlocked (Can throw GError)

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 Nothing, then Service.get_sync will be called to get the default [classservice] proxy.

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