Copyright | Will Thompson and Iñaki García Etxebarria |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
- Exported types
- Methods
- clear
- clearFinish
- clearSync
- decodeDbusSecret
- disconnect
- encodeDbusSecret
- ensureSession
- ensureSessionFinish
- ensureSessionSync
- get
- getCollectionGtype
- getCollections
- getFinish
- getFlags
- getItemGtype
- getSessionAlgorithms
- getSessionDbusPath
- getSync
- loadCollections
- loadCollectionsFinish
- loadCollectionsSync
- lock
- lockFinish
- lockSync
- lookup
- lookupFinish
- lookupSync
- open
- openFinish
- openSync
- prompt
- promptFinish
- promptSync
- search
- searchFinish
- searchSync
- setAlias
- setAliasFinish
- setAliasSync
- store
- storeFinish
- storeSync
- unlock
- unlockFinish
- unlockSync
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
- newtype Service = Service (ManagedPtr Service)
- class (GObject o, IsDescendantOf Service o) => IsService o
- toService :: (MonadIO m, IsService o) => o -> m Service
- serviceClear :: (HasCallStack, MonadIO m, IsService a, IsCancellable b) => a -> Maybe Schema -> Map Text Text -> Maybe b -> Maybe AsyncReadyCallback -> m ()
- serviceClearFinish :: (HasCallStack, MonadIO m, IsService a, IsAsyncResult b) => a -> b -> m ()
- serviceClearSync :: (HasCallStack, MonadIO m, IsService a, IsCancellable b) => a -> Maybe Schema -> Map Text Text -> Maybe b -> m ()
- serviceDecodeDbusSecret :: (HasCallStack, MonadIO m, IsService a) => a -> GVariant -> m Value
- serviceDisconnect :: (HasCallStack, MonadIO m) => m ()
- serviceEncodeDbusSecret :: (HasCallStack, MonadIO m, IsService a) => a -> Value -> m GVariant
- serviceEnsureSession :: (HasCallStack, MonadIO m, IsService a, IsCancellable b) => a -> Maybe b -> Maybe AsyncReadyCallback -> m ()
- serviceEnsureSessionFinish :: (HasCallStack, MonadIO m, IsService a, IsAsyncResult b) => a -> b -> m ()
- serviceEnsureSessionSync :: (HasCallStack, MonadIO m, IsService a, IsCancellable b) => a -> Maybe b -> m ()
- serviceGet :: (HasCallStack, MonadIO m, IsCancellable a) => [ServiceFlags] -> Maybe a -> Maybe AsyncReadyCallback -> m ()
- serviceGetCollectionGtype :: (HasCallStack, MonadIO m, IsService a) => a -> m GType
- serviceGetCollections :: (HasCallStack, MonadIO m, IsService a) => a -> m [Collection]
- serviceGetFinish :: (HasCallStack, MonadIO m, IsAsyncResult a) => a -> m Service
- serviceGetFlags :: (HasCallStack, MonadIO m, IsService a) => a -> m [ServiceFlags]
- serviceGetItemGtype :: (HasCallStack, MonadIO m, IsService a) => a -> m GType
- serviceGetSessionAlgorithms :: (HasCallStack, MonadIO m, IsService a) => a -> m (Maybe Text)
- serviceGetSessionDbusPath :: (HasCallStack, MonadIO m, IsService a) => a -> m (Maybe Text)
- serviceGetSync :: (HasCallStack, MonadIO m, IsCancellable a) => [ServiceFlags] -> Maybe a -> m Service
- serviceLoadCollections :: (HasCallStack, MonadIO m, IsService a, IsCancellable b) => a -> Maybe b -> Maybe AsyncReadyCallback -> m ()
- serviceLoadCollectionsFinish :: (HasCallStack, MonadIO m, IsService a, IsAsyncResult b) => a -> b -> m ()
- serviceLoadCollectionsSync :: (HasCallStack, MonadIO m, IsService a, IsCancellable b) => a -> Maybe b -> m ()
- serviceLock :: (HasCallStack, MonadIO m, IsService a, IsDBusProxy b, IsCancellable c) => a -> [b] -> Maybe c -> Maybe AsyncReadyCallback -> m ()
- serviceLockFinish :: (HasCallStack, MonadIO m, IsService a, IsAsyncResult b) => a -> b -> m (Int32, [DBusProxy])
- serviceLockSync :: (HasCallStack, MonadIO m, IsService a, IsDBusProxy b, IsCancellable c) => a -> [b] -> Maybe c -> m (Int32, [DBusProxy])
- serviceLookup :: (HasCallStack, MonadIO m, IsService a, IsCancellable b) => a -> Maybe Schema -> Map Text Text -> Maybe b -> Maybe AsyncReadyCallback -> m ()
- serviceLookupFinish :: (HasCallStack, MonadIO m, IsService a, IsAsyncResult b) => a -> b -> m Value
- serviceLookupSync :: (HasCallStack, MonadIO m, IsService a, IsCancellable b) => a -> Maybe Schema -> Map Text Text -> Maybe b -> m Value
- serviceOpen :: (HasCallStack, MonadIO m, IsCancellable a) => GType -> Maybe Text -> [ServiceFlags] -> Maybe a -> Maybe AsyncReadyCallback -> m ()
- serviceOpenFinish :: (HasCallStack, MonadIO m, IsAsyncResult a) => a -> m Service
- serviceOpenSync :: (HasCallStack, MonadIO m, IsCancellable a) => GType -> Maybe Text -> [ServiceFlags] -> Maybe a -> m Service
- servicePrompt :: (HasCallStack, MonadIO m, IsService a, IsPrompt b, IsCancellable c) => a -> b -> Maybe VariantType -> Maybe c -> Maybe AsyncReadyCallback -> m ()
- servicePromptFinish :: (HasCallStack, MonadIO m, IsService a, IsAsyncResult b) => a -> b -> m GVariant
- servicePromptSync :: (HasCallStack, MonadIO m, IsService a, IsPrompt b, IsCancellable c) => a -> b -> Maybe c -> VariantType -> m GVariant
- serviceSearch :: (HasCallStack, MonadIO m, IsService a, IsCancellable b) => a -> Maybe Schema -> Map Text Text -> [SearchFlags] -> Maybe b -> Maybe AsyncReadyCallback -> m ()
- serviceSearchFinish :: (HasCallStack, MonadIO m, IsService a, IsAsyncResult b) => a -> b -> m [Item]
- serviceSearchSync :: (HasCallStack, MonadIO m, IsService a, IsCancellable b) => a -> Maybe Schema -> Map Text Text -> [SearchFlags] -> Maybe b -> m [Item]
- serviceSetAlias :: (HasCallStack, MonadIO m, IsService a, IsCollection b, IsCancellable c) => a -> Text -> Maybe b -> Maybe c -> Maybe AsyncReadyCallback -> m ()
- serviceSetAliasFinish :: (HasCallStack, MonadIO m, IsService a, IsAsyncResult b) => a -> b -> m ()
- serviceSetAliasSync :: (HasCallStack, MonadIO m, IsService a, IsCollection b, IsCancellable c) => a -> Text -> Maybe b -> Maybe c -> m ()
- serviceStore :: (HasCallStack, MonadIO m, IsService a, IsCancellable b) => a -> Maybe Schema -> Map Text Text -> Maybe Text -> Text -> Value -> Maybe b -> Maybe AsyncReadyCallback -> m ()
- serviceStoreFinish :: (HasCallStack, MonadIO m, IsService a, IsAsyncResult b) => a -> b -> m ()
- serviceStoreSync :: (HasCallStack, MonadIO m, IsService a, IsCancellable b) => a -> Maybe Schema -> Map Text Text -> Maybe Text -> Text -> Value -> Maybe b -> m ()
- serviceUnlock :: (HasCallStack, MonadIO m, IsService a, IsDBusProxy b, IsCancellable c) => a -> [b] -> Maybe c -> Maybe AsyncReadyCallback -> m ()
- serviceUnlockFinish :: (HasCallStack, MonadIO m, IsService a, IsAsyncResult b) => a -> b -> m (Int32, [DBusProxy])
- serviceUnlockSync :: (HasCallStack, MonadIO m, IsService a, IsDBusProxy b, IsCancellable c) => a -> [b] -> Maybe c -> m (Int32, [DBusProxy])
Exported types
Memory-managed wrapper type.
Instances
Eq Service Source # | |
GObject Service Source # | |
Defined in GI.Secret.Objects.Service | |
ManagedPtrNewtype Service Source # | |
Defined in GI.Secret.Objects.Service toManagedPtr :: Service -> ManagedPtr Service | |
TypedObject Service Source # | |
Defined in GI.Secret.Objects.Service | |
HasParentTypes Service Source # | |
Defined in GI.Secret.Objects.Service | |
IsGValue (Maybe Service) Source # | Convert |
Defined in GI.Secret.Objects.Service gvalueGType_ :: IO GType gvalueSet_ :: Ptr GValue -> Maybe Service -> IO () gvalueGet_ :: Ptr GValue -> IO (Maybe Service) | |
type ParentTypes Service Source # | |
Defined in GI.Secret.Objects.Service |
class (GObject o, IsDescendantOf Service o) => IsService o Source #
Instances
(GObject o, IsDescendantOf Service o) => IsService o Source # | |
Defined in GI.Secret.Objects.Service |
Methods
Click to display all available methods, including inherited ones
Methods
bindProperty, bindPropertyFull, call, callFinish, callSync, callWithUnixFdList, callWithUnixFdListFinish, callWithUnixFdListSync, clear, clearFinish, clearSync, createItemDbusPathSync, decodeDbusSecret, encodeDbusSecret, ensureSession, ensureSessionFinish, ensureSessionSync, forceFloating, freezeNotify, getv, init, initAsync, initFinish, isFloating, loadCollections, loadCollectionsFinish, loadCollectionsSync, lock, lockFinish, lockSync, lookup, lookupFinish, lookupSync, notify, notifyByPspec, prompt, promptFinish, promptSync, ref, refSink, runDispose, search, searchFinish, searchSync, stealData, stealQdata, store, storeFinish, storeSync, thawNotify, unlock, unlockFinish, unlockSync, unref, watchClosure.
Getters
getCachedProperty, getCachedPropertyNames, getCollectionGtype, getCollections, getConnection, getData, getDefaultTimeout, getFlags, getInfo, getInterfaceInfo, getInterfaceName, getItemGtype, getName, getNameOwner, getObject, getObjectPath, getProperty, getQdata, getSessionAlgorithms, getSessionDbusPath.
Setters
setAlias, setAliasFinish, setAliasSync, setCachedProperty, setData, setDataFull, setDefaultTimeout, setInterfaceInfo, setObject, setProperty.
clear
:: (HasCallStack, MonadIO m, IsService a, IsCancellable b) | |
=> a |
|
-> Maybe Schema |
|
-> Map Text Text |
|
-> Maybe b |
|
-> Maybe AsyncReadyCallback |
|
-> 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
:: (HasCallStack, MonadIO m, IsService a, IsAsyncResult b) | |
=> a |
|
-> b |
|
-> m () | (Can throw |
Finish asynchronous operation to remove items from the secret service.
clearSync
:: (HasCallStack, MonadIO m, IsService a, IsCancellable b) | |
=> a |
|
-> Maybe Schema |
|
-> Map Text Text |
|
-> Maybe b |
|
-> m () | (Can throw |
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 #
:: (HasCallStack, MonadIO m, IsService a) | |
=> a |
|
-> GVariant |
|
-> 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 #
:: (HasCallStack, MonadIO m, IsService a) | |
=> a |
|
-> 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
:: (HasCallStack, MonadIO m, IsService a, IsCancellable b) | |
=> a |
|
-> Maybe b |
|
-> Maybe AsyncReadyCallback |
|
-> 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 #
:: (HasCallStack, MonadIO m, IsService a, IsAsyncResult b) | |
=> a |
|
-> b |
|
-> m () | (Can throw |
Finish an asynchronous operation to ensure that the Service
proxy
has established a session with the Secret Service.
ensureSessionSync
serviceEnsureSessionSync Source #
:: (HasCallStack, MonadIO m, IsService a, IsCancellable b) | |
=> a |
|
-> Maybe b |
|
-> m () | (Can throw |
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
:: (HasCallStack, MonadIO m, IsCancellable a) | |
=> [ServiceFlags] |
|
-> Maybe a |
|
-> Maybe AsyncReadyCallback |
|
-> 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 #
:: (HasCallStack, MonadIO m, IsService a) | |
=> a |
|
-> 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 #
:: (HasCallStack, MonadIO m, IsService a) | |
=> a |
|
-> 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
:: (HasCallStack, MonadIO m, IsAsyncResult a) | |
=> a |
|
-> m Service | Returns: a new reference to a |
Complete an asynchronous operation to get a Service
proxy for the
Secret Service.
getFlags
:: (HasCallStack, MonadIO m, IsService a) | |
=> a |
|
-> 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
:: (HasCallStack, MonadIO m, IsService a) | |
=> a |
|
-> 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 #
:: (HasCallStack, MonadIO m, IsService a) | |
=> a |
|
-> 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 #
:: (HasCallStack, MonadIO m, IsService a) | |
=> a |
|
-> 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
:: (HasCallStack, MonadIO m, IsCancellable a) | |
=> [ServiceFlags] |
|
-> Maybe a |
|
-> m Service | Returns: a new reference to a |
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 #
:: (HasCallStack, MonadIO m, IsService a, IsCancellable b) | |
=> a |
|
-> Maybe b |
|
-> Maybe AsyncReadyCallback |
|
-> 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 #
:: (HasCallStack, MonadIO m, IsService a, IsAsyncResult b) | |
=> a |
|
-> b |
|
-> m () | (Can throw |
Complete an asynchronous operation to ensure that the Service
proxy
has loaded all the collections present in the Secret Service.
loadCollectionsSync
serviceLoadCollectionsSync Source #
:: (HasCallStack, MonadIO m, IsService a, IsCancellable b) | |
=> a |
|
-> Maybe b |
|
-> m () | (Can throw |
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
:: (HasCallStack, MonadIO m, IsService a, IsDBusProxy b, IsCancellable c) | |
=> a |
|
-> [b] |
|
-> Maybe c |
|
-> Maybe AsyncReadyCallback |
|
-> 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
:: (HasCallStack, MonadIO m, IsService a, IsAsyncResult b) | |
=> a |
|
-> b |
|
-> m (Int32, [DBusProxy]) | Returns: the number of items or collections that were locked (Can throw |
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
:: (HasCallStack, MonadIO m, IsService a, IsDBusProxy b, IsCancellable c) | |
=> a |
|
-> [b] |
|
-> Maybe c |
|
-> m (Int32, [DBusProxy]) | Returns: the number of items or collections that were locked (Can throw |
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
:: (HasCallStack, MonadIO m, IsService a, IsCancellable b) | |
=> a |
|
-> Maybe Schema |
|
-> Map Text Text |
|
-> Maybe b |
|
-> Maybe AsyncReadyCallback |
|
-> 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
:: (HasCallStack, MonadIO m, IsService a, IsAsyncResult b) | |
=> a |
|
-> b |
|
-> m Value | Returns: a newly allocated [struct |
Finish asynchronous operation to lookup a secret value in the secret service.
If no secret is found then Nothing
is returned.
lookupSync
:: (HasCallStack, MonadIO m, IsService a, IsCancellable b) | |
=> a |
|
-> Maybe Schema |
|
-> Map Text Text |
|
-> Maybe b |
|
-> m Value | Returns: a newly allocated [struct |
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
:: (HasCallStack, MonadIO m, IsCancellable a) | |
=> GType |
|
-> Maybe Text |
|
-> [ServiceFlags] |
|
-> Maybe a |
|
-> Maybe AsyncReadyCallback |
|
-> 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
:: (HasCallStack, MonadIO m, IsAsyncResult a) | |
=> a |
|
-> m Service | Returns: a new reference to a |
Complete an asynchronous operation to create a new Service
proxy for
the Secret Service.
openSync
:: (HasCallStack, MonadIO m, IsCancellable a) | |
=> GType |
|
-> Maybe Text |
|
-> [ServiceFlags] |
|
-> Maybe a |
|
-> m Service | Returns: a new reference to a |
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
:: (HasCallStack, MonadIO m, IsService a, IsPrompt b, IsCancellable c) | |
=> a |
|
-> b |
|
-> Maybe VariantType |
|
-> Maybe c |
|
-> Maybe AsyncReadyCallback |
|
-> 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
:: (HasCallStack, MonadIO m, IsService a, IsAsyncResult b) | |
=> a |
|
-> b |
|
-> m GVariant | Returns: |
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
:: (HasCallStack, MonadIO m, IsService a, IsPrompt b, IsCancellable c) | |
=> a |
|
-> b |
|
-> Maybe c |
|
-> VariantType |
|
-> m GVariant | Returns: |
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
:: (HasCallStack, MonadIO m, IsService a, IsCancellable b) | |
=> a |
|
-> Maybe Schema |
|
-> Map Text Text |
|
-> [SearchFlags] |
|
-> Maybe b |
|
-> Maybe AsyncReadyCallback |
|
-> 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
:: (HasCallStack, MonadIO m, IsService a, IsAsyncResult b) | |
=> a |
|
-> b |
|
-> m [Item] | Returns:
a list of items that matched the search (Can throw |
Complete asynchronous operation to search for items.
searchSync
:: (HasCallStack, MonadIO m, IsService a, IsCancellable b) | |
=> a |
|
-> Maybe Schema |
|
-> Map Text Text |
|
-> [SearchFlags] |
|
-> Maybe b |
|
-> m [Item] | Returns:
a list of items that matched the search (Can throw |
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
:: (HasCallStack, MonadIO m, IsService a, IsCollection b, IsCancellable c) | |
=> a |
|
-> Text |
|
-> Maybe b |
|
-> Maybe c |
|
-> Maybe AsyncReadyCallback |
|
-> 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 #
:: (HasCallStack, MonadIO m, IsService a, IsAsyncResult b) | |
=> a |
|
-> b |
|
-> m () | (Can throw |
Finish an asynchronous operation to assign a collection to an alias.
setAliasSync
:: (HasCallStack, MonadIO m, IsService a, IsCollection b, IsCancellable c) | |
=> a |
|
-> Text |
|
-> Maybe b |
|
-> Maybe c |
|
-> m () | (Can throw |
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
:: (HasCallStack, MonadIO m, IsService a, IsCancellable b) | |
=> a |
|
-> Maybe Schema |
|
-> Map Text Text |
|
-> Maybe Text |
|
-> Text |
|
-> Value |
|
-> Maybe b |
|
-> Maybe AsyncReadyCallback |
|
-> 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
:: (HasCallStack, MonadIO m, IsService a, IsAsyncResult b) | |
=> a |
|
-> b |
|
-> m () | (Can throw |
Finish asynchronous operation to store a secret value in the secret service.
storeSync
:: (HasCallStack, MonadIO m, IsService a, IsCancellable b) | |
=> a |
|
-> Maybe Schema |
|
-> Map Text Text |
|
-> Maybe Text |
|
-> Text |
|
-> Value |
|
-> Maybe b |
|
-> m () | (Can throw |
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
:: (HasCallStack, MonadIO m, IsService a, IsDBusProxy b, IsCancellable c) | |
=> a |
|
-> [b] |
|
-> Maybe c |
|
-> Maybe AsyncReadyCallback |
|
-> 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
:: (HasCallStack, MonadIO m, IsService a, IsAsyncResult b) | |
=> a |
|
-> b |
|
-> m (Int32, [DBusProxy]) | Returns: the number of items or collections that were unlocked (Can throw |
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
:: (HasCallStack, MonadIO m, IsService a, IsDBusProxy b, IsCancellable c) | |
=> a |
|
-> [b] |
|
-> Maybe c |
|
-> m (Int32, [DBusProxy]) | Returns: the number of items or collections that were unlocked (Can throw |
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.