class Gio::DBusObjectManagerServer
- Gio::DBusObjectManagerServer
- GObject::Object
- Reference
- Object
Overview
#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.
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 #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.
Included Modules
Defined in:
lib/gi-crystal/src/auto/gio-2.0/d_bus_object_manager_server.crConstructors
-
.new(object_path : String) : self
Creates a new #GDBusObjectManagerServer object.
-
.new
Initialize a new
DBusObjectManagerServer
. - .new(*, connection : Gio::DBusConnection | Nil = nil, object_path : String | Nil = nil)
Class Method Summary
-
.g_type : UInt64
Returns the type id (GType) registered in GLib type system.
Instance Method Summary
-
#==(other : self)
Returns
true
if this reference is the same as other. -
#connection : Gio::DBusConnection | Nil
Gets the #GDBusConnection used by manager.
-
#connection=(connection : Gio::DBusConnection | Nil) : Nil
Exports all objects managed by manager on connection.
-
#export(object : Gio::DBusObjectSkeleton) : Nil
Exports object on manager.
-
#export_uniquely(object : Gio::DBusObjectSkeleton) : Nil
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.
-
#hash(hasher)
See
Object#hash(hasher)
-
#is_exported(object : Gio::DBusObjectSkeleton) : Bool
Returns whether object is currently exported on manager.
- #object_path : String
- #object_path=(value : String) : String
-
#object_path=(value : Nil) : Nil
Set
#object_path
property to nil. -
#object_path? : String | Nil
Same as
#object_path
, but can return nil. -
#unexport(object_path : String) : Bool
If manager has an object at path, removes the object.
Instance methods inherited from module Gio::DBusObjectManager
interface(object_path : String, interface_name : String) : Gio::DBusInterface | Nil
interface,
interface_added_signal
interface_added_signal,
interface_removed_signal
interface_removed_signal,
object(object_path : String) : Gio::DBusObject | Nil
object,
object_added_signal
object_added_signal,
object_path : String
object_path,
object_removed_signal
object_removed_signal,
objects : GLib::List
objects,
to_unsafe
to_unsafe
Constructor methods inherited from module Gio::DBusObjectManager
cast(obj : GObject::Object) : self
cast
Class methods inherited from module Gio::DBusObjectManager
cast?(obj : GObject::Object) : self | Nil
cast?,
g_type : UInt64
g_type
Instance methods inherited from class GObject::Object
==(other : self)
==,
bind_property(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags) : GObject::Binding
bind_property,
bind_property_full(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags, transform_to : GObject::Closure, transform_from : GObject::Closure) : GObject::Binding
bind_property_full,
data(key : String) : Pointer(Void) | Nil
data,
finalize
finalize,
freeze_notify : Nil
freeze_notify,
getv(names : Enumerable(String), values : Enumerable(_)) : Nil
getv,
hash(hasher)
hash,
notify(property_name : String) : Nil
notify,
notify_by_pspec(pspec : GObject::ParamSpec) : Nil
notify_by_pspec,
notify_signal
notify_signal,
property(property_name : String, value : _) : Nil
property,
qdata(quark : UInt32) : Pointer(Void) | Nil
qdata,
ref_count : UInt32
ref_count,
run_dispose : Nil
run_dispose,
set_data(key : String, data : Pointer(Void) | Nil) : Nil
set_data,
set_property(property_name : String, value : _) : Nil
set_property,
steal_data(key : String) : Pointer(Void) | Nil
steal_data,
steal_qdata(quark : UInt32) : Pointer(Void) | Nil
steal_qdata,
thaw_notify : Nil
thaw_notify,
to_unsafe : Pointer(Void)
to_unsafe,
watch_closure(closure : GObject::Closure) : Nil
watch_closure
Constructor methods inherited from class GObject::Object
cast(obj : GObject::Object) : self
cast,
new(pointer : Pointer(Void), transfer : GICrystal::Transfer)new new, newv(object_type : UInt64, parameters : Enumerable(GObject::Parameter)) : self newv
Class methods inherited from class GObject::Object
cast?(obj : GObject::Object) : self | Nil
cast?,
compat_control(what : UInt64, data : Pointer(Void) | Nil) : UInt64
compat_control,
g_type : UInt64
g_type,
interface_find_property(g_iface : GObject::TypeInterface, property_name : String) : GObject::ParamSpec
interface_find_property,
interface_list_properties(g_iface : GObject::TypeInterface) : Enumerable(GObject::ParamSpec)
interface_list_properties
Macros inherited from class GObject::Object
previous_vfunc(*args)
previous_vfunc,
previous_vfunc!(*args)
previous_vfunc!,
signal(signature)
signal
Constructor Detail
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.
Class Method Detail
Returns the type id (GType) registered in GLib type system.
Instance Method Detail
Returns true
if this reference is the same as other. Invokes same?
.
Exports all objects managed by manager on connection. If connection is nil
, stops exporting objects.
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.
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 #GDBusObjectProxy:g-object-path property of object may be modified.
Returns whether object is currently exported on manager.
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.