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 |
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
- dBusObjectManagerServerExport :: (HasCallStack, MonadIO m, IsDBusObjectManagerServer a, IsDBusObjectSkeleton b) => a -> b -> m ()
- dBusObjectManagerServerExportUniquely :: (HasCallStack, MonadIO m, IsDBusObjectManagerServer a, IsDBusObjectSkeleton b) => a -> b -> m ()
- dBusObjectManagerServerGetConnection :: (HasCallStack, MonadIO m, IsDBusObjectManagerServer a) => a -> m (Maybe DBusConnection)
- dBusObjectManagerServerIsExported :: (HasCallStack, MonadIO m, IsDBusObjectManagerServer a, IsDBusObjectSkeleton b) => a -> b -> m Bool
- dBusObjectManagerServerNew :: (HasCallStack, MonadIO m) => Text -> m DBusObjectManagerServer
- dBusObjectManagerServerSetConnection :: (HasCallStack, MonadIO m, IsDBusObjectManagerServer a, IsDBusConnection b) => a -> Maybe b -> m ()
- dBusObjectManagerServerUnexport :: (HasCallStack, MonadIO m, IsDBusObjectManagerServer a) => a -> Text -> m Bool
- clearDBusObjectManagerServerConnection :: (MonadIO m, IsDBusObjectManagerServer o) => o -> m ()
- constructDBusObjectManagerServerConnection :: (IsDBusObjectManagerServer o, MonadIO m, IsDBusConnection a) => a -> m (GValueConstruct o)
- getDBusObjectManagerServerConnection :: (MonadIO m, IsDBusObjectManagerServer o) => o -> m (Maybe DBusConnection)
- setDBusObjectManagerServerConnection :: (MonadIO m, IsDBusObjectManagerServer o, IsDBusConnection a) => o -> a -> m ()
- constructDBusObjectManagerServerObjectPath :: (IsDBusObjectManagerServer o, MonadIO m) => Text -> m (GValueConstruct o)
- getDBusObjectManagerServerObjectPath :: (MonadIO m, IsDBusObjectManagerServer o) => o -> m (Maybe Text)
Exported types
newtype DBusObjectManagerServer Source #
Memory-managed wrapper type.
DBusObjectManagerServer (ManagedPtr DBusObjectManagerServer) |
Instances
Eq DBusObjectManagerServer Source # | |
Defined in GI.Gio.Objects.DBusObjectManagerServer | |
GObject DBusObjectManagerServer Source # | |
Defined in GI.Gio.Objects.DBusObjectManagerServer | |
ManagedPtrNewtype DBusObjectManagerServer Source # | |
Defined in GI.Gio.Objects.DBusObjectManagerServer toManagedPtr :: DBusObjectManagerServer -> ManagedPtr DBusObjectManagerServer | |
TypedObject DBusObjectManagerServer Source # | |
Defined in GI.Gio.Objects.DBusObjectManagerServer | |
HasParentTypes DBusObjectManagerServer Source # | |
Defined in GI.Gio.Objects.DBusObjectManagerServer | |
IsGValue (Maybe DBusObjectManagerServer) Source # | Convert |
Defined in GI.Gio.Objects.DBusObjectManagerServer gvalueGType_ :: IO GType gvalueSet_ :: Ptr GValue -> Maybe DBusObjectManagerServer -> IO () gvalueGet_ :: Ptr GValue -> IO (Maybe DBusObjectManagerServer) | |
type ParentTypes DBusObjectManagerServer Source # | |
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
.
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
export
dBusObjectManagerServerExport Source #
:: (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
dBusObjectManagerServerExportUniquely Source #
:: (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
dBusObjectManagerServerGetConnection Source #
:: (HasCallStack, MonadIO m, IsDBusObjectManagerServer a) | |
=> a |
|
-> m (Maybe DBusConnection) | Returns: A |
Gets the DBusConnection
used by manager
.
Since: 2.30
isExported
dBusObjectManagerServerIsExported Source #
:: (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 #
:: (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
dBusObjectManagerServerSetConnection Source #
:: (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
dBusObjectManagerServerUnexport Source #
:: (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
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
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