gi-gio
CopyrightWill Thompson and Iñaki García Etxebarria
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

newtype DBusInterfaceSkeleton Source #

Memory-managed wrapper type.

Instances

Instances details
Eq DBusInterfaceSkeleton Source # 
Instance details

Defined in GI.Gio.Objects.DBusInterfaceSkeleton

GObject DBusInterfaceSkeleton Source # 
Instance details

Defined in GI.Gio.Objects.DBusInterfaceSkeleton

ManagedPtrNewtype DBusInterfaceSkeleton Source # 
Instance details

Defined in GI.Gio.Objects.DBusInterfaceSkeleton

TypedObject DBusInterfaceSkeleton Source # 
Instance details

Defined in GI.Gio.Objects.DBusInterfaceSkeleton

Methods

glibType :: IO GType #

HasParentTypes DBusInterfaceSkeleton Source # 
Instance details

Defined in GI.Gio.Objects.DBusInterfaceSkeleton

HasAttributeList DBusInterfaceSkeleton Source # 
Instance details

Defined in GI.Gio.Objects.DBusInterfaceSkeleton

(info ~ ResolveDBusInterfaceSkeletonMethod t DBusInterfaceSkeleton, OverloadedMethod info DBusInterfaceSkeleton p, HasField t DBusInterfaceSkeleton p) => HasField (t :: Symbol) DBusInterfaceSkeleton (p :: Type) Source # 
Instance details

Defined in GI.Gio.Objects.DBusInterfaceSkeleton

(info ~ ResolveDBusInterfaceSkeletonMethod t DBusInterfaceSkeleton, OverloadedMethodInfo info DBusInterfaceSkeleton) => IsLabel t (MethodProxy info DBusInterfaceSkeleton) Source # 
Instance details

Defined in GI.Gio.Objects.DBusInterfaceSkeleton

(info ~ ResolveDBusInterfaceSkeletonMethod t DBusInterfaceSkeleton, OverloadedMethod info DBusInterfaceSkeleton p) => IsLabel t (DBusInterfaceSkeleton -> p) 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

type AttributeList DBusInterfaceSkeleton Source # 
Instance details

Defined in GI.Gio.Objects.DBusInterfaceSkeleton

type ParentTypes DBusInterfaceSkeleton Source # 
Instance details

Defined in GI.Gio.Objects.DBusInterfaceSkeleton

type SignalList DBusInterfaceSkeleton Source # 
Instance details

Defined in GI.Gio.Objects.DBusInterfaceSkeleton

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

type family ResolveDBusInterfaceSkeletonMethod (t :: Symbol) o where ... Source #

Equations

ResolveDBusInterfaceSkeletonMethod "bindProperty" o = ObjectBindPropertyMethodInfo 
ResolveDBusInterfaceSkeletonMethod "bindPropertyFull" o = ObjectBindPropertyFullMethodInfo 
ResolveDBusInterfaceSkeletonMethod "export" o = DBusInterfaceSkeletonExportMethodInfo 
ResolveDBusInterfaceSkeletonMethod "flush" o = DBusInterfaceSkeletonFlushMethodInfo 
ResolveDBusInterfaceSkeletonMethod "forceFloating" o = ObjectForceFloatingMethodInfo 
ResolveDBusInterfaceSkeletonMethod "freezeNotify" o = ObjectFreezeNotifyMethodInfo 
ResolveDBusInterfaceSkeletonMethod "getv" o = ObjectGetvMethodInfo 
ResolveDBusInterfaceSkeletonMethod "hasConnection" o = DBusInterfaceSkeletonHasConnectionMethodInfo 
ResolveDBusInterfaceSkeletonMethod "isFloating" o = ObjectIsFloatingMethodInfo 
ResolveDBusInterfaceSkeletonMethod "notify" o = ObjectNotifyMethodInfo 
ResolveDBusInterfaceSkeletonMethod "notifyByPspec" o = ObjectNotifyByPspecMethodInfo 
ResolveDBusInterfaceSkeletonMethod "ref" o = ObjectRefMethodInfo 
ResolveDBusInterfaceSkeletonMethod "refSink" o = ObjectRefSinkMethodInfo 
ResolveDBusInterfaceSkeletonMethod "runDispose" o = ObjectRunDisposeMethodInfo 
ResolveDBusInterfaceSkeletonMethod "stealData" o = ObjectStealDataMethodInfo 
ResolveDBusInterfaceSkeletonMethod "stealQdata" o = ObjectStealQdataMethodInfo 
ResolveDBusInterfaceSkeletonMethod "thawNotify" o = ObjectThawNotifyMethodInfo 
ResolveDBusInterfaceSkeletonMethod "unexport" o = DBusInterfaceSkeletonUnexportMethodInfo 
ResolveDBusInterfaceSkeletonMethod "unexportFromConnection" o = DBusInterfaceSkeletonUnexportFromConnectionMethodInfo 
ResolveDBusInterfaceSkeletonMethod "unref" o = ObjectUnrefMethodInfo 
ResolveDBusInterfaceSkeletonMethod "watchClosure" o = ObjectWatchClosureMethodInfo 
ResolveDBusInterfaceSkeletonMethod "getConnection" o = DBusInterfaceSkeletonGetConnectionMethodInfo 
ResolveDBusInterfaceSkeletonMethod "getConnections" o = DBusInterfaceSkeletonGetConnectionsMethodInfo 
ResolveDBusInterfaceSkeletonMethod "getData" o = ObjectGetDataMethodInfo 
ResolveDBusInterfaceSkeletonMethod "getFlags" o = DBusInterfaceSkeletonGetFlagsMethodInfo 
ResolveDBusInterfaceSkeletonMethod "getInfo" o = DBusInterfaceSkeletonGetInfoMethodInfo 
ResolveDBusInterfaceSkeletonMethod "getObject" o = DBusInterfaceGetObjectMethodInfo 
ResolveDBusInterfaceSkeletonMethod "getObjectPath" o = DBusInterfaceSkeletonGetObjectPathMethodInfo 
ResolveDBusInterfaceSkeletonMethod "getProperties" o = DBusInterfaceSkeletonGetPropertiesMethodInfo 
ResolveDBusInterfaceSkeletonMethod "getProperty" o = ObjectGetPropertyMethodInfo 
ResolveDBusInterfaceSkeletonMethod "getQdata" o = ObjectGetQdataMethodInfo 
ResolveDBusInterfaceSkeletonMethod "getVtable" o = DBusInterfaceSkeletonGetVtableMethodInfo 
ResolveDBusInterfaceSkeletonMethod "setData" o = ObjectSetDataMethodInfo 
ResolveDBusInterfaceSkeletonMethod "setDataFull" o = ObjectSetDataFullMethodInfo 
ResolveDBusInterfaceSkeletonMethod "setFlags" o = DBusInterfaceSkeletonSetFlagsMethodInfo 
ResolveDBusInterfaceSkeletonMethod "setObject" o = DBusInterfaceSetObjectMethodInfo 
ResolveDBusInterfaceSkeletonMethod "setProperty" o = ObjectSetPropertyMethodInfo 
ResolveDBusInterfaceSkeletonMethod l o = MethodResolutionFailed l o :: Type 

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}'. 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

data DBusInterfaceSkeletonGFlagsPropertyInfo Source #

Instances

Instances details
AttrInfo DBusInterfaceSkeletonGFlagsPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.DBusInterfaceSkeleton

Associated Types

type AttrAllowedOps DBusInterfaceSkeletonGFlagsPropertyInfo 
Instance details

Defined in GI.Gio.Objects.DBusInterfaceSkeleton

type AttrBaseTypeConstraint DBusInterfaceSkeletonGFlagsPropertyInfo 
Instance details

Defined in GI.Gio.Objects.DBusInterfaceSkeleton

type AttrGetType DBusInterfaceSkeletonGFlagsPropertyInfo 
Instance details

Defined in GI.Gio.Objects.DBusInterfaceSkeleton

type AttrSetTypeConstraint DBusInterfaceSkeletonGFlagsPropertyInfo 
Instance details

Defined in GI.Gio.Objects.DBusInterfaceSkeleton

type AttrTransferTypeConstraint DBusInterfaceSkeletonGFlagsPropertyInfo 
Instance details

Defined in GI.Gio.Objects.DBusInterfaceSkeleton

type AttrTransferType DBusInterfaceSkeletonGFlagsPropertyInfo 
Instance details

Defined in GI.Gio.Objects.DBusInterfaceSkeleton

type AttrLabel DBusInterfaceSkeletonGFlagsPropertyInfo 
Instance details

Defined in GI.Gio.Objects.DBusInterfaceSkeleton

type AttrOrigin DBusInterfaceSkeletonGFlagsPropertyInfo 
Instance details

Defined in GI.Gio.Objects.DBusInterfaceSkeleton

type AttrAllowedOps DBusInterfaceSkeletonGFlagsPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.DBusInterfaceSkeleton

type AttrBaseTypeConstraint DBusInterfaceSkeletonGFlagsPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.DBusInterfaceSkeleton

type AttrGetType DBusInterfaceSkeletonGFlagsPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.DBusInterfaceSkeleton

type AttrLabel DBusInterfaceSkeletonGFlagsPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.DBusInterfaceSkeleton

type AttrOrigin DBusInterfaceSkeletonGFlagsPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.DBusInterfaceSkeleton

type AttrSetTypeConstraint DBusInterfaceSkeletonGFlagsPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.DBusInterfaceSkeleton

type AttrTransferType DBusInterfaceSkeletonGFlagsPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.DBusInterfaceSkeleton

type AttrTransferTypeConstraint DBusInterfaceSkeletonGFlagsPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.DBusInterfaceSkeleton

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