Gio.DBusInterfaceSkeleton

g GObject.GInterface GObject.GInterface Gio.DBusInterface Gio.DBusInterface GObject.GInterface->Gio.DBusInterface GObject.Object GObject.Object Gio.DBusInterfaceSkeleton Gio.DBusInterfaceSkeleton GObject.Object->Gio.DBusInterfaceSkeleton Gio.DBusInterface->Gio.DBusInterfaceSkeleton

Subclasses:

None

Methods

Inherited:

GObject.Object (37), Gio.DBusInterface (3)

Structs:

GObject.ObjectClass (5)

export (connection, object_path)

flush ()

get_connection ()

get_connections ()

get_flags ()

get_info ()

get_object_path ()

get_properties ()

get_vtable ()

has_connection (connection)

set_flags (flags)

unexport ()

unexport_from_connection (connection)

Virtual Methods

Inherited:

GObject.Object (7), Gio.DBusInterface (3)

do_flush ()

do_g_authorize_method (invocation)

do_get_info ()

do_get_properties ()

do_get_vtable ()

Properties

Name

Type

Flags

Short Description

g-flags

Gio.DBusInterfaceSkeletonFlags

r/w

Flags for the interface skeleton

Signals

Inherited:

GObject.Object (1)

Name

Short Description

g-authorize-method

Emitted when a method is invoked by a remote caller and used to determine if the method call is authorized.

Fields

Inherited:

GObject.Object (1)

Name

Type

Access

Description

parent_instance

GObject.Object

r

Class Details

class Gio.DBusInterfaceSkeleton(**kwargs)
Bases:

GObject.Object, Gio.DBusInterface

Abstract:

Yes

Structure:

Gio.DBusInterfaceSkeletonClass

Abstract base class for D-Bus interfaces on the service side.

New in version 2.30.

export(connection, object_path)[source]
Parameters:
Raises:

GLib.Error

Returns:

True if the interface was exported on connection, otherwise False with error set.

Return type:

bool

Exports self at object_path on connection.

This can be called multiple times to export the same self onto multiple connections however the object_path provided must be the same for all connections.

Use Gio.DBusInterfaceSkeleton.unexport() to unexport the object.

New in version 2.30.

flush()[source]

If self has outstanding changes, request for these changes to be emitted immediately.

For example, an exported D-Bus interface may queue up property changes and emit the org.freedesktop.DBus.Properties.PropertiesChanged signal later (e.g. in an idle handler). This technique is useful for collapsing multiple property changes into one.

New in version 2.30.

get_connection()[source]
Returns:

A Gio.DBusConnection or None if self is not exported anywhere. Do not free, the object belongs to self.

Return type:

Gio.DBusConnection or None

Gets the first connection that self is exported on, if any.

New in version 2.30.

get_connections()[source]
Returns:

A list of all the connections that self is exported on. The returned list should be freed with g_list_free() after each element has been freed with GObject.Object.unref().

Return type:

[Gio.DBusConnection]

Gets a list of the connections that self is exported on.

New in version 2.32.

get_flags()[source]
Returns:

One or more flags from the Gio.DBusInterfaceSkeletonFlags enumeration.

Return type:

Gio.DBusInterfaceSkeletonFlags

Gets the Gio.DBusInterfaceSkeletonFlags that describes what the behavior of self

New in version 2.30.

get_info()[source]
Returns:

A Gio.DBusInterfaceInfo (never None). Do not free.

Return type:

Gio.DBusInterfaceInfo

Gets D-Bus introspection information for the D-Bus interface implemented by self.

New in version 2.30.

get_object_path()[source]
Returns:

A string owned by self or None if self is not exported anywhere. Do not free, the string belongs to self.

Return type:

str or None

Gets the object path that self is exported on, if any.

New in version 2.30.

get_properties()[source]
Returns:

A GLib.Variant of type ‘’a{sv}’ [G-VARIANT-TYPE-VARDICT:CAPS]’. Free with GLib.Variant.unref().

Return type:

GLib.Variant

Gets all D-Bus properties for self.

New in version 2.30.

get_vtable()[source]
Returns:

the vtable of the D-Bus interface implemented by the skeleton

Return type:

Gio.DBusInterfaceVTable

Gets the interface vtable for the D-Bus interface implemented by self. The returned function pointers should expect self itself to be passed as user_data.

New in version 2.30.

has_connection(connection)[source]
Parameters:

connection (Gio.DBusConnection) – A Gio.DBusConnection.

Returns:

True if self is exported on connection, False otherwise.

Return type:

bool

Checks if self is exported on connection.

New in version 2.32.

set_flags(flags)[source]
Parameters:

flags (Gio.DBusInterfaceSkeletonFlags) – Flags from the Gio.DBusInterfaceSkeletonFlags enumeration.

Sets flags describing what the behavior of skeleton should be.

New in version 2.30.

unexport()[source]

Stops exporting self on all connections it is exported on.

To unexport self from only a single connection, use Gio.DBusInterfaceSkeleton.unexport_from_connection()

New in version 2.30.

unexport_from_connection(connection)[source]
Parameters:

connection (Gio.DBusConnection) – A Gio.DBusConnection.

Stops exporting self on connection.

To stop exporting on all connections the interface is exported on, use Gio.DBusInterfaceSkeleton.unexport().

New in version 2.32.

do_flush() virtual

If interface_ has outstanding changes, request for these changes to be emitted immediately.

For example, an exported D-Bus interface may queue up property changes and emit the org.freedesktop.DBus.Properties.PropertiesChanged signal later (e.g. in an idle handler). This technique is useful for collapsing multiple property changes into one.

New in version 2.30.

do_g_authorize_method(invocation) virtual
Parameters:

invocation (Gio.DBusMethodInvocation) –

Return type:

bool

do_get_info() virtual
Returns:

A Gio.DBusInterfaceInfo (never None). Do not free.

Return type:

Gio.DBusInterfaceInfo

Gets D-Bus introspection information for the D-Bus interface implemented by interface_.

New in version 2.30.

do_get_properties() virtual
Returns:

A GLib.Variant of type ‘’a{sv}’ [G-VARIANT-TYPE-VARDICT:CAPS]’. Free with GLib.Variant.unref().

Return type:

GLib.Variant

Gets all D-Bus properties for interface_.

New in version 2.30.

do_get_vtable() virtual
Returns:

the vtable of the D-Bus interface implemented by the skeleton

Return type:

Gio.DBusInterfaceVTable

Gets the interface vtable for the D-Bus interface implemented by interface_. The returned function pointers should expect interface_ itself to be passed as user_data.

New in version 2.30.

Signal Details

Gio.DBusInterfaceSkeleton.signals.g_authorize_method(d_bus_interface_skeleton, invocation)
Signal Name:

g-authorize-method

Flags:

RUN_LAST

Parameters:
Returns:

True if the call is authorized, False otherwise.

Return type:

bool

Emitted when a method is invoked by a remote caller and used to determine if the method call is authorized.

Note that this signal is emitted in a thread dedicated to handling the method call so handlers are allowed to perform blocking IO. This means that it is appropriate to call e.g. polkit_authority_check_authorization_sync() with the POLKIT_CHECK_AUTHORIZATION_FLAGS_ALLOW_USER_INTERACTION flag set.

If False is returned then no further handlers are run and the signal handler must take a reference to invocation and finish handling the call (e.g. return an error via g_dbus_method_invocation_return_error()).

Otherwise, if True is returned, signal emission continues. If no handlers return False, then the method is dispatched. If interface has an enclosing Gio.DBusObjectSkeleton, then the Gio.DBusObjectSkeleton ::authorize-method signal handlers run before the handlers for this signal.

The default class handler just returns True.

Please note that the common case is optimized: if no signals handlers are connected and the default class handler isn’t overridden (for both interface and the enclosing Gio.DBusObjectSkeleton, if any) and Gio.DBusInterfaceSkeleton :g-flags does not have the Gio.DBusInterfaceSkeletonFlags.HANDLE_METHOD_INVOCATIONS_IN_THREAD flags set, no dedicated thread is ever used and the call will be handled in the same thread as the object that interface belongs to was exported in.

New in version 2.30.

Property Details

Gio.DBusInterfaceSkeleton.props.g_flags
Name:

g-flags

Type:

Gio.DBusInterfaceSkeletonFlags

Default Value:

Gio.DBusInterfaceSkeletonFlags.NONE

Flags:

READABLE, WRITABLE

Flags from the Gio.DBusInterfaceSkeletonFlags enumeration.

New in version 2.30.