DBusError#
Added in version 2.26.
- class DBusError#
Error codes for the %G_DBUS_ERROR error domain.
Methods#
- class DBusError
- encode_gerror() str#
Creates a D-Bus error name to use for
error.If
errormatches a registered error (seeregister_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_CODEwill be used. This allows other GDBus applications to map the error on the wire back to aErrorusingnew_for_dbus_error.This function is typically only used in object mappings to put a
Erroron the wire. Regular applications should not use it.Added in version 2.26.
- get_remote_error() 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
Errors returned from functions handling remote method calls (for example,call_finish) unlessstrip_remote_errorhas already been used onerror.Added in version 2.26.
- is_remote_error() bool#
Checks if
errorrepresents an error received via D-Bus from a remote peer.If so, use
get_remote_errorto get the name of the error.Added in version 2.26.
- new_for_dbus_error(dbus_error_message: str) GError#
Creates a
Errorbased on the contents ofdbus_error_nameanddbus_error_message.Errors registered with
register_errorwill be looked up usingdbus_error_nameand if a match is found, the error domain and code is used. Applications can useget_remote_errorto 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
encode_gerrorthe error domain and code encoded in the name is used to create theError. Also,dbus_error_nameis added to the error message such that it can be recovered withget_remote_error.Otherwise, a
Errorwith the error codeDBUS_ERRORin theIOErrorEnumerror domain is returned. Also,dbus_error_nameis added to the error message such that it can be recovered withget_remote_error.In all three cases,
dbus_error_namecan always be recovered from the returnedErrorusing theget_remote_errorfunction (unlessstrip_remote_errorhasn’t been used on the returned error).This function is typically only used in object mappings to prepare
Errorinstances for applications. Regular applications should not use it.Added in version 2.26.
- Parameters:
dbus_error_message – D-Bus error message
- register_error(error_code: int, dbus_error_name: str) bool#
Creates an association mapping between
dbus_error_nameandErrors specified byerror_domainanderror_code.This is typically done in the function that returns the
Quarkfor an error domain.Added in version 2.26.
- Parameters:
error_code – an error code
dbus_error_name – a D-Bus error name
- register_error_domain(entries: list[DBusErrorEntry]) int#
Helper function for associating a
Errorerror domain with D-Bus error names.While
quark_volatilehas avolatilequalifier, this is a historical artifact and the argument passed to it should not bevolatile.Added in version 2.26.
- Parameters:
entries – items to register
- strip_remote_error() 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
errorwill 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.
- unregister_error(error_code: int, dbus_error_name: str) bool#
Destroys an association previously set up with
register_error.Added in version 2.26.
- Parameters:
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
TIMEOUTalso 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_REPLYis used for message reply timeouts. Warning: this is confusingly-named given thatTIMED_OUTalso 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