DBusMethodInvocation#
Added in version 2.26.
Superclasses: Object
Instances of the GDBusMethodInvocation class are used when
handling D-Bus method calls. It provides a way to asynchronously
return results and errors.
The normal way to obtain a GDBusMethodInvocation object is to receive
it as an argument to the handle_method_call() function in a
DBusInterfaceVTable that was passed to
register_object.
Methods#
- class DBusMethodInvocation
- get_connection() DBusConnection#
Gets the
DBusConnectionthe method was invoked on.Added in version 2.26.
- get_interface_name() str#
Gets the name of the D-Bus interface the method was invoked on.
If this method call is a property Get, Set or GetAll call that has been redirected to the method call handler then “org.freedesktop.DBus.Properties” will be returned. See
DBusInterfaceVTablefor more information.Added in version 2.26.
- get_message() DBusMessage#
Gets the
DBusMessagefor the method invocation. This is useful if you need to use low-level protocol features, such as UNIX file descriptor passing, that cannot be properly expressed in theVariantAPI.See this [server][gdbus-server] and [client][gdbus-unix-fd-client] for an example of how to use this low-level API to send and receive UNIX file descriptors.
Added in version 2.26.
- get_method_info() DBusMethodInfo | None#
Gets information about the method call, if any.
If this method invocation is a property Get, Set or GetAll call that has been redirected to the method call handler then
Nonewill be returned. Seeget_property_info()andDBusInterfaceVTablefor more information.Added in version 2.26.
- get_parameters() Variant#
Gets the parameters of the method invocation. If there are no input parameters then this will return a GVariant with 0 children rather than NULL.
Added in version 2.26.
- get_property_info() DBusPropertyInfo | None#
Gets information about the property that this method call is for, if any.
This will only be set in the case of an invocation in response to a property Get or Set call that has been directed to the method call handler for an object on account of its property_get() or property_set() vtable pointers being unset.
See
DBusInterfaceVTablefor more information.If the call was GetAll,
Nonewill be returned.Added in version 2.38.
- return_dbus_error(error_name: str, error_message: str) None#
Finishes handling a D-Bus method call by returning an error.
This method will take ownership of
invocation. SeeDBusInterfaceVTablefor more information about the ownership ofinvocation.Added in version 2.26.
- Parameters:
error_name – A valid D-Bus error name.
error_message – A valid D-Bus error message.
- return_error_literal(domain: int, code: int, message: str) None#
Like
return_error()but without printf()-style formatting.This method will take ownership of
invocation. SeeDBusInterfaceVTablefor more information about the ownership ofinvocation.Added in version 2.26.
- Parameters:
domain – A
Quarkfor theErrorerror domain.code – The error code.
message – The error message.
- return_gerror(error: GError) None#
Like
return_error()but takes aErrorinstead of the error domain, error code and message.This method will take ownership of
invocation. SeeDBusInterfaceVTablefor more information about the ownership ofinvocation.Added in version 2.26.
- Parameters:
error – A
Error.
- return_value(parameters: Variant | None = None) None#
Finishes handling a D-Bus method call by returning
parameters. If theparametersGVariant is floating, it is consumed.It is an error if
parametersis not of the right format: it must be a tuple containing the out-parameters of the D-Bus method. Even if the method has a single out-parameter, it must be contained in a tuple. If the method has no out-parameters,parametersmay beNoneor an empty tuple.GDBusMethodInvocation *invocation = some_invocation; g_autofree gchar *result_string = NULL; g_autoptr (GError) error = NULL; result_string = calculate_result (&error); if (error != NULL) g_dbus_method_invocation_return_gerror (invocation, error); else g_dbus_method_invocation_return_value (invocation, g_variant_new ("(s)", result_string)); // Do not free @invocation here; returning a value does that
This method will take ownership of
invocation. SeeDBusInterfaceVTablefor more information about the ownership ofinvocation.Since 2.48, if the method call requested for a reply not to be sent then this call will sink
parametersand freeinvocation, but otherwise do nothing (as per the recommendations of the D-Bus specification).Added in version 2.26.
- Parameters:
parameters – A
Varianttuple with out parameters for the method orNoneif not passing any parameters.
- return_value_with_unix_fd_list(parameters: Variant | None = None, fd_list: UnixFDList | None = None) None#
Like
return_value()but also takes aUnixFDList.This method is only available on UNIX.
This method will take ownership of
invocation. SeeDBusInterfaceVTablefor more information about the ownership ofinvocation.Added in version 2.30.
- Parameters:
parameters – A
Varianttuple with out parameters for the method orNoneif not passing any parameters.fd_list – A
UnixFDListorNone.