gi-gio
CopyrightWill Thompson and Iñaki García Etxebarria
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellNone
LanguageHaskell2010

GI.Gio.Objects.DBusObjectManagerServer

Description

GDBusObjectManagerServer is used to export DBusObject instances using the standardized `org.freedesktop.DBus.ObjectManager` interface. For example, remote D-Bus clients can get all objects and properties in a single call. Additionally, any change in the object hierarchy is broadcast using signals. This means that D-Bus clients can keep caches up to date by only listening to D-Bus signals.

The recommended path to export an object manager at is the path form of the well-known name of a D-Bus service, or below. For example, if a D-Bus service is available at the well-known name net.example.ExampleService1, the object manager should typically be exported at /net/example/ExampleService1, or below (to allow for multiple object managers in a service).

It is supported, but not recommended, to export an object manager at the root path, /.

See DBusObjectManagerClient for the client-side code that is intended to be used with GDBusObjectManagerServer or any D-Bus object implementing the org.freedesktop.DBus.ObjectManager interface.

Since: 2.30

Synopsis

Exported types

newtype DBusObjectManagerServer Source #

Memory-managed wrapper type.

Instances

Instances details
Eq DBusObjectManagerServer Source # 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

GObject DBusObjectManagerServer Source # 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

ManagedPtrNewtype DBusObjectManagerServer Source # 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

TypedObject DBusObjectManagerServer Source # 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

Methods

glibType :: IO GType #

HasParentTypes DBusObjectManagerServer Source # 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

HasAttributeList DBusObjectManagerServer Source # 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

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

Defined in GI.Gio.Objects.DBusObjectManagerServer

(info ~ ResolveDBusObjectManagerServerMethod t DBusObjectManagerServer, OverloadedMethodInfo info DBusObjectManagerServer) => IsLabel t (MethodProxy info DBusObjectManagerServer) Source # 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

(info ~ ResolveDBusObjectManagerServerMethod t DBusObjectManagerServer, OverloadedMethod info DBusObjectManagerServer p) => IsLabel t (DBusObjectManagerServer -> p) Source # 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

IsGValue (Maybe DBusObjectManagerServer) Source #

Convert DBusObjectManagerServer to and from GValue. See toGValue and fromGValue.

Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type AttributeList DBusObjectManagerServer Source # 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type ParentTypes DBusObjectManagerServer Source # 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type SignalList DBusObjectManagerServer Source # 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

class (GObject o, IsDescendantOf DBusObjectManagerServer o) => IsDBusObjectManagerServer o Source #

Type class for types which can be safely cast to DBusObjectManagerServer, for instance with toDBusObjectManagerServer.

toDBusObjectManagerServer :: (MonadIO m, IsDBusObjectManagerServer o) => o -> m DBusObjectManagerServer Source #

Cast to DBusObjectManagerServer, for types for which this is known to be safe. For general casts, use castTo.

Methods

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

Equations

ResolveDBusObjectManagerServerMethod "bindProperty" o = ObjectBindPropertyMethodInfo 
ResolveDBusObjectManagerServerMethod "bindPropertyFull" o = ObjectBindPropertyFullMethodInfo 
ResolveDBusObjectManagerServerMethod "export" o = DBusObjectManagerServerExportMethodInfo 
ResolveDBusObjectManagerServerMethod "exportUniquely" o = DBusObjectManagerServerExportUniquelyMethodInfo 
ResolveDBusObjectManagerServerMethod "forceFloating" o = ObjectForceFloatingMethodInfo 
ResolveDBusObjectManagerServerMethod "freezeNotify" o = ObjectFreezeNotifyMethodInfo 
ResolveDBusObjectManagerServerMethod "getv" o = ObjectGetvMethodInfo 
ResolveDBusObjectManagerServerMethod "isExported" o = DBusObjectManagerServerIsExportedMethodInfo 
ResolveDBusObjectManagerServerMethod "isFloating" o = ObjectIsFloatingMethodInfo 
ResolveDBusObjectManagerServerMethod "notify" o = ObjectNotifyMethodInfo 
ResolveDBusObjectManagerServerMethod "notifyByPspec" o = ObjectNotifyByPspecMethodInfo 
ResolveDBusObjectManagerServerMethod "ref" o = ObjectRefMethodInfo 
ResolveDBusObjectManagerServerMethod "refSink" o = ObjectRefSinkMethodInfo 
ResolveDBusObjectManagerServerMethod "runDispose" o = ObjectRunDisposeMethodInfo 
ResolveDBusObjectManagerServerMethod "stealData" o = ObjectStealDataMethodInfo 
ResolveDBusObjectManagerServerMethod "stealQdata" o = ObjectStealQdataMethodInfo 
ResolveDBusObjectManagerServerMethod "thawNotify" o = ObjectThawNotifyMethodInfo 
ResolveDBusObjectManagerServerMethod "unexport" o = DBusObjectManagerServerUnexportMethodInfo 
ResolveDBusObjectManagerServerMethod "unref" o = ObjectUnrefMethodInfo 
ResolveDBusObjectManagerServerMethod "watchClosure" o = ObjectWatchClosureMethodInfo 
ResolveDBusObjectManagerServerMethod "getConnection" o = DBusObjectManagerServerGetConnectionMethodInfo 
ResolveDBusObjectManagerServerMethod "getData" o = ObjectGetDataMethodInfo 
ResolveDBusObjectManagerServerMethod "getInterface" o = DBusObjectManagerGetInterfaceMethodInfo 
ResolveDBusObjectManagerServerMethod "getObject" o = DBusObjectManagerGetObjectMethodInfo 
ResolveDBusObjectManagerServerMethod "getObjectPath" o = DBusObjectManagerGetObjectPathMethodInfo 
ResolveDBusObjectManagerServerMethod "getObjects" o = DBusObjectManagerGetObjectsMethodInfo 
ResolveDBusObjectManagerServerMethod "getProperty" o = ObjectGetPropertyMethodInfo 
ResolveDBusObjectManagerServerMethod "getQdata" o = ObjectGetQdataMethodInfo 
ResolveDBusObjectManagerServerMethod "setConnection" o = DBusObjectManagerServerSetConnectionMethodInfo 
ResolveDBusObjectManagerServerMethod "setData" o = ObjectSetDataMethodInfo 
ResolveDBusObjectManagerServerMethod "setDataFull" o = ObjectSetDataFullMethodInfo 
ResolveDBusObjectManagerServerMethod "setProperty" o = ObjectSetPropertyMethodInfo 
ResolveDBusObjectManagerServerMethod l o = MethodResolutionFailed l o :: Type 

export

dBusObjectManagerServerExport Source #

Exports object on manager.

If there is already a DBusObject exported at the object path, then the old object is removed.

The object path for object must be in the hierarchy rooted by the object path for manager.

Note that manager will take a reference on object for as long as it is exported.

Since: 2.30

exportUniquely

dBusObjectManagerServerExportUniquely Source #

Arguments

:: (HasCallStack, MonadIO m, IsDBusObjectManagerServer a, IsDBusObjectSkeleton b) 
=> a

manager: A DBusObjectManagerServer.

-> b

object: An object.

-> m () 

Like dBusObjectManagerServerExport but appends a string of the form _N (with N being a natural number) to object's object path if an object with the given path already exists. As such, the DBusObjectProxy:gObjectPath property of object may be modified.

Since: 2.30

getConnection

dBusObjectManagerServerGetConnection Source #

Arguments

:: (HasCallStack, MonadIO m, IsDBusObjectManagerServer a) 
=> a

manager: A DBusObjectManagerServer

-> m (Maybe DBusConnection)

Returns: A DBusConnection object or Nothing if manager isn't exported on a connection. The returned object should be freed with objectUnref.

Gets the DBusConnection used by manager.

Since: 2.30

isExported

dBusObjectManagerServerIsExported Source #

Arguments

:: (HasCallStack, MonadIO m, IsDBusObjectManagerServer a, IsDBusObjectSkeleton b) 
=> a

manager: A DBusObjectManagerServer.

-> b

object: An object.

-> m Bool

Returns: True if object is exported

Returns whether object is currently exported on manager.

Since: 2.34

new

dBusObjectManagerServerNew Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Text

objectPath: The object path to export the manager object at.

-> m DBusObjectManagerServer

Returns: A DBusObjectManagerServer object. Free with objectUnref.

Creates a new DBusObjectManagerServer object.

The returned server isn't yet exported on any connection. To do so, use dBusObjectManagerServerSetConnection. Normally you want to export all of your objects before doing so to avoid InterfacesAdded signals being emitted.

Since: 2.30

setConnection

dBusObjectManagerServerSetConnection Source #

Arguments

:: (HasCallStack, MonadIO m, IsDBusObjectManagerServer a, IsDBusConnection b) 
=> a

manager: A DBusObjectManagerServer.

-> Maybe b

connection: A DBusConnection or Nothing.

-> m () 

Exports all objects managed by manager on connection. If connection is Nothing, stops exporting objects.

unexport

dBusObjectManagerServerUnexport Source #

Arguments

:: (HasCallStack, MonadIO m, IsDBusObjectManagerServer a) 
=> a

manager: A DBusObjectManagerServer.

-> Text

objectPath: An object path.

-> m Bool

Returns: True if object at objectPath was removed, False otherwise.

If manager has an object at path, removes the object. Otherwise does nothing.

Note that objectPath must be in the hierarchy rooted by the object path for manager.

Since: 2.30

Properties

connection

The DBusConnection to export objects on.

Since: 2.30

data DBusObjectManagerServerConnectionPropertyInfo Source #

Instances

Instances details
AttrInfo DBusObjectManagerServerConnectionPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

Associated Types

type AttrAllowedOps DBusObjectManagerServerConnectionPropertyInfo 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type AttrBaseTypeConstraint DBusObjectManagerServerConnectionPropertyInfo 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type AttrGetType DBusObjectManagerServerConnectionPropertyInfo 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type AttrSetTypeConstraint DBusObjectManagerServerConnectionPropertyInfo 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type AttrTransferTypeConstraint DBusObjectManagerServerConnectionPropertyInfo 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type AttrTransferType DBusObjectManagerServerConnectionPropertyInfo 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type AttrLabel DBusObjectManagerServerConnectionPropertyInfo 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type AttrOrigin DBusObjectManagerServerConnectionPropertyInfo 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type AttrAllowedOps DBusObjectManagerServerConnectionPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type AttrBaseTypeConstraint DBusObjectManagerServerConnectionPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type AttrGetType DBusObjectManagerServerConnectionPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type AttrLabel DBusObjectManagerServerConnectionPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type AttrOrigin DBusObjectManagerServerConnectionPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type AttrSetTypeConstraint DBusObjectManagerServerConnectionPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type AttrTransferType DBusObjectManagerServerConnectionPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type AttrTransferTypeConstraint DBusObjectManagerServerConnectionPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

clearDBusObjectManagerServerConnection :: (MonadIO m, IsDBusObjectManagerServer o) => o -> m () Source #

Set the value of the “connection” property to Nothing. When overloading is enabled, this is equivalent to

clear #connection

constructDBusObjectManagerServerConnection :: (IsDBusObjectManagerServer 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.

getDBusObjectManagerServerConnection :: (MonadIO m, IsDBusObjectManagerServer o) => o -> m (Maybe DBusConnection) Source #

Get the value of the “connection” property. When overloading is enabled, this is equivalent to

get dBusObjectManagerServer #connection

setDBusObjectManagerServerConnection :: (MonadIO m, IsDBusObjectManagerServer o, IsDBusConnection a) => o -> a -> m () Source #

Set the value of the “connection” property. When overloading is enabled, this is equivalent to

set dBusObjectManagerServer [ #connection := value ]

objectPath

The object path to register the manager object at.

Since: 2.30

data DBusObjectManagerServerObjectPathPropertyInfo Source #

Instances

Instances details
AttrInfo DBusObjectManagerServerObjectPathPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

Associated Types

type AttrAllowedOps DBusObjectManagerServerObjectPathPropertyInfo 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type AttrBaseTypeConstraint DBusObjectManagerServerObjectPathPropertyInfo 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type AttrGetType DBusObjectManagerServerObjectPathPropertyInfo 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type AttrSetTypeConstraint DBusObjectManagerServerObjectPathPropertyInfo 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type AttrTransferTypeConstraint DBusObjectManagerServerObjectPathPropertyInfo 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type AttrTransferType DBusObjectManagerServerObjectPathPropertyInfo 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type AttrLabel DBusObjectManagerServerObjectPathPropertyInfo 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type AttrOrigin DBusObjectManagerServerObjectPathPropertyInfo 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type AttrAllowedOps DBusObjectManagerServerObjectPathPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type AttrBaseTypeConstraint DBusObjectManagerServerObjectPathPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type AttrGetType DBusObjectManagerServerObjectPathPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type AttrLabel DBusObjectManagerServerObjectPathPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type AttrOrigin DBusObjectManagerServerObjectPathPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type AttrSetTypeConstraint DBusObjectManagerServerObjectPathPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type AttrTransferType DBusObjectManagerServerObjectPathPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

type AttrTransferTypeConstraint DBusObjectManagerServerObjectPathPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.DBusObjectManagerServer

constructDBusObjectManagerServerObjectPath :: (IsDBusObjectManagerServer 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.

getDBusObjectManagerServerObjectPath :: (MonadIO m, IsDBusObjectManagerServer o) => o -> m (Maybe Text) Source #

Get the value of the “object-path” property. When overloading is enabled, this is equivalent to

get dBusObjectManagerServer #objectPath