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 |
DBusObjectManagerClient
is used to create, monitor and delete object
proxies for remote objects exported by a DBusObjectManagerServer
(or any
code implementing the
org.freedesktop.DBus.ObjectManager
interface).
Once an instance of this type has been created, you can connect to
the DBusObjectManager::objectAdded and
DBusObjectManager::objectRemoved signals and inspect the
DBusObjectProxy
objects returned by
dBusObjectManagerGetObjects
.
If the name for a DBusObjectManagerClient
is not owned by anyone at
object construction time, the default behavior is to request the
message bus to launch an owner for the name. This behavior can be
disabled using the DBusObjectManagerClientFlagsDoNotAutoStart
flag. It's also worth noting that this only works if the name of
interest is activatable in the first place. E.g. in some cases it
is not possible to launch an owner for the requested name. In this
case, DBusObjectManagerClient
object construction still succeeds but
there will be no object proxies
(e.g. dBusObjectManagerGetObjects
returns the empty list) and
the DBusObjectManagerClient:nameOwner property is Nothing
.
The owner of the requested name can come and go (for example
consider a system service being restarted) – DBusObjectManagerClient
handles this case too; simply connect to the Object::notify
signal to watch for changes on the DBusObjectManagerClient:nameOwner
property. When the name owner vanishes, the behavior is that
DBusObjectManagerClient:nameOwner is set to Nothing
(this includes
emission of the Object::notify signal) and then
DBusObjectManager::objectRemoved signals are synthesized
for all currently existing object proxies. Since
DBusObjectManagerClient:nameOwner is Nothing
when this happens, you can
use this information to disambiguate a synthesized signal from a
genuine signal caused by object removal on the remote
DBusObjectManager
. Similarly, when a new name owner appears,
DBusObjectManager::objectAdded signals are synthesized
while DBusObjectManagerClient:nameOwner is still Nothing
. Only when all
object proxies have been added, the DBusObjectManagerClient:nameOwner
is set to the new name owner (this includes emission of the
Object::notify signal). Furthermore, you are guaranteed that
DBusObjectManagerClient:nameOwner will alternate between a name owner
(e.g. :1.42
) and Nothing
even in the case where
the name of interest is atomically replaced
Ultimately, DBusObjectManagerClient
is used to obtain DBusProxy
instances. All signals (including the
org.freedesktop.DBus.Properties[PropertiesChanged](#g:signal:PropertiesChanged) signal)
delivered to DBusProxy
instances are guaranteed to originate
from the name owner. This guarantee along with the behavior
described above, means that certain race conditions including the
"half the proxy is from the old owner and the other half is from
the new owner" problem cannot happen.
To avoid having the application connect to signals on the returned
DBusObjectProxy
and DBusProxy
objects, the
DBusObject::interfaceAdded,
DBusObject::interfaceRemoved,
DBusProxy::gPropertiesChanged and
DBusProxy::gSignal signals
are also emitted on the DBusObjectManagerClient
instance managing these
objects. The signals emitted are
DBusObjectManager::interfaceAdded,
DBusObjectManager::interfaceRemoved,
DBusObjectManagerClient::interfaceProxyPropertiesChanged and
DBusObjectManagerClient::interfaceProxySignal.
Note that all callbacks and signals are emitted in the
[thread-default main context][g-main-context-push-thread-default]
that the DBusObjectManagerClient
object was constructed
in. Additionally, the DBusObjectProxy
and DBusProxy
objects
originating from the DBusObjectManagerClient
object will be created in
the same context and, consequently, will deliver signals in the
same main loop.
Since: 2.30
Synopsis
- newtype DBusObjectManagerClient = DBusObjectManagerClient (ManagedPtr DBusObjectManagerClient)
- class (GObject o, IsDescendantOf DBusObjectManagerClient o) => IsDBusObjectManagerClient o
- toDBusObjectManagerClient :: (MonadIO m, IsDBusObjectManagerClient o) => o -> m DBusObjectManagerClient
- dBusObjectManagerClientGetConnection :: (HasCallStack, MonadIO m, IsDBusObjectManagerClient a) => a -> m DBusConnection
- dBusObjectManagerClientGetFlags :: (HasCallStack, MonadIO m, IsDBusObjectManagerClient a) => a -> m [DBusObjectManagerClientFlags]
- dBusObjectManagerClientGetName :: (HasCallStack, MonadIO m, IsDBusObjectManagerClient a) => a -> m Text
- dBusObjectManagerClientGetNameOwner :: (HasCallStack, MonadIO m, IsDBusObjectManagerClient a) => a -> m (Maybe Text)
- dBusObjectManagerClientNew :: (HasCallStack, MonadIO m, IsDBusConnection a, IsCancellable b) => a -> [DBusObjectManagerClientFlags] -> Text -> Text -> Maybe DBusProxyTypeFunc -> Maybe b -> Maybe AsyncReadyCallback -> m ()
- dBusObjectManagerClientNewFinish :: (HasCallStack, MonadIO m, IsAsyncResult a) => a -> m DBusObjectManagerClient
- dBusObjectManagerClientNewForBus :: (HasCallStack, MonadIO m, IsCancellable a) => BusType -> [DBusObjectManagerClientFlags] -> Text -> Text -> Maybe DBusProxyTypeFunc -> Maybe a -> Maybe AsyncReadyCallback -> m ()
- dBusObjectManagerClientNewForBusFinish :: (HasCallStack, MonadIO m, IsAsyncResult a) => a -> m DBusObjectManagerClient
- dBusObjectManagerClientNewForBusSync :: (HasCallStack, MonadIO m, IsCancellable a) => BusType -> [DBusObjectManagerClientFlags] -> Text -> Text -> Maybe DBusProxyTypeFunc -> Maybe a -> m DBusObjectManagerClient
- dBusObjectManagerClientNewSync :: (HasCallStack, MonadIO m, IsDBusConnection a, IsCancellable b) => a -> [DBusObjectManagerClientFlags] -> Maybe Text -> Text -> Maybe DBusProxyTypeFunc -> Maybe b -> m DBusObjectManagerClient
- constructDBusObjectManagerClientBusType :: (IsDBusObjectManagerClient o, MonadIO m) => BusType -> m (GValueConstruct o)
- constructDBusObjectManagerClientConnection :: (IsDBusObjectManagerClient o, MonadIO m, IsDBusConnection a) => a -> m (GValueConstruct o)
- getDBusObjectManagerClientConnection :: (MonadIO m, IsDBusObjectManagerClient o) => o -> m DBusConnection
- constructDBusObjectManagerClientFlags :: (IsDBusObjectManagerClient o, MonadIO m) => [DBusObjectManagerClientFlags] -> m (GValueConstruct o)
- getDBusObjectManagerClientFlags :: (MonadIO m, IsDBusObjectManagerClient o) => o -> m [DBusObjectManagerClientFlags]
- constructDBusObjectManagerClientGetProxyTypeDestroyNotify :: (IsDBusObjectManagerClient o, MonadIO m) => Ptr () -> m (GValueConstruct o)
- getDBusObjectManagerClientGetProxyTypeDestroyNotify :: (MonadIO m, IsDBusObjectManagerClient o) => o -> m (Ptr ())
- constructDBusObjectManagerClientGetProxyTypeFunc :: (IsDBusObjectManagerClient o, MonadIO m) => Ptr () -> m (GValueConstruct o)
- getDBusObjectManagerClientGetProxyTypeFunc :: (MonadIO m, IsDBusObjectManagerClient o) => o -> m (Ptr ())
- constructDBusObjectManagerClientGetProxyTypeUserData :: (IsDBusObjectManagerClient o, MonadIO m) => Ptr () -> m (GValueConstruct o)
- getDBusObjectManagerClientGetProxyTypeUserData :: (MonadIO m, IsDBusObjectManagerClient o) => o -> m (Ptr ())
- constructDBusObjectManagerClientName :: (IsDBusObjectManagerClient o, MonadIO m) => Text -> m (GValueConstruct o)
- getDBusObjectManagerClientName :: (MonadIO m, IsDBusObjectManagerClient o) => o -> m Text
- getDBusObjectManagerClientNameOwner :: (MonadIO m, IsDBusObjectManagerClient o) => o -> m (Maybe Text)
- constructDBusObjectManagerClientObjectPath :: (IsDBusObjectManagerClient o, MonadIO m) => Text -> m (GValueConstruct o)
- getDBusObjectManagerClientObjectPath :: (MonadIO m, IsDBusObjectManagerClient o) => o -> m (Maybe Text)
- type DBusObjectManagerClientInterfaceProxyPropertiesChangedCallback = DBusObjectProxy -> DBusProxy -> GVariant -> [Text] -> IO ()
- afterDBusObjectManagerClientInterfaceProxyPropertiesChanged :: (IsDBusObjectManagerClient a, MonadIO m) => a -> ((?self :: a) => DBusObjectManagerClientInterfaceProxyPropertiesChangedCallback) -> m SignalHandlerId
- onDBusObjectManagerClientInterfaceProxyPropertiesChanged :: (IsDBusObjectManagerClient a, MonadIO m) => a -> ((?self :: a) => DBusObjectManagerClientInterfaceProxyPropertiesChangedCallback) -> m SignalHandlerId
- type DBusObjectManagerClientInterfaceProxySignalCallback = DBusObjectProxy -> DBusProxy -> Text -> Text -> GVariant -> IO ()
- afterDBusObjectManagerClientInterfaceProxySignal :: (IsDBusObjectManagerClient a, MonadIO m) => a -> ((?self :: a) => DBusObjectManagerClientInterfaceProxySignalCallback) -> m SignalHandlerId
- onDBusObjectManagerClientInterfaceProxySignal :: (IsDBusObjectManagerClient a, MonadIO m) => a -> ((?self :: a) => DBusObjectManagerClientInterfaceProxySignalCallback) -> m SignalHandlerId
Exported types
newtype DBusObjectManagerClient Source #
Memory-managed wrapper type.
Instances
Eq DBusObjectManagerClient Source # | |
Defined in GI.Gio.Objects.DBusObjectManagerClient | |
GObject DBusObjectManagerClient Source # | |
Defined in GI.Gio.Objects.DBusObjectManagerClient | |
ManagedPtrNewtype DBusObjectManagerClient Source # | |
TypedObject DBusObjectManagerClient Source # | |
Defined in GI.Gio.Objects.DBusObjectManagerClient | |
HasParentTypes DBusObjectManagerClient Source # | |
Defined in GI.Gio.Objects.DBusObjectManagerClient | |
IsGValue (Maybe DBusObjectManagerClient) Source # | Convert |
Defined in GI.Gio.Objects.DBusObjectManagerClient gvalueGType_ :: IO GType # gvalueSet_ :: Ptr GValue -> Maybe DBusObjectManagerClient -> IO () # gvalueGet_ :: Ptr GValue -> IO (Maybe DBusObjectManagerClient) # | |
type ParentTypes DBusObjectManagerClient Source # | |
Defined in GI.Gio.Objects.DBusObjectManagerClient |
class (GObject o, IsDescendantOf DBusObjectManagerClient o) => IsDBusObjectManagerClient o Source #
Type class for types which can be safely cast to DBusObjectManagerClient
, for instance with toDBusObjectManagerClient
.
Instances
(GObject o, IsDescendantOf DBusObjectManagerClient o) => IsDBusObjectManagerClient o Source # | |
Defined in GI.Gio.Objects.DBusObjectManagerClient |
toDBusObjectManagerClient :: (MonadIO m, IsDBusObjectManagerClient o) => o -> m DBusObjectManagerClient Source #
Cast to DBusObjectManagerClient
, for types for which this is known to be safe. For general casts, use castTo
.
Methods
Click to display all available methods, including inherited ones
Methods
bindProperty, bindPropertyFull, forceFloating, freezeNotify, getv, init, initAsync, initFinish, isFloating, notify, notifyByPspec, ref, refSink, runDispose, stealData, stealQdata, thawNotify, unref, watchClosure.
Getters
getConnection, getData, getFlags, getInterface, getName, getNameOwner, getObject, getObjectPath, getObjects, getProperty, getQdata.
Setters
getConnection
dBusObjectManagerClientGetConnection Source #
:: (HasCallStack, MonadIO m, IsDBusObjectManagerClient a) | |
=> a |
|
-> m DBusConnection | Returns: A |
Gets the DBusConnection
used by manager
.
Since: 2.30
getFlags
dBusObjectManagerClientGetFlags Source #
:: (HasCallStack, MonadIO m, IsDBusObjectManagerClient a) | |
=> a |
|
-> m [DBusObjectManagerClientFlags] | Returns: Zero of more flags from the |
Gets the flags that manager
was constructed with.
Since: 2.30
getName
dBusObjectManagerClientGetName Source #
:: (HasCallStack, MonadIO m, IsDBusObjectManagerClient a) | |
=> a |
|
-> m Text | Returns: A unique or well-known name. Do not free, the string
belongs to |
Gets the name that manager
is for, or Nothing
if not a message bus
connection.
Since: 2.30
getNameOwner
dBusObjectManagerClientGetNameOwner Source #
:: (HasCallStack, MonadIO m, IsDBusObjectManagerClient a) | |
=> a |
|
-> m (Maybe Text) | Returns: The name owner or |
The unique name that owns the name that manager
is for or Nothing
if
no-one currently owns that name. You can connect to the
Object::notify signal to track changes to the
DBusObjectManagerClient:nameOwner property.
Since: 2.30
new
dBusObjectManagerClientNew Source #
:: (HasCallStack, MonadIO m, IsDBusConnection a, IsCancellable b) | |
=> a |
|
-> [DBusObjectManagerClientFlags] |
|
-> Text |
|
-> Text |
|
-> Maybe DBusProxyTypeFunc |
|
-> Maybe b |
|
-> Maybe AsyncReadyCallback |
|
-> m () |
Asynchronously creates a new DBusObjectManagerClient
object.
This is an asynchronous failable constructor. When the result is
ready, callback
will be invoked in the
[thread-default main context][g-main-context-push-thread-default]
of the thread you are calling this method from. You can
then call dBusObjectManagerClientNewFinish
to get the result. See
dBusObjectManagerClientNewSync
for the synchronous version.
Since: 2.30
newFinish
dBusObjectManagerClientNewFinish Source #
:: (HasCallStack, MonadIO m, IsAsyncResult a) | |
=> a |
|
-> m DBusObjectManagerClient | Returns: A
|
Finishes an operation started with dBusObjectManagerClientNew
.
Since: 2.30
newForBus
dBusObjectManagerClientNewForBus Source #
:: (HasCallStack, MonadIO m, IsCancellable a) | |
=> BusType |
|
-> [DBusObjectManagerClientFlags] |
|
-> Text |
|
-> Text |
|
-> Maybe DBusProxyTypeFunc |
|
-> Maybe a |
|
-> Maybe AsyncReadyCallback |
|
-> m () |
Like dBusObjectManagerClientNew
but takes a BusType
instead of a
DBusConnection
.
This is an asynchronous failable constructor. When the result is
ready, callback
will be invoked in the
[thread-default main loop][g-main-context-push-thread-default]
of the thread you are calling this method from. You can
then call dBusObjectManagerClientNewForBusFinish
to get the result. See
dBusObjectManagerClientNewForBusSync
for the synchronous version.
Since: 2.30
newForBusFinish
dBusObjectManagerClientNewForBusFinish Source #
:: (HasCallStack, MonadIO m, IsAsyncResult a) | |
=> a |
|
-> m DBusObjectManagerClient | Returns: A
|
Finishes an operation started with dBusObjectManagerClientNewForBus
.
Since: 2.30
newForBusSync
dBusObjectManagerClientNewForBusSync Source #
:: (HasCallStack, MonadIO m, IsCancellable a) | |
=> BusType |
|
-> [DBusObjectManagerClientFlags] |
|
-> Text |
|
-> Text |
|
-> Maybe DBusProxyTypeFunc |
|
-> Maybe a |
|
-> m DBusObjectManagerClient | Returns: A
|
Like dBusObjectManagerClientNewSync
but takes a BusType
instead
of a DBusConnection
.
This is a synchronous failable constructor - the calling thread is
blocked until a reply is received. See dBusObjectManagerClientNewForBus
for the asynchronous version.
Since: 2.30
newSync
dBusObjectManagerClientNewSync Source #
:: (HasCallStack, MonadIO m, IsDBusConnection a, IsCancellable b) | |
=> a |
|
-> [DBusObjectManagerClientFlags] |
|
-> Maybe Text |
|
-> Text |
|
-> Maybe DBusProxyTypeFunc |
|
-> Maybe b |
|
-> m DBusObjectManagerClient | Returns: A
|
Creates a new DBusObjectManagerClient
object.
This is a synchronous failable constructor - the calling thread is
blocked until a reply is received. See dBusObjectManagerClientNew
for the asynchronous version.
Since: 2.30
Properties
busType
If this property is not BusTypeNone
, then
DBusObjectManagerClient:connection must be Nothing
and will be set to the
DBusConnection
obtained by calling busGet
with the value
of this property.
Since: 2.30
constructDBusObjectManagerClientBusType :: (IsDBusObjectManagerClient o, MonadIO m) => BusType -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “bus-type
” property. This is rarely needed directly, but it is used by new
.
connection
The DBusConnection
to use.
Since: 2.30
constructDBusObjectManagerClientConnection :: (IsDBusObjectManagerClient o, MonadIO m, IsDBusConnection a) => a -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “connection
” property. This is rarely needed directly, but it is used by new
.
getDBusObjectManagerClientConnection :: (MonadIO m, IsDBusObjectManagerClient o) => o -> m DBusConnection Source #
Get the value of the “connection
” property.
When overloading is enabled, this is equivalent to
get
dBusObjectManagerClient #connection
flags
Flags from the DBusObjectManagerClientFlags
enumeration.
Since: 2.30
constructDBusObjectManagerClientFlags :: (IsDBusObjectManagerClient o, MonadIO m) => [DBusObjectManagerClientFlags] -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “flags
” property. This is rarely needed directly, but it is used by new
.
getDBusObjectManagerClientFlags :: (MonadIO m, IsDBusObjectManagerClient o) => o -> m [DBusObjectManagerClientFlags] Source #
Get the value of the “flags
” property.
When overloading is enabled, this is equivalent to
get
dBusObjectManagerClient #flags
getProxyTypeDestroyNotify
A DestroyNotify
for the gpointer
user_data in DBusObjectManagerClient:getProxyTypeUserData.
Since: 2.30
constructDBusObjectManagerClientGetProxyTypeDestroyNotify :: (IsDBusObjectManagerClient o, MonadIO m) => Ptr () -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “get-proxy-type-destroy-notify
” property. This is rarely needed directly, but it is used by new
.
getDBusObjectManagerClientGetProxyTypeDestroyNotify :: (MonadIO m, IsDBusObjectManagerClient o) => o -> m (Ptr ()) Source #
Get the value of the “get-proxy-type-destroy-notify
” property.
When overloading is enabled, this is equivalent to
get
dBusObjectManagerClient #getProxyTypeDestroyNotify
getProxyTypeFunc
The DBusProxyTypeFunc
to use when determining what GType
to
use for interface proxies or Nothing
.
Since: 2.30
constructDBusObjectManagerClientGetProxyTypeFunc :: (IsDBusObjectManagerClient o, MonadIO m) => Ptr () -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “get-proxy-type-func
” property. This is rarely needed directly, but it is used by new
.
getDBusObjectManagerClientGetProxyTypeFunc :: (MonadIO m, IsDBusObjectManagerClient o) => o -> m (Ptr ()) Source #
Get the value of the “get-proxy-type-func
” property.
When overloading is enabled, this is equivalent to
get
dBusObjectManagerClient #getProxyTypeFunc
getProxyTypeUserData
The gpointer
user_data to pass to DBusObjectManagerClient:getProxyTypeFunc.
Since: 2.30
constructDBusObjectManagerClientGetProxyTypeUserData :: (IsDBusObjectManagerClient o, MonadIO m) => Ptr () -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “get-proxy-type-user-data
” property. This is rarely needed directly, but it is used by new
.
getDBusObjectManagerClientGetProxyTypeUserData :: (MonadIO m, IsDBusObjectManagerClient o) => o -> m (Ptr ()) Source #
Get the value of the “get-proxy-type-user-data
” property.
When overloading is enabled, this is equivalent to
get
dBusObjectManagerClient #getProxyTypeUserData
name
The well-known name or unique name that the manager is for.
Since: 2.30
constructDBusObjectManagerClientName :: (IsDBusObjectManagerClient o, MonadIO m) => Text -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “name
” property. This is rarely needed directly, but it is used by new
.
getDBusObjectManagerClientName :: (MonadIO m, IsDBusObjectManagerClient o) => o -> m Text Source #
Get the value of the “name
” property.
When overloading is enabled, this is equivalent to
get
dBusObjectManagerClient #name
nameOwner
The unique name that owns DBusObjectManagerClient:name or Nothing
if
no-one is currently owning the name. Connect to the
Object::notify signal to track changes to this property.
Since: 2.30
getDBusObjectManagerClientNameOwner :: (MonadIO m, IsDBusObjectManagerClient o) => o -> m (Maybe Text) Source #
Get the value of the “name-owner
” property.
When overloading is enabled, this is equivalent to
get
dBusObjectManagerClient #nameOwner
objectPath
The object path the manager is for.
Since: 2.30
constructDBusObjectManagerClientObjectPath :: (IsDBusObjectManagerClient o, MonadIO m) => Text -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “object-path
” property. This is rarely needed directly, but it is used by new
.
getDBusObjectManagerClientObjectPath :: (MonadIO m, IsDBusObjectManagerClient o) => o -> m (Maybe Text) Source #
Get the value of the “object-path
” property.
When overloading is enabled, this is equivalent to
get
dBusObjectManagerClient #objectPath
Signals
interfaceProxyPropertiesChanged
type DBusObjectManagerClientInterfaceProxyPropertiesChangedCallback Source #
= DBusObjectProxy |
|
-> DBusProxy |
|
-> GVariant |
|
-> [Text] |
|
-> IO () |
Emitted when one or more D-Bus properties on proxy changes. The
local cache has already been updated when this signal fires. Note
that both changedProperties
and invalidatedProperties
are
guaranteed to never be Nothing
(either may be empty though).
This signal exists purely as a convenience to avoid having to
connect signals to all interface proxies managed by manager
.
This signal is emitted in the
[thread-default main context][g-main-context-push-thread-default]
that manager
was constructed in.
Since: 2.30
afterDBusObjectManagerClientInterfaceProxyPropertiesChanged :: (IsDBusObjectManagerClient a, MonadIO m) => a -> ((?self :: a) => DBusObjectManagerClientInterfaceProxyPropertiesChangedCallback) -> m SignalHandlerId Source #
Connect a signal handler for the interfaceProxyPropertiesChanged signal, to be run after the default handler. When overloading is enabled, this is equivalent to
after
dBusObjectManagerClient #interfaceProxyPropertiesChanged callback
By default the object invoking the signal is not passed to the callback.
If you need to access it, you can use the implit ?self
parameter.
Note that this requires activating the ImplicitParams
GHC extension.
onDBusObjectManagerClientInterfaceProxyPropertiesChanged :: (IsDBusObjectManagerClient a, MonadIO m) => a -> ((?self :: a) => DBusObjectManagerClientInterfaceProxyPropertiesChangedCallback) -> m SignalHandlerId Source #
Connect a signal handler for the interfaceProxyPropertiesChanged signal, to be run before the default handler. When overloading is enabled, this is equivalent to
on
dBusObjectManagerClient #interfaceProxyPropertiesChanged callback
interfaceProxySignal
type DBusObjectManagerClientInterfaceProxySignalCallback Source #
= DBusObjectProxy |
|
-> DBusProxy |
|
-> Text |
|
-> Text |
|
-> GVariant |
|
-> IO () |
Emitted when a D-Bus signal is received on interfaceProxy
.
This signal exists purely as a convenience to avoid having to
connect signals to all interface proxies managed by manager
.
This signal is emitted in the
[thread-default main context][g-main-context-push-thread-default]
that manager
was constructed in.
Since: 2.30
afterDBusObjectManagerClientInterfaceProxySignal :: (IsDBusObjectManagerClient a, MonadIO m) => a -> ((?self :: a) => DBusObjectManagerClientInterfaceProxySignalCallback) -> m SignalHandlerId Source #
Connect a signal handler for the interfaceProxySignal signal, to be run after the default handler. When overloading is enabled, this is equivalent to
after
dBusObjectManagerClient #interfaceProxySignal callback
By default the object invoking the signal is not passed to the callback.
If you need to access it, you can use the implit ?self
parameter.
Note that this requires activating the ImplicitParams
GHC extension.
onDBusObjectManagerClientInterfaceProxySignal :: (IsDBusObjectManagerClient a, MonadIO m) => a -> ((?self :: a) => DBusObjectManagerClientInterfaceProxySignalCallback) -> m SignalHandlerId Source #
Connect a signal handler for the interfaceProxySignal signal, to be run before the default handler. When overloading is enabled, this is equivalent to
on
dBusObjectManagerClient #interfaceProxySignal callback