DBusObjectManagerServer

open class DBusObjectManagerServer(pointer: <Error class: unknown class><<Error class: unknown class>>) : DBusObjectManager

GDBusObjectManagerServer is used to export iface@Gio.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 class@Gio.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.

Skipped during bindings generation

  • method object-path: Property has no getter nor setter

Since

2.30

Constructors

Link copied to clipboard
constructor(objectPath: String)

Creates a new #GDBusObjectManagerServer object.

constructor(pointer: <Error class: unknown class><<Error class: unknown class>>)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

The #GDBusConnection to export objects on.

Link copied to clipboard
open override val gioDBusObjectManagerPointer: <Error class: unknown class><<Error class: unknown class>>
Link copied to clipboard
val gioDBusObjectManagerServerPointer: <Error class: unknown class><<Error class: unknown class>>

Functions

Link copied to clipboard
open fun connectInterfaceAdded(connectFlags: <Error class: unknown class> = ConnectFlags(0u), handler: (object: DBusObject, interface: DBusInterface) -> Unit): <Error class: unknown class>

Emitted when @interface is added to @object.

Link copied to clipboard
open fun connectInterfaceRemoved(connectFlags: <Error class: unknown class> = ConnectFlags(0u), handler: (object: DBusObject, interface: DBusInterface) -> Unit): <Error class: unknown class>

Emitted when @interface has been removed from @object.

Link copied to clipboard
open fun connectObjectAdded(connectFlags: <Error class: unknown class> = ConnectFlags(0u), handler: (object: DBusObject) -> Unit): <Error class: unknown class>

Emitted when @object is added to @manager.

Link copied to clipboard
open fun connectObjectRemoved(connectFlags: <Error class: unknown class> = ConnectFlags(0u), handler: (object: DBusObject) -> Unit): <Error class: unknown class>

Emitted when @object is removed from @manager.

Link copied to clipboard
open fun export(object: DBusObjectSkeleton)

Exports @object on @manager.

Link copied to clipboard

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.

Link copied to clipboard

Gets the #GDBusConnection used by @manager.

Link copied to clipboard
open fun getInterface(objectPath: String, interfaceName: String): DBusInterface?

Gets the interface proxy for @interface_name at @object_path, if any.

Link copied to clipboard
open fun getObject(objectPath: String): DBusObject?

Gets the #GDBusObject at @object_path, if any.

Link copied to clipboard
open fun getObjectPath(): String

Gets the object path that @manager is for.

Link copied to clipboard
open fun getObjects(): <Error class: unknown class>

Gets all #GDBusObject objects known to @manager.

Link copied to clipboard

Returns whether @object is currently exported on @manager.

Link copied to clipboard
open fun setConnection(connection: DBusConnection? = null)

Exports all objects managed by @manager on @connection. If

Link copied to clipboard
open fun unexport(objectPath: String): Boolean

If @manager has an object at @path, removes the object. Otherwise does nothing.