| Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
|---|---|
| License | LGPL-2.1 |
| Maintainer | Iñaki García Etxebarria |
| Safe Haskell | None |
| Language | Haskell2010 |
GI.Gio.Objects.DBusObjectManagerServer
Description
DBusObjectManagerServer 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 DBusObjectManagerServer 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
- noDBusObjectManagerServer :: Maybe 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 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, IsDBusConnection a) => a -> IO (GValueConstruct o)
- getDBusObjectManagerServerConnection :: (MonadIO m, IsDBusObjectManagerServer o) => o -> m (Maybe DBusConnection)
- setDBusObjectManagerServerConnection :: (MonadIO m, IsDBusObjectManagerServer o, IsDBusConnection a) => o -> a -> m ()
- constructDBusObjectManagerServerObjectPath :: IsDBusObjectManagerServer o => Text -> IO (GValueConstruct o)
- getDBusObjectManagerServerObjectPath :: (MonadIO m, IsDBusObjectManagerServer o) => o -> m (Maybe Text)
Exported types
newtype DBusObjectManagerServer Source #
Memory-managed wrapper type.
Constructors
| DBusObjectManagerServer (ManagedPtr DBusObjectManagerServer) |
Instances
| Eq DBusObjectManagerServer Source # | |
Defined in GI.Gio.Objects.DBusObjectManagerServer Methods (==) :: DBusObjectManagerServer -> DBusObjectManagerServer -> Bool # (/=) :: DBusObjectManagerServer -> DBusObjectManagerServer -> Bool # | |
| GObject DBusObjectManagerServer Source # | |
Defined in GI.Gio.Objects.DBusObjectManagerServer Methods gobjectType :: IO GType # | |
| IsGValue DBusObjectManagerServer Source # | Convert |
Defined in GI.Gio.Objects.DBusObjectManagerServer Methods toGValue :: DBusObjectManagerServer -> IO GValue # | |
| HasParentTypes DBusObjectManagerServer Source # | |
Defined in GI.Gio.Objects.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.
noDBusObjectManagerServer :: Maybe DBusObjectManagerServer Source #
A convenience alias for Nothing :: Maybe DBusObjectManagerServer.
Methods
Overloaded methods
export
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
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:g-object-path property of object may be modified.
Since: 2.30
getConnection
dBusObjectManagerServerGetConnection Source #
Arguments
| :: (HasCallStack, MonadIO m, IsDBusObjectManagerServer a) | |
| => a |
|
| -> m DBusConnection | Returns: A |
Gets the DBusConnection used by manager.
Since: 2.30
isExported
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
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
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
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, IsDBusConnection a) => a -> IO (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
setdBusObjectManagerServer [ #connection:=value ]
objectPath
The object path to register the manager object at.
Since: 2.30
constructDBusObjectManagerServerObjectPath :: IsDBusObjectManagerServer o => Text -> IO (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