DBusInterfaceSkeleton
Added in version 2.30.
Superclasses: Object
Implemented Interfaces: DBusInterface
Abstract base class for D-Bus interfaces on the service side.
Methods
- class DBusInterfaceSkeleton
- export(connection: DBusConnection, object_path: str) bool
Exports @``interface_`` at
object_path
onconnection
.This can be called multiple times to export the same @``interface_`` onto multiple connections however the
object_path
provided must be the same for all connections.Use
unexport()
to unexport the object.Added in version 2.30.
- Parameters:
connection – A
DBusConnection
to export @``interface_`` on.object_path – The path to export the interface at.
- flush() None
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.Added in version 2.30.
- get_connection() DBusConnection | None
Gets the first connection that @``interface_`` is exported on, if any.
Added in version 2.30.
- get_connections() list[DBusConnection]
Gets a list of the connections that @``interface_`` is exported on.
Added in version 2.32.
- get_flags() DBusInterfaceSkeletonFlags
Gets the
DBusInterfaceSkeletonFlags
that describes what the behavior of @``interface_``Added in version 2.30.
- get_info() DBusInterfaceInfo
Gets D-Bus introspection information for the D-Bus interface implemented by @``interface_.``
Added in version 2.30.
- get_object_path() str | None
Gets the object path that @``interface_`` is exported on, if any.
Added in version 2.30.
- get_vtable() 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
.Added in version 2.30.
- has_connection(connection: DBusConnection) bool
Checks if @``interface_`` is exported on
connection
.Added in version 2.32.
- Parameters:
connection – A
DBusConnection
.
- set_flags(flags: DBusInterfaceSkeletonFlags) None
Sets flags describing what the behavior of
skeleton
should be.Added in version 2.30.
- Parameters:
flags – Flags from the
DBusInterfaceSkeletonFlags
enumeration.
- unexport() None
Stops exporting @``interface_`` on all connections it is exported on.
To unexport @``interface_`` from only a single connection, use
unexport_from_connection()
Added in version 2.30.
- unexport_from_connection(connection: DBusConnection) None
Stops exporting @``interface_`` on
connection
.To stop exporting on all connections the interface is exported on, use
unexport()
.Added in version 2.32.
- Parameters:
connection – A
DBusConnection
.
Properties
- class DBusInterfaceSkeleton
- props.g_flags: DBusInterfaceSkeletonFlags
Flags from the
DBusInterfaceSkeletonFlags
enumeration.Added in version 2.30.
Signals
- class DBusInterfaceSkeleton.signals
- g_authorize_method(invocation: DBusMethodInvocation) 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 toinvocation
and finish handling the call (e.g. return an error viareturn_error()
).Otherwise, if
True
is returned, signal emission continues. If no handlers returnFalse
, then the method is dispatched. Ifinterface
has an enclosingDBusObjectSkeleton
, then theDBusObjectSkeleton
::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 enclosingDBusObjectSkeleton
, if any) andDBusInterfaceSkeleton
:g-flags does not have theHANDLE_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 thatinterface
belongs to was exported in.Added in version 2.30.
- Parameters:
invocation – A
DBusMethodInvocation
.
Virtual Methods
- class DBusInterfaceSkeleton
- do_flush() None
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.Added in version 2.30.
- do_g_authorize_method(invocation: DBusMethodInvocation) bool
Signal class handler for the
DBusInterfaceSkeleton
::g-authorize-method signal.- Parameters:
invocation
- do_get_info() DBusInterfaceInfo
Gets D-Bus introspection information for the D-Bus interface implemented by @``interface_.``
Added in version 2.30.
- do_get_vtable() 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
.Added in version 2.30.