DBusObjectManagerServer

open class DBusObjectManagerServer(    val gioDBusObjectManagerServerPointer: <Error class: unknown class><<Error class: unknown class>>) : DBusObjectManager(source)

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(gioDBusObjectManagerServerPointer: <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>>
Link copied to clipboard
abstract val gioProxyPointer: <Error class: unknown class><<Error class: unknown class>>

Functions

Link copied to clipboard
open fun connect(connection: IoStream, proxyAddress: ProxyAddress, cancellable: Cancellable? = null): <Error class: unknown class><IoStream>

Given @connection to communicate with a proxy (eg, a #GSocketConnection that is connected to the proxy server), this does the necessary handshake to connect to @proxy_address, and if required, wraps the #GIOStream to handle proxy payload.

Link copied to clipboard
open fun connectAsync(connection: IoStream, proxyAddress: ProxyAddress, cancellable: Cancellable? = null, callback: AsyncReadyCallback?)

Asynchronous version of g_proxy_connect().

Link copied to clipboard
open fun connectFinish(result: AsyncResult): <Error class: unknown class><IoStream>

See g_proxy_connect().

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
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 onInterfaceAdded(    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 onInterfaceRemoved(    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 onObjectAdded(    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 onObjectRemoved(    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

Some proxy protocols expect to be passed a hostname, which they will resolve to an IP address themselves. Others, like SOCKS4, do not allow this. This function will return false if @proxy is implementing such a protocol. When false is returned, the caller should resolve the destination hostname first, and then pass a #GProxyAddress containing the stringified IP address to g_proxy_connect() or g_proxy_connect_async().

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

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