gi-gio-2.0.32: Gio bindings

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

GI.Gio.Objects.DBusInterfaceSkeleton

Contents

- Exported types
- Methods
  - export
  - flush
  - getConnection
  - getConnections
  - getFlags
  - getInfo
  - getObjectPath
  - getProperties
  - getVtable
  - hasConnection
  - setFlags
  - unexport
  - unexportFromConnection
- Properties
  - gFlags
- Signals
  - gAuthorizeMethod

Description

Abstract base class for D-Bus interfaces on the service side.

Since: 2.30

Synopsis

- newtype DBusInterfaceSkeleton = DBusInterfaceSkeleton (ManagedPtr DBusInterfaceSkeleton)
- class (GObject o, IsDescendantOf DBusInterfaceSkeleton o) => IsDBusInterfaceSkeleton o
- toDBusInterfaceSkeleton :: (MonadIO m, IsDBusInterfaceSkeleton o) => o -> m 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 (Maybe 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 (Maybe Text)
- dBusInterfaceSkeletonGetProperties :: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a) => a -> m GVariant
- dBusInterfaceSkeletonGetVtable :: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a) => a -> m DBusInterfaceVTable
- 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, MonadIO m) => [DBusInterfaceSkeletonFlags] -> m (GValueConstruct o)
- getDBusInterfaceSkeletonGFlags :: (MonadIO m, IsDBusInterfaceSkeleton o) => o -> m [DBusInterfaceSkeletonFlags]
- setDBusInterfaceSkeletonGFlags :: (MonadIO m, IsDBusInterfaceSkeleton o) => o -> [DBusInterfaceSkeletonFlags] -> m ()
- type DBusInterfaceSkeletonGAuthorizeMethodCallback = DBusMethodInvocation -> IO Bool
- afterDBusInterfaceSkeletonGAuthorizeMethod :: (IsDBusInterfaceSkeleton a, MonadIO m) => a -> ((?self :: a) => DBusInterfaceSkeletonGAuthorizeMethodCallback) -> m SignalHandlerId
- onDBusInterfaceSkeletonGAuthorizeMethod :: (IsDBusInterfaceSkeleton a, MonadIO m) => a -> ((?self :: a) => DBusInterfaceSkeletonGAuthorizeMethodCallback) -> m SignalHandlerId

# Exported types

newtype DBusInterfaceSkeleton Source #

Memory-managed wrapper type.

Constructors

DBusInterfaceSkeleton (ManagedPtr DBusInterfaceSkeleton) |

#### Instances

Instances details

Eq DBusInterfaceSkeleton Source # |
Instance details Defined in GI.Gio.Objects.DBusInterfaceSkeleton Methods (==) :: DBusInterfaceSkeleton -> DBusInterfaceSkeleton -> Bool Source # (/=) :: DBusInterfaceSkeleton -> DBusInterfaceSkeleton -> Bool Source #
GObject DBusInterfaceSkeleton Source # |
Instance details Defined in GI.Gio.Objects.DBusInterfaceSkeleton
ManagedPtrNewtype DBusInterfaceSkeleton Source # |
Instance details Defined in GI.Gio.Objects.DBusInterfaceSkeleton Methods toManagedPtr :: DBusInterfaceSkeleton -> ManagedPtr DBusInterfaceSkeleton Source #
TypedObject DBusInterfaceSkeleton Source # |
Instance details Defined in GI.Gio.Objects.DBusInterfaceSkeleton Methods glibType :: IO GType Source #
HasParentTypes DBusInterfaceSkeleton Source # |
Instance details Defined in GI.Gio.Objects.DBusInterfaceSkeleton
IsGValue (Maybe DBusInterfaceSkeleton) Source # | Convert `DBusInterfaceSkeleton` to and from `GValue`. See `toGValue` and `fromGValue`.
Instance details Defined in GI.Gio.Objects.DBusInterfaceSkeleton Methods gvalueGType_ :: IO GType Source # gvalueSet_ :: Ptr GValue -> Maybe DBusInterfaceSkeleton -> IO () Source # gvalueGet_ :: Ptr GValue -> IO (Maybe DBusInterfaceSkeleton) Source #
type ParentTypes DBusInterfaceSkeleton Source # |
Instance details Defined in GI.Gio.Objects.DBusInterfaceSkeleton type ParentTypes DBusInterfaceSkeleton = '[Object, DBusInterface]

class (GObject o, IsDescendantOf DBusInterfaceSkeleton o) => IsDBusInterfaceSkeleton o Source #

Type class for types which can be safely cast to `DBusInterfaceSkeleton`, for instance with `toDBusInterfaceSkeleton`.

#### Instances

Instances details

(GObject o, IsDescendantOf DBusInterfaceSkeleton o) => IsDBusInterfaceSkeleton o Source # |
Instance details Defined in GI.Gio.Objects.DBusInterfaceSkeleton

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`.

# Methods

### Click to display all available methods, including inherited ones

Expand

#### Methods

bindProperty, bindPropertyFull, export, flush, forceFloating, freezeNotify, getv, hasConnection, isFloating, notify, notifyByPspec, ref, refSink, runDispose, stealData, stealQdata, thawNotify, unexport, unexportFromConnection, unref, watchClosure.

#### Getters

getConnection, getConnections, getData, getFlags, getInfo, getObject, getObjectPath, getProperties, getProperty, getQdata, getVtable.

#### Setters

setData, setDataFull, setFlags, setObject, setProperty.

## export

dBusInterfaceSkeletonExport Source #

Arguments

:: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a, IsDBusConnection b) |
=> a | `interface_`: The D-Bus interface to export.
-> b | `connection`: A `DBusConnection` to export `interface_` on.
-> Text | `objectPath`: The path to export the interface at.
-> m () | (Can throw `GError`)

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 #

Arguments

:: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a) |
=> a | `interface_`: A `DBusInterfaceSkeleton`.
-> 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 #

Arguments

:: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a) |
=> a | `interface_`: A `DBusInterfaceSkeleton`.
-> m (Maybe DBusConnection) | Returns: A `DBusConnection` or `Nothing` if `interface_` is not exported anywhere. Do not free, the object belongs to `interface_`.

Gets the first connection that `interface_` is exported on, if any.

Since: 2.30

## getConnections

dBusInterfaceSkeletonGetConnections Source #

Arguments

:: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a) |
=> a | `interface_`: A `DBusInterfaceSkeleton`.
-> m [DBusConnection] | Returns: A list of all the connections that `interface_` is exported on. The returned list should be freed with `g_list_free()` after each element has been freed with `objectUnref`.

Gets a list of the connections that `interface_` is exported on.

Since: 2.32

## getFlags

dBusInterfaceSkeletonGetFlags Source #

Arguments

:: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a) |
=> a | `interface_`: A `DBusInterfaceSkeleton`.
-> m [DBusInterfaceSkeletonFlags] | Returns: One or more flags from the `DBusInterfaceSkeletonFlags` enumeration.

Gets the `DBusInterfaceSkeletonFlags` that describes what the behavior of `interface_`

Since: 2.30

## getInfo

dBusInterfaceSkeletonGetInfo Source #

Arguments

:: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a) |
=> a | `interface_`: A `DBusInterfaceSkeleton`.
-> m DBusInterfaceInfo | Returns: A `DBusInterfaceInfo` (never `Nothing`). Do not free.

Gets D-Bus introspection information for the D-Bus interface implemented by `interface_`.

Since: 2.30

## getObjectPath

dBusInterfaceSkeletonGetObjectPath Source #

Arguments

:: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a) |
=> a | `interface_`: A `DBusInterfaceSkeleton`.
-> m (Maybe Text) | Returns: A string owned by `interface_` or `Nothing` if `interface_` is not exported anywhere. Do not free, the string belongs to `interface_`.

Gets the object path that `interface_` is exported on, if any.

Since: 2.30

## getProperties

dBusInterfaceSkeletonGetProperties Source #

Arguments

:: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a) |
=> a | `interface_`: A `DBusInterfaceSkeleton`.
-> m GVariant | Returns: A `GVariant` of type ['a{sv}'][G-VARIANT-TYPE-VARDICT:CAPS]. Free with `variantUnref`.

Gets all D-Bus properties for `interface_`.

Since: 2.30

## getVtable

dBusInterfaceSkeletonGetVtable Source #

Arguments

:: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a) |
=> a | `interface_`: A `DBusInterfaceSkeleton`.
-> m DBusInterfaceVTable | Returns: the vtable of the D-Bus interface implemented by the skeleton

Gets the interface vtable for the D-Bus interface implemented by `interface_`. The returned function pointers should expect `interface_` itself to be passed as `userData`.

Since: 2.30

## hasConnection

dBusInterfaceSkeletonHasConnection Source #

Arguments

:: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a, IsDBusConnection b) |
=> a | `interface_`: A `DBusInterfaceSkeleton`.
-> b | `connection`: A `DBusConnection`.
-> m Bool | Returns: `True` if `interface_` is exported on `connection`, `False` otherwise.

Checks if `interface_` is exported on `connection`.

Since: 2.32

## setFlags

dBusInterfaceSkeletonSetFlags Source #

Arguments

:: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a) |
=> a | `interface_`: A `DBusInterfaceSkeleton`.
-> [DBusInterfaceSkeletonFlags] | `flags`: Flags from the `DBusInterfaceSkeletonFlags` enumeration.
-> m () |

Sets flags describing what the behavior of `skeleton` should be.

Since: 2.30

## unexport

dBusInterfaceSkeletonUnexport Source #

Arguments

:: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a) |
=> a | `interface_`: A `DBusInterfaceSkeleton`.
-> 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 #

Arguments

:: (HasCallStack, MonadIO m, IsDBusInterfaceSkeleton a, IsDBusConnection b) |
=> a | `interface_`: A `DBusInterfaceSkeleton`.
-> b | `connection`: A `DBusConnection`.
-> 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, MonadIO m) => [DBusInterfaceSkeletonFlags] -> m (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 DBusInterfaceSkeletonGAuthorizeMethodCallback Source #

Arguments

= DBusMethodInvocation | `invocation`: A `DBusMethodInvocation`.
-> IO Bool | Returns: `True` if the call is authorized, `False` otherwise.

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::authorizeMethod 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:gFlags 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 -> ((?self :: a) => DBusInterfaceSkeletonGAuthorizeMethodCallback) -> m SignalHandlerId Source #

Connect a signal handler for the gAuthorizeMethod signal, to be run after the default handler. When overloading is enabled, this is equivalent to

    after dBusInterfaceSkeleton #gAuthorizeMethod 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.

onDBusInterfaceSkeletonGAuthorizeMethod :: (IsDBusInterfaceSkeleton a, MonadIO m) => a -> ((?self :: a) => DBusInterfaceSkeletonGAuthorizeMethodCallback) -> m SignalHandlerId Source #

Connect a signal handler for the gAuthorizeMethod signal, to be run before the default handler. When overloading is enabled, this is equivalent to

    on dBusInterfaceSkeleton #gAuthorizeMethod callback