Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
Abstract base class for D-Bus interfaces on the service side.
Since: 2.30
Synopsis
- newtype DBusInterfaceSkeleton = DBusInterfaceSkeleton (ManagedPtr DBusInterfaceSkeleton)
- class GObject o => IsDBusInterfaceSkeleton o
- toDBusInterfaceSkeleton :: (MonadIO m, IsDBusInterfaceSkeleton o) => o -> m DBusInterfaceSkeleton
- noDBusInterfaceSkeleton :: Maybe DBusInterfaceSkeleton
- dBusInterfaceSkeletonExport :: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a, IsDBusConnection b) => a -> b -> Text -> m ()
- dBusInterfaceSkeletonFlush :: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a) => a -> m ()
- dBusInterfaceSkeletonGetConnection :: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a) => a -> m DBusConnection
- dBusInterfaceSkeletonGetConnections :: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a) => a -> m [DBusConnection]
- dBusInterfaceSkeletonGetFlags :: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a) => a -> m [DBusInterfaceSkeletonFlags]
- dBusInterfaceSkeletonGetInfo :: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a) => a -> m DBusInterfaceInfo
- dBusInterfaceSkeletonGetObjectPath :: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a) => a -> m Text
- dBusInterfaceSkeletonGetProperties :: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a) => a -> m GVariant
- dBusInterfaceSkeletonHasConnection :: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a, IsDBusConnection b) => a -> b -> m Bool
- dBusInterfaceSkeletonSetFlags :: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a) => a -> [DBusInterfaceSkeletonFlags] -> m ()
- dBusInterfaceSkeletonUnexport :: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a) => a -> m ()
- dBusInterfaceSkeletonUnexportFromConnection :: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a, IsDBusConnection b) => a -> b -> m ()
- constructDBusInterfaceSkeletonGFlags :: IsDBusInterfaceSkeleton o => [DBusInterfaceSkeletonFlags] -> IO (GValueConstruct o)
- getDBusInterfaceSkeletonGFlags :: (MonadIO m, IsDBusInterfaceSkeleton o) => o -> m [DBusInterfaceSkeletonFlags]
- setDBusInterfaceSkeletonGFlags :: (MonadIO m, IsDBusInterfaceSkeleton o) => o -> [DBusInterfaceSkeletonFlags] -> m ()
- type C_DBusInterfaceSkeletonGAuthorizeMethodCallback = Ptr () -> Ptr DBusMethodInvocation -> Ptr () -> IO CInt
- type DBusInterfaceSkeletonGAuthorizeMethodCallback = DBusMethodInvocation -> IO Bool
- afterDBusInterfaceSkeletonGAuthorizeMethod :: (IsDBusInterfaceSkeleton a, MonadIO m) => a -> DBusInterfaceSkeletonGAuthorizeMethodCallback -> m SignalHandlerId
- genClosure_DBusInterfaceSkeletonGAuthorizeMethod :: DBusInterfaceSkeletonGAuthorizeMethodCallback -> IO Closure
- mk_DBusInterfaceSkeletonGAuthorizeMethodCallback :: C_DBusInterfaceSkeletonGAuthorizeMethodCallback -> IO (FunPtr C_DBusInterfaceSkeletonGAuthorizeMethodCallback)
- noDBusInterfaceSkeletonGAuthorizeMethodCallback :: Maybe DBusInterfaceSkeletonGAuthorizeMethodCallback
- onDBusInterfaceSkeletonGAuthorizeMethod :: (IsDBusInterfaceSkeleton a, MonadIO m) => a -> DBusInterfaceSkeletonGAuthorizeMethodCallback -> m SignalHandlerId
- wrap_DBusInterfaceSkeletonGAuthorizeMethodCallback :: DBusInterfaceSkeletonGAuthorizeMethodCallback -> C_DBusInterfaceSkeletonGAuthorizeMethodCallback
Exported types
newtype DBusInterfaceSkeleton Source #
Memory-managed wrapper type.
Instances
class GObject o => IsDBusInterfaceSkeleton o Source #
Type class for types which can be safely cast to DBusInterfaceSkeleton
, for instance with toDBusInterfaceSkeleton
.
Instances
toDBusInterfaceSkeleton :: (MonadIO m, IsDBusInterfaceSkeleton o) => o -> m DBusInterfaceSkeleton Source #
Cast to DBusInterfaceSkeleton
, for types for which this is known to be safe. For general casts, use castTo
.
noDBusInterfaceSkeleton :: Maybe DBusInterfaceSkeleton Source #
A convenience alias for Nothing
:: Maybe
DBusInterfaceSkeleton
.
Methods
export
dBusInterfaceSkeletonExport Source #
:: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a, IsDBusConnection b) | |
=> a |
|
-> b |
|
-> Text |
|
-> m () | (Can throw |
Exports interface_
at objectPath
on connection
.
This can be called multiple times to export the same interface_
onto multiple connections however the objectPath
provided must be
the same for all connections.
Use dBusInterfaceSkeletonUnexport
to unexport the object.
Since: 2.30
flush
dBusInterfaceSkeletonFlush Source #
:: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a) | |
=> a |
|
-> m () |
If interface_
has outstanding changes, request for these changes to be
emitted immediately.
For example, an exported D-Bus interface may queue up property
changes and emit the
org.freedesktop.DBus.Properties.PropertiesChanged
signal later (e.g. in an idle handler). This technique is useful
for collapsing multiple property changes into one.
Since: 2.30
getConnection
dBusInterfaceSkeletonGetConnection Source #
:: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a) | |
=> a |
|
-> m DBusConnection | Returns: A |
Gets the first connection that interface_
is exported on, if any.
Since: 2.30
getConnections
dBusInterfaceSkeletonGetConnections Source #
:: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a) | |
=> a |
|
-> m [DBusConnection] | Returns: A list of
all the connections that |
Gets a list of the connections that interface_
is exported on.
Since: 2.32
getFlags
dBusInterfaceSkeletonGetFlags Source #
:: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a) | |
=> a |
|
-> m [DBusInterfaceSkeletonFlags] | Returns: One or more flags from the |
Gets the DBusInterfaceSkeletonFlags
that describes what the behavior
of interface_
Since: 2.30
getInfo
dBusInterfaceSkeletonGetInfo Source #
:: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a) | |
=> a |
|
-> m DBusInterfaceInfo | Returns: A |
Gets D-Bus introspection information for the D-Bus interface
implemented by interface_
.
Since: 2.30
getObjectPath
dBusInterfaceSkeletonGetObjectPath Source #
:: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a) | |
=> a |
|
-> m Text | Returns: A string owned by |
Gets the object path that interface_
is exported on, if any.
Since: 2.30
getProperties
dBusInterfaceSkeletonGetProperties Source #
:: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a) | |
=> a |
|
-> m GVariant | Returns: A |
Gets all D-Bus properties for interface_
.
Since: 2.30
hasConnection
dBusInterfaceSkeletonHasConnection Source #
:: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a, IsDBusConnection b) | |
=> a |
|
-> b |
|
-> m Bool | Returns: |
Checks if interface_
is exported on connection
.
Since: 2.32
setFlags
dBusInterfaceSkeletonSetFlags Source #
:: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a) | |
=> a |
|
-> [DBusInterfaceSkeletonFlags] |
|
-> m () |
Sets flags describing what the behavior of skeleton
should be.
Since: 2.30
unexport
dBusInterfaceSkeletonUnexport Source #
:: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a) | |
=> a |
|
-> m () |
Stops exporting interface_
on all connections it is exported on.
To unexport interface_
from only a single connection, use
dBusInterfaceSkeletonUnexportFromConnection
Since: 2.30
unexportFromConnection
dBusInterfaceSkeletonUnexportFromConnection Source #
:: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a, IsDBusConnection b) | |
=> a |
|
-> b |
|
-> m () |
Stops exporting interface_
on connection
.
To stop exporting on all connections the interface is exported on,
use dBusInterfaceSkeletonUnexport
.
Since: 2.32
Properties
gFlags
Flags from the DBusInterfaceSkeletonFlags
enumeration.
Since: 2.30
constructDBusInterfaceSkeletonGFlags :: IsDBusInterfaceSkeleton o => [DBusInterfaceSkeletonFlags] -> IO (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “g-flags
” property. This is rarely needed directly, but it is used by new
.
getDBusInterfaceSkeletonGFlags :: (MonadIO m, IsDBusInterfaceSkeleton o) => o -> m [DBusInterfaceSkeletonFlags] Source #
Get the value of the “g-flags
” property.
When overloading is enabled, this is equivalent to
get
dBusInterfaceSkeleton #gFlags
setDBusInterfaceSkeletonGFlags :: (MonadIO m, IsDBusInterfaceSkeleton o) => o -> [DBusInterfaceSkeletonFlags] -> m () Source #
Set the value of the “g-flags
” property.
When overloading is enabled, this is equivalent to
set
dBusInterfaceSkeleton [ #gFlags:=
value ]
Signals
gAuthorizeMethod
type C_DBusInterfaceSkeletonGAuthorizeMethodCallback = Ptr () -> Ptr DBusMethodInvocation -> Ptr () -> IO CInt Source #
Type for the callback on the (unwrapped) C side.
type DBusInterfaceSkeletonGAuthorizeMethodCallback Source #
= DBusMethodInvocation |
|
-> IO Bool |
Emitted when a method is invoked by a remote caller and used to determine if the method call is authorized.
Note that this signal is emitted in a thread dedicated to handling the method call so handlers are allowed to perform blocking IO. This means that it is appropriate to call e.g. polkit_authority_check_authorization_sync() with the POLKIT_CHECK_AUTHORIZATION_FLAGS_ALLOW_USER_INTERACTION flag set.
If False
is returned then no further handlers are run and the
signal handler must take a reference to invocation
and finish
handling the call (e.g. return an error via
g_dbus_method_invocation_return_error()
).
Otherwise, if True
is returned, signal emission continues. If no
handlers return False
, then the method is dispatched. If
interface
has an enclosing DBusObjectSkeleton
, then the
DBusObjectSkeleton
::authorize-method
signal handlers run before
the handlers for this signal.
The default class handler just returns True
.
Please note that the common case is optimized: if no signals
handlers are connected and the default class handler isn't
overridden (for both interface
and the enclosing
DBusObjectSkeleton
, if any) and DBusInterfaceSkeleton
:g-flags
does
not have the
DBusInterfaceSkeletonFlagsHandleMethodInvocationsInThread
flags set, no dedicated thread is ever used and the call will be
handled in the same thread as the object that interface
belongs
to was exported in.
Since: 2.30
afterDBusInterfaceSkeletonGAuthorizeMethod :: (IsDBusInterfaceSkeleton a, MonadIO m) => a -> DBusInterfaceSkeletonGAuthorizeMethodCallback -> m SignalHandlerId Source #
Connect a signal handler for the “g-authorize-method
” signal, to be run after the default handler.
When overloading is enabled, this is equivalent to
after
dBusInterfaceSkeleton #gAuthorizeMethod callback
genClosure_DBusInterfaceSkeletonGAuthorizeMethod :: DBusInterfaceSkeletonGAuthorizeMethodCallback -> IO Closure Source #
Wrap the callback into a Closure
.
mk_DBusInterfaceSkeletonGAuthorizeMethodCallback :: C_DBusInterfaceSkeletonGAuthorizeMethodCallback -> IO (FunPtr C_DBusInterfaceSkeletonGAuthorizeMethodCallback) Source #
Generate a function pointer callable from C code, from a C_DBusInterfaceSkeletonGAuthorizeMethodCallback
.
noDBusInterfaceSkeletonGAuthorizeMethodCallback :: Maybe DBusInterfaceSkeletonGAuthorizeMethodCallback Source #
A convenience synonym for
.Nothing
:: Maybe
DBusInterfaceSkeletonGAuthorizeMethodCallback
onDBusInterfaceSkeletonGAuthorizeMethod :: (IsDBusInterfaceSkeleton a, MonadIO m) => a -> DBusInterfaceSkeletonGAuthorizeMethodCallback -> m SignalHandlerId Source #
Connect a signal handler for the “g-authorize-method
” signal, to be run before the default handler.
When overloading is enabled, this is equivalent to
on
dBusInterfaceSkeleton #gAuthorizeMethod callback