DBusError
Added in version 2.26.
- class DBusError
Error codes for the %G_DBUS_ERROR
error domain.
Methods
- class DBusError
- encode_gerror(error: GError) str
Creates a D-Bus error name to use for
error
. Iferror
matches a registered error (cf. g_dbus_error_register_error()), the corresponding D-Bus error name will be returned.Otherwise the a name of the form
org.gtk.GDBus.UnmappedGError.Quark._ESCAPED_QUARK_NAME.Code_ERROR_CODE
will be used. This allows other GDBus applications to map the error on the wire back to aError
using g_dbus_error_new_for_dbus_error().This function is typically only used in object mappings to put a
Error
on the wire. Regular applications should not use it.Added in version 2.26.
- Parameters:
error – A
Error
.
- get_remote_error(error: GError) str | None
Gets the D-Bus error name used for
error
, if any.This function is guaranteed to return a D-Bus error name for all
Error
returned from functions handling remote method calls (e.g.call_finish()
) unless g_dbus_error_strip_remote_error() has been used onerror
.Added in version 2.26.
- Parameters:
error – a
Error
- is_remote_error(error: GError) bool
Checks if
error
represents an error received via D-Bus from a remote peer. If so, use g_dbus_error_get_remote_error() to get the name of the error.Added in version 2.26.
- Parameters:
error – A
Error
.
- new_for_dbus_error(dbus_error_name: str, dbus_error_message: str) GError
Creates a
Error
based on the contents ofdbus_error_name
anddbus_error_message
.Errors registered with g_dbus_error_register_error() will be looked up using
dbus_error_name
and if a match is found, the error domain and code is used. Applications can use g_dbus_error_get_remote_error() to recoverdbus_error_name
.If a match against a registered error is not found and the D-Bus error name is in a form as returned by g_dbus_error_encode_gerror() the error domain and code encoded in the name is used to create the
Error
. Also,dbus_error_name
is added to the error message such that it can be recovered with g_dbus_error_get_remote_error().Otherwise, a
Error
with the error codeDBUS_ERROR
in the%G_IO_ERROR
error domain is returned. Also,dbus_error_name
is added to the error message such that it can be recovered with g_dbus_error_get_remote_error().In all three cases,
dbus_error_name
can always be recovered from the returnedError
using the g_dbus_error_get_remote_error() function (unless g_dbus_error_strip_remote_error() hasn’t been used on the returned error).This function is typically only used in object mappings to prepare
Error
instances for applications. Regular applications should not use it.Added in version 2.26.
- Parameters:
dbus_error_name – D-Bus error name.
dbus_error_message – D-Bus error message.
- register_error(error_domain: int, error_code: int, dbus_error_name: str) bool
Creates an association to map between
dbus_error_name
andError
specified byerror_domain
anderror_code
.This is typically done in the routine that returns the
Quark
for an error domain.Added in version 2.26.
- Parameters:
error_domain – A
Quark
for an error domain.error_code – An error code.
dbus_error_name – A D-Bus error name.
- register_error_domain(error_domain_quark_name: str, quark_volatile: int, entries: Sequence[DBusErrorEntry]) None
Helper function for associating a
Error
error domain with D-Bus error names.While
quark_volatile
has avolatile
qualifier, this is a historical artifact and the argument passed to it should not bevolatile
.Added in version 2.26.
- Parameters:
error_domain_quark_name – The error domain name.
quark_volatile – A pointer where to store the
Quark
.entries – A pointer to
num_entries
DBusErrorEntry
struct items.
- strip_remote_error(error: GError) bool
Looks for extra information in the error message used to recover the D-Bus error name and strips it if found. If stripped, the message field in
error
will correspond exactly to what was received on the wire.This is typically used when presenting errors to the end user.
Added in version 2.26.
- Parameters:
error – A
Error
.
- unregister_error(error_domain: int, error_code: int, dbus_error_name: str) bool
Destroys an association previously set up with g_dbus_error_register_error().
Added in version 2.26.
- Parameters:
error_domain – A
Quark
for an error domain.error_code – An error code.
dbus_error_name – A D-Bus error name.
Fields
- class DBusError
- ACCESS_DENIED
Security restrictions don’t allow doing what you’re trying to do.
- ADDRESS_IN_USE
Can’t bind a socket since its address is in use (i.e. EADDRINUSE).
- ADT_AUDIT_DATA_UNKNOWN
Asked for ADT audit data and it wasn’t available.
- AUTH_FAILED
Authentication didn’t work.
- BAD_ADDRESS
A D-Bus bus address was malformed.
- DISCONNECTED
The connection is disconnected and you’re trying to use it.
- FAILED
A generic error; “something went wrong” - see the error message for more.
- FILE_EXISTS
Existing file and the operation you’re using does not silently overwrite.
- FILE_NOT_FOUND
Missing file.
- INVALID_ARGS
Invalid arguments passed to a method call.
- INVALID_FILE_CONTENT
A file contains invalid syntax or is otherwise broken.
- INVALID_SIGNATURE
A type signature is not valid.
- IO_ERROR
Something went wrong reading or writing to a socket, for example.
- LIMITS_EXCEEDED
Some limited resource is exhausted.
- MATCH_RULE_INVALID
The match rule isn’t syntactically valid.
- MATCH_RULE_NOT_FOUND
Tried to remove or modify a match rule that didn’t exist.
- NAME_HAS_NO_OWNER
The bus name you referenced doesn’t exist (i.e. no application owns it).
- NOT_SUPPORTED
Requested operation isn’t supported (like ENOSYS on UNIX).
- NO_MEMORY
There was not enough memory to complete an operation.
- NO_NETWORK
No network access (probably ENETUNREACH on a socket).
- NO_REPLY
No reply to a message expecting one, usually means a timeout occurred.
- NO_SERVER
Unable to connect to server (probably caused by ECONNREFUSED on a socket).
- OBJECT_PATH_IN_USE
There’s already an object with the requested object path.
- PROPERTY_READ_ONLY
Property you tried to set is read-only. Since 2.42
- SELINUX_SECURITY_CONTEXT_UNKNOWN
Asked for SELinux security context and it wasn’t available.
- SERVICE_UNKNOWN
The bus doesn’t know how to launch a service to supply the bus name you wanted.
- SPAWN_CHILD_EXITED
While starting a new process, the child exited with a status code.
- SPAWN_CHILD_SIGNALED
While starting a new process, the child exited on a signal.
- SPAWN_CONFIG_INVALID
We failed to setup the config parser correctly.
- SPAWN_EXEC_FAILED
While starting a new process, the exec() call failed.
- SPAWN_FAILED
While starting a new process, something went wrong.
- SPAWN_FILE_INVALID
Service file invalid (Name, User or Exec missing).
- SPAWN_FORK_FAILED
While starting a new process, the fork() call failed.
- SPAWN_NO_MEMORY
Tried to get a UNIX process ID and it wasn’t available.
- SPAWN_PERMISSIONS_INVALID
Permissions are incorrect on the setuid helper.
- SPAWN_SERVICE_INVALID
Bus name was not valid.
- SPAWN_SERVICE_NOT_FOUND
Service file not found in system-services directory.
- SPAWN_SETUP_FAILED
We failed to setup the environment correctly.
- TIMED_OUT
Certain timeout errors, e.g. while starting a service. Warning: this is confusingly-named given that
TIMEOUT
also exists. We can’t fix it for compatibility reasons so just be careful.
- TIMEOUT
Certain timeout errors, possibly ETIMEDOUT on a socket. Note that
NO_REPLY
is used for message reply timeouts. Warning: this is confusingly-named given thatTIMED_OUT
also exists. We can’t fix it for compatibility reasons so just be careful.
- UNIX_PROCESS_ID_UNKNOWN
Tried to get a UNIX process ID and it wasn’t available.
- UNKNOWN_INTERFACE
Interface you invoked a method on isn’t known by the object. Since 2.42
- UNKNOWN_METHOD
Method name you invoked isn’t known by the object you invoked it on.
- UNKNOWN_OBJECT
Object you invoked a method on isn’t known. Since 2.42
- UNKNOWN_PROPERTY
Property you tried to access isn’t known by the object. Since 2.42