Copyright | Will Thompson and Iñaki García Etxebarria |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | None |
Language | Haskell2010 |
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
- newtype DBusObjectManagerServer = DBusObjectManagerServer (ManagedPtr DBusObjectManagerServer)
- class (GObject o, IsDescendantOf DBusObjectManagerServer o) => IsDBusObjectManagerServer o
- toDBusObjectManagerServer :: (MonadIO m, IsDBusObjectManagerServer o) => o -> m DBusObjectManagerServer
- type family ResolveDBusObjectManagerServerMethod (t :: Symbol) o where ...
- data DBusObjectManagerServerExportMethodInfo
- dBusObjectManagerServerExport :: (HasCallStack, MonadIO m, IsDBusObjectManagerServer a, IsDBusObjectSkeleton b) => a -> b -> m ()
- data DBusObjectManagerServerExportUniquelyMethodInfo
- dBusObjectManagerServerExportUniquely :: (HasCallStack, MonadIO m, IsDBusObjectManagerServer a, IsDBusObjectSkeleton b) => a -> b -> m ()
- data DBusObjectManagerServerGetConnectionMethodInfo
- dBusObjectManagerServerGetConnection :: (HasCallStack, MonadIO m, IsDBusObjectManagerServer a) => a -> m (Maybe DBusConnection)
- data DBusObjectManagerServerIsExportedMethodInfo
- dBusObjectManagerServerIsExported :: (HasCallStack, MonadIO m, IsDBusObjectManagerServer a, IsDBusObjectSkeleton b) => a -> b -> m Bool
- dBusObjectManagerServerNew :: (HasCallStack, MonadIO m) => Text -> m DBusObjectManagerServer
- data DBusObjectManagerServerSetConnectionMethodInfo
- dBusObjectManagerServerSetConnection :: (HasCallStack, MonadIO m, IsDBusObjectManagerServer a, IsDBusConnection b) => a -> Maybe b -> m ()
- data DBusObjectManagerServerUnexportMethodInfo
- dBusObjectManagerServerUnexport :: (HasCallStack, MonadIO m, IsDBusObjectManagerServer a) => a -> Text -> m Bool
- data DBusObjectManagerServerConnectionPropertyInfo
- clearDBusObjectManagerServerConnection :: (MonadIO m, IsDBusObjectManagerServer o) => o -> m ()
- constructDBusObjectManagerServerConnection :: (IsDBusObjectManagerServer o, MonadIO m, IsDBusConnection a) => a -> m (GValueConstruct o)
- dBusObjectManagerServerConnection :: AttrLabelProxy "connection"
- getDBusObjectManagerServerConnection :: (MonadIO m, IsDBusObjectManagerServer o) => o -> m (Maybe DBusConnection)
- setDBusObjectManagerServerConnection :: (MonadIO m, IsDBusObjectManagerServer o, IsDBusConnection a) => o -> a -> m ()
- data DBusObjectManagerServerObjectPathPropertyInfo
- constructDBusObjectManagerServerObjectPath :: (IsDBusObjectManagerServer o, MonadIO m) => Text -> m (GValueConstruct o)
- dBusObjectManagerServerObjectPath :: AttrLabelProxy "objectPath"
- getDBusObjectManagerServerObjectPath :: (MonadIO m, IsDBusObjectManagerServer o) => o -> m (Maybe Text)
Exported types
newtype DBusObjectManagerServer Source #
Memory-managed wrapper type.
Constructors
DBusObjectManagerServer (ManagedPtr DBusObjectManagerServer) |
Instances
class (GObject o, IsDescendantOf DBusObjectManagerServer o) => IsDBusObjectManagerServer o Source #
Type class for types which can be safely cast to DBusObjectManagerServer
, for instance with toDBusObjectManagerServer
.
Instances
(GObject o, IsDescendantOf DBusObjectManagerServer o) => IsDBusObjectManagerServer o Source # | |
Defined in GI.Gio.Objects.DBusObjectManagerServer |
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
Click to display all available methods, including inherited ones
Methods
bindProperty, bindPropertyFull, export, exportUniquely, forceFloating, freezeNotify, getv, isExported, isFloating, notify, notifyByPspec, ref, refSink, runDispose, stealData, stealQdata, thawNotify, unexport, unref, watchClosure.
Getters
getConnection, getData, getInterface, getObject, getObjectPath, getObjects, getProperty, getQdata.
Setters
type family ResolveDBusObjectManagerServerMethod (t :: Symbol) o where ... Source #
Equations
export
data DBusObjectManagerServerExportMethodInfo Source #
Instances
(signature ~ (b -> m ()), MonadIO m, IsDBusObjectManagerServer a, IsDBusObjectSkeleton b) => OverloadedMethod DBusObjectManagerServerExportMethodInfo a signature Source # | |
Defined in GI.Gio.Objects.DBusObjectManagerServer Methods overloadedMethod :: a -> signature # | |
OverloadedMethodInfo DBusObjectManagerServerExportMethodInfo (a :: Type) Source # | |
Defined in GI.Gio.Objects.DBusObjectManagerServer Methods |
dBusObjectManagerServerExport Source #
Arguments
:: (HasCallStack, MonadIO m, IsDBusObjectManagerServer a, IsDBusObjectSkeleton b) | |
=> a |
|
-> b |
|
-> m () |
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
data DBusObjectManagerServerExportUniquelyMethodInfo Source #
Instances
(signature ~ (b -> m ()), MonadIO m, IsDBusObjectManagerServer a, IsDBusObjectSkeleton b) => OverloadedMethod DBusObjectManagerServerExportUniquelyMethodInfo a signature Source # | |
Defined in GI.Gio.Objects.DBusObjectManagerServer Methods overloadedMethod :: a -> signature # | |
OverloadedMethodInfo DBusObjectManagerServerExportUniquelyMethodInfo (a :: Type) Source # | |
Defined in GI.Gio.Objects.DBusObjectManagerServer Methods |
dBusObjectManagerServerExportUniquely Source #
Arguments
:: (HasCallStack, MonadIO m, IsDBusObjectManagerServer a, IsDBusObjectSkeleton b) | |
=> a |
|
-> b |
|
-> 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
data DBusObjectManagerServerGetConnectionMethodInfo Source #
Instances
(signature ~ m (Maybe DBusConnection), MonadIO m, IsDBusObjectManagerServer a) => OverloadedMethod DBusObjectManagerServerGetConnectionMethodInfo a signature Source # | |
Defined in GI.Gio.Objects.DBusObjectManagerServer Methods overloadedMethod :: a -> signature # | |
OverloadedMethodInfo DBusObjectManagerServerGetConnectionMethodInfo (a :: Type) Source # | |
Defined in GI.Gio.Objects.DBusObjectManagerServer Methods |
dBusObjectManagerServerGetConnection Source #
Arguments
:: (HasCallStack, MonadIO m, IsDBusObjectManagerServer a) | |
=> a |
|
-> m (Maybe DBusConnection) | Returns: A |
Gets the DBusConnection
used by manager
.
Since: 2.30
isExported
data DBusObjectManagerServerIsExportedMethodInfo Source #
Instances
(signature ~ (b -> m Bool), MonadIO m, IsDBusObjectManagerServer a, IsDBusObjectSkeleton b) => OverloadedMethod DBusObjectManagerServerIsExportedMethodInfo a signature Source # | |
Defined in GI.Gio.Objects.DBusObjectManagerServer Methods overloadedMethod :: a -> signature # | |
OverloadedMethodInfo DBusObjectManagerServerIsExportedMethodInfo (a :: Type) Source # | |
Defined in GI.Gio.Objects.DBusObjectManagerServer Methods |
dBusObjectManagerServerIsExported Source #
Arguments
:: (HasCallStack, MonadIO m, IsDBusObjectManagerServer a, IsDBusObjectSkeleton b) | |
=> a |
|
-> b |
|
-> m Bool | Returns: |
Returns whether object
is currently exported on manager
.
Since: 2.34
new
dBusObjectManagerServerNew Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> Text |
|
-> m DBusObjectManagerServer | Returns: A |
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
data DBusObjectManagerServerSetConnectionMethodInfo Source #
Instances
(signature ~ (Maybe b -> m ()), MonadIO m, IsDBusObjectManagerServer a, IsDBusConnection b) => OverloadedMethod DBusObjectManagerServerSetConnectionMethodInfo a signature Source # | |
Defined in GI.Gio.Objects.DBusObjectManagerServer Methods overloadedMethod :: a -> signature # | |
OverloadedMethodInfo DBusObjectManagerServerSetConnectionMethodInfo (a :: Type) Source # | |
Defined in GI.Gio.Objects.DBusObjectManagerServer Methods |
dBusObjectManagerServerSetConnection Source #
Arguments
:: (HasCallStack, MonadIO m, IsDBusObjectManagerServer a, IsDBusConnection b) | |
=> a |
|
-> Maybe b |
|
-> m () |
Exports all objects managed by manager
on connection
. If
connection
is Nothing
, stops exporting objects.
unexport
data DBusObjectManagerServerUnexportMethodInfo Source #
Instances
(signature ~ (Text -> m Bool), MonadIO m, IsDBusObjectManagerServer a) => OverloadedMethod DBusObjectManagerServerUnexportMethodInfo a signature Source # | |
Defined in GI.Gio.Objects.DBusObjectManagerServer Methods overloadedMethod :: a -> signature # | |
OverloadedMethodInfo DBusObjectManagerServerUnexportMethodInfo (a :: Type) Source # | |
Defined in GI.Gio.Objects.DBusObjectManagerServer Methods |
dBusObjectManagerServerUnexport Source #
Arguments
:: (HasCallStack, MonadIO m, IsDBusObjectManagerServer a) | |
=> a |
|
-> Text |
|
-> m Bool | Returns: |
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
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
.
dBusObjectManagerServerConnection :: AttrLabelProxy "connection" Source #
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
AttrInfo DBusObjectManagerServerObjectPathPropertyInfo Source # | |||||||||||||||||||||||||||||||||
Defined in GI.Gio.Objects.DBusObjectManagerServer Associated Types
Methods attrGet :: AttrBaseTypeConstraint DBusObjectManagerServerObjectPathPropertyInfo o => o -> IO (AttrGetType DBusObjectManagerServerObjectPathPropertyInfo) # attrSet :: (AttrBaseTypeConstraint DBusObjectManagerServerObjectPathPropertyInfo o, AttrSetTypeConstraint DBusObjectManagerServerObjectPathPropertyInfo b) => o -> b -> IO () # attrClear :: AttrBaseTypeConstraint DBusObjectManagerServerObjectPathPropertyInfo o => o -> IO () # attrConstruct :: (AttrBaseTypeConstraint DBusObjectManagerServerObjectPathPropertyInfo o, AttrSetTypeConstraint DBusObjectManagerServerObjectPathPropertyInfo b) => b -> IO (GValueConstruct o) # attrTransfer :: (AttrBaseTypeConstraint DBusObjectManagerServerObjectPathPropertyInfo o, AttrTransferTypeConstraint DBusObjectManagerServerObjectPathPropertyInfo b) => Proxy o -> b -> IO (AttrTransferType DBusObjectManagerServerObjectPathPropertyInfo) # | |||||||||||||||||||||||||||||||||
type AttrAllowedOps DBusObjectManagerServerObjectPathPropertyInfo Source # | |||||||||||||||||||||||||||||||||
type AttrBaseTypeConstraint DBusObjectManagerServerObjectPathPropertyInfo Source # | |||||||||||||||||||||||||||||||||
type AttrGetType DBusObjectManagerServerObjectPathPropertyInfo Source # | |||||||||||||||||||||||||||||||||
type AttrLabel DBusObjectManagerServerObjectPathPropertyInfo Source # | |||||||||||||||||||||||||||||||||
Defined in GI.Gio.Objects.DBusObjectManagerServer | |||||||||||||||||||||||||||||||||
type AttrOrigin DBusObjectManagerServerObjectPathPropertyInfo Source # | |||||||||||||||||||||||||||||||||
type AttrSetTypeConstraint DBusObjectManagerServerObjectPathPropertyInfo Source # | |||||||||||||||||||||||||||||||||
type AttrTransferType DBusObjectManagerServerObjectPathPropertyInfo Source # | |||||||||||||||||||||||||||||||||
type AttrTransferTypeConstraint DBusObjectManagerServerObjectPathPropertyInfo Source # | |||||||||||||||||||||||||||||||||
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
.
dBusObjectManagerServerObjectPath :: AttrLabelProxy "objectPath" Source #
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