GIO Reference Manual | ||||
---|---|---|---|---|
Top | Description | Object Hierarchy | Implemented Interfaces | Properties |
#include <gio/gio.h> GDBusObjectManagerServer; struct GDBusObjectManagerServerClass; GDBusObjectManagerServer * g_dbus_object_manager_server_new (const gchar *object_path
); GDBusConnection * g_dbus_object_manager_server_get_connection (GDBusObjectManagerServer *manager
); void g_dbus_object_manager_server_set_connection (GDBusObjectManagerServer *manager
,GDBusConnection *connection
); void g_dbus_object_manager_server_export (GDBusObjectManagerServer *manager
,GDBusObjectSkeleton *object
); void g_dbus_object_manager_server_export_uniquely (GDBusObjectManagerServer *manager
,GDBusObjectSkeleton *object
); gboolean g_dbus_object_manager_server_is_exported (GDBusObjectManagerServer *manager
,GDBusObjectSkeleton *object
); gboolean g_dbus_object_manager_server_unexport (GDBusObjectManagerServer *manager
,const gchar *object_path
);
"connection" GDBusConnection* : Read / Write "object-path" gchar* : Read / Write / Construct Only
GDBusObjectManagerServer is used to export GDBusObject 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.
See GDBusObjectManagerClient 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.
typedef struct _GDBusObjectManagerServer GDBusObjectManagerServer;
The GDBusObjectManagerServer structure contains private data and should only be accessed using the provided API.
Since 2.30
struct GDBusObjectManagerServerClass { GObjectClass parent_class; };
Class structure for GDBusObjectManagerServer.
GObjectClass |
The parent class. |
Since 2.30
GDBusObjectManagerServer * g_dbus_object_manager_server_new
(const gchar *object_path
);
Creates a new GDBusObjectManagerServer object.
The returned server isn't yet exported on any connection. To do so,
use g_dbus_object_manager_server_set_connection()
. Normally you
want to export all of your objects before doing so to avoid InterfacesAdded
signals being emitted.
|
The object path to export the manager object at. |
Returns : |
A GDBusObjectManagerServer object. Free with g_object_unref() . |
Since 2.30
GDBusConnection * g_dbus_object_manager_server_get_connection
(GDBusObjectManagerServer *manager
);
Gets the GDBusConnection used by manager
.
|
A GDBusObjectManagerServer |
Returns : |
A GDBusConnection object or NULL if
manager isn't exported on a connection. The returned object should
be freed with g_object_unref() . [transfer full]
|
Since 2.30
void g_dbus_object_manager_server_set_connection (GDBusObjectManagerServer *manager
,GDBusConnection *connection
);
Exports all objects managed by manager
on connection
. If
connection
is NULL
, stops exporting objects.
|
A GDBusObjectManagerServer. |
|
A GDBusConnection or NULL . [allow-none]
|
void g_dbus_object_manager_server_export (GDBusObjectManagerServer *manager
,GDBusObjectSkeleton *object
);
Exports object
on manager
.
If there is already a GDBusObject 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.
|
A GDBusObjectManagerServer. |
|
A GDBusObjectSkeleton. |
Since 2.30
void g_dbus_object_manager_server_export_uniquely (GDBusObjectManagerServer *manager
,GDBusObjectSkeleton *object
);
Like g_dbus_object_manager_server_export()
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 "g-object-path" property
of object
may be modified.
|
A GDBusObjectManagerServer. |
|
An object. |
Since 2.30
gboolean g_dbus_object_manager_server_is_exported (GDBusObjectManagerServer *manager
,GDBusObjectSkeleton *object
);
Returns whether object
is currently exported on manager
.
|
A GDBusObjectManagerServer. |
|
An object. |
Returns : |
TRUE if object is exported |
Since 2.34
gboolean g_dbus_object_manager_server_unexport (GDBusObjectManagerServer *manager
,const gchar *object_path
);
If manager
has an object at path
, removes the object. Otherwise
does nothing.
Note that object_path
must be in the hierarchy rooted by the
object path for manager
.
|
A GDBusObjectManagerServer. |
|
An object path. |
Returns : |
TRUE if object at object_path was removed, FALSE otherwise. |
Since 2.30
"connection"
property"connection" GDBusConnection* : Read / Write
The GDBusConnection to export objects on.
Since 2.30
"object-path"
property"object-path" gchar* : Read / Write / Construct Only
The object path to register the manager object at.
Default value: NULL
Since 2.30