gi-gio-2.0.25: Gio bindings
CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellNone
LanguageHaskell2010

GI.Gio.Objects.DBusInterfaceSkeleton

Description

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

Since: 2.30

Synopsis

Exported types

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

Overloaded methods

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

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 => [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 #

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 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: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 gAuthorizeMethod signal, to be run after the default handler. When overloading is enabled, this is equivalent to

after dBusInterfaceSkeleton #gAuthorizeMethod callback

onDBusInterfaceSkeletonGAuthorizeMethod :: (IsDBusInterfaceSkeleton a, MonadIO m) => 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