EggDBus Reference Manual | ||||
---|---|---|---|---|
Top | Description |
Synopsis
#define EGG_DBUS_ERROR GQuark egg_dbus_error_quark (void); gboolean egg_dbus_error_get_remote_exception (GError *error, gchar **out_name, gchar **out_message); enum EggDBusError;
Details
EGG_DBUS_ERROR
#define EGG_DBUS_ERROR egg_dbus_error_quark()
Error domain for EggDBus. Errors in this domain will be from the EggDBusError enumeration. See GError for information on error domains.
egg_dbus_error_get_remote_exception ()
gboolean egg_dbus_error_get_remote_exception (GError *error, gchar **out_name, gchar **out_message);
Analyzes error
and if the error domain is EGG_DBUS_ERROR and
error code is EGG_DBUS_ERROR_REMOTE_EXCEPTION, extracts the D-Bus
error name (e.g. com.example.Acme.Error.Failed
)
in out_name
and the D-Bus error message in out_message
and
returns TRUE
.
Note that this function will not warn if error
isn't a
EGG_DBUS_ERROR_REMOTE_EXCEPTION (it will just return FALSE
) so it
can be used to test if error
is really a
EGG_DBUS_ERROR_REMOTE_EXCEPTION.
enum EggDBusError
typedef enum { EGG_DBUS_ERROR_FAILED, /*< nick=org.gtk.EggDBus.Error.Failed >*/ EGG_DBUS_ERROR_CANCELLED, /*< nick=org.gtk.EggDBus.Error.Cancelled >*/ EGG_DBUS_ERROR_REMOTE_EXCEPTION, /*< nick=org.gtk.EggDBus.Error.RemoteException >*/ /* Well-known errors in the org.freedesktop.DBus.Error namespace */ EGG_DBUS_ERROR_DBUS_FAILED, /*< nick=org.freedesktop.DBus.Error.Failed >*/ EGG_DBUS_ERROR_NO_MEMORY, /*< nick=org.freedesktop.DBus.Error.NoMemory >*/ EGG_DBUS_ERROR_SERVICE_UNKNOWN, /*< nick=org.freedesktop.DBus.Error.ServiceUnknown >*/ EGG_DBUS_ERROR_NAME_HAS_NO_OWNER, /*< nick=org.freedesktop.DBus.Error.NameHasNoOwner >*/ EGG_DBUS_ERROR_NO_REPLY, /*< nick=org.freedesktop.DBus.Error.NoReply >*/ EGG_DBUS_ERROR_IO_ERROR, /*< nick=org.freedesktop.DBus.Error.IOError >*/ EGG_DBUS_ERROR_BAD_ADDRESS, /*< nick=org.freedesktop.DBus.Error.BadAddress >*/ EGG_DBUS_ERROR_NOT_SUPPORTED, /*< nick=org.freedesktop.DBus.Error.NotSupported >*/ EGG_DBUS_ERROR_LIMITS_EXCEEDED, /*< nick=org.freedesktop.DBus.Error.LimitsExceeded >*/ EGG_DBUS_ERROR_ACCESS_DENIED, /*< nick=org.freedesktop.DBus.Error.AccessDenied >*/ EGG_DBUS_ERROR_AUTH_FAILED, /*< nick=org.freedesktop.DBus.Error.AuthFailed >*/ EGG_DBUS_ERROR_NO_SERVER, /*< nick=org.freedesktop.DBus.Error.NoServer >*/ EGG_DBUS_ERROR_TIMEOUT, /*< nick=org.freedesktop.DBus.Error.Timeout >*/ EGG_DBUS_ERROR_NO_NETWORK, /*< nick=org.freedesktop.DBus.Error.NoNetwork >*/ EGG_DBUS_ERROR_ADDRESS_IN_USE, /*< nick=org.freedesktop.DBus.Error.AddressInUse >*/ EGG_DBUS_ERROR_DISCONNECTED, /*< nick=org.freedesktop.DBus.Error.Disconnected >*/ EGG_DBUS_ERROR_INVALID_ARGS, /*< nick=org.freedesktop.DBus.Error.InvalidArgs >*/ EGG_DBUS_ERROR_FILE_NOT_FOUND, /*< nick=org.freedesktop.DBus.Error.FileNotFound >*/ EGG_DBUS_ERROR_FILE_EXISTS, /*< nick=org.freedesktop.DBus.Error.FileExists >*/ EGG_DBUS_ERROR_UNKNOWN_METHOD, /*< nick=org.freedesktop.DBus.Error.UnknownMethod >*/ EGG_DBUS_ERROR_TIMED_OUT, /*< nick=org.freedesktop.DBus.Error.TimedOut >*/ EGG_DBUS_ERROR_MATCH_RULE_NOT_FOUND, /*< nick=org.freedesktop.DBus.Error.MatchRuleNotFound >*/ EGG_DBUS_ERROR_MATCH_RULE_INVALID, /*< nick=org.freedesktop.DBus.Error.MatchRuleInvalid >*/ EGG_DBUS_ERROR_SPAWN_EXEC_FAILED, /*< nick=org.freedesktop.DBus.Error.Spawn.ExecFailed >*/ EGG_DBUS_ERROR_SPAWN_FORK_FAILED, /*< nick=org.freedesktop.DBus.Error.Spawn.ForkFailed >*/ EGG_DBUS_ERROR_SPAWN_CHILD_EXITED, /*< nick=org.freedesktop.DBus.Error.Spawn.ChildExited >*/ EGG_DBUS_ERROR_SPAWN_CHILD_SIGNALED, /*< nick=org.freedesktop.DBus.Error.Spawn.ChildSignaled >*/ EGG_DBUS_ERROR_SPAWN_FAILED, /*< nick=org.freedesktop.DBus.Error.Spawn.Failed >*/ EGG_DBUS_ERROR_SPAWN_SETUP_FAILED, /*< nick=org.freedesktop.DBus.Error.Spawn.FailedToSetup >*/ EGG_DBUS_ERROR_SPAWN_CONFIG_INVALID, /*< nick=org.freedesktop.DBus.Error.Spawn.ConfigInvalid >*/ EGG_DBUS_ERROR_SPAWN_SERVICE_INVALID, /*< nick=org.freedesktop.DBus.Error.Spawn.ServiceNotValid >*/ EGG_DBUS_ERROR_SPAWN_SERVICE_NOT_FOUND, /*< nick=org.freedesktop.DBus.Error.Spawn.ServiceNotFound >*/ EGG_DBUS_ERROR_SPAWN_PERMISSIONS_INVALID, /*< nick=org.freedesktop.DBus.Error.Spawn.PermissionsInvalid >*/ EGG_DBUS_ERROR_SPAWN_FILE_INVALID, /*< nick=org.freedesktop.DBus.Error.Spawn.FileInvalid >*/ EGG_DBUS_ERROR_SPAWN_NO_MEMORY, /*< nick=org.freedesktop.DBus.Error.Spawn.NoMemory >*/ EGG_DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN, /*< nick=org.freedesktop.DBus.Error.UnixProcessIdUnknown >*/ EGG_DBUS_ERROR_INVALID_SIGNATURE, /*< nick=org.freedesktop.DBus.Error.InvalidSignature >*/ EGG_DBUS_ERROR_INVALID_FILE_CONTENT, /*< nick=org.freedesktop.DBus.Error.InvalidFileContent >*/ EGG_DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN, /*< nick=org.freedesktop.DBus.Error.SELinuxSecurityContextUnknown >*/ EGG_DBUS_ERROR_ADT_AUDIT_DATA_UNKNOWN, /*< nick=org.freedesktop.DBus.Error.AdtAuditDataUnknown >*/ EGG_DBUS_ERROR_OBJECT_PATH_IN_USE, /*< nick=org.freedesktop.DBus.Error.ObjectPathInUse >*/ } EggDBusError;
Error codes.
The operation failed. | |
The operation was cancelled. | |
A remote exception that couldn't be
mapped to a proper GError. Use egg_dbus_error_get_remote_exception()
to extract the D-Bus error name.
|
|
A generic error; "something went wrong" - see the error message for more. | |
There was not enough memory to complete an operation. | |
The bus doesn't know how to launch a service to supply the bus name you wanted. | |
The bus name you referenced doesn't exist (i.e. no application owns it). | |
No reply to a message expecting one, usually means a timeout occurred. | |
Something went wrong reading or writing to a socket, for example. | |
A D-Bus bus address was malformed. | |
Requested operation isn't supported (like ENOSYS on UNIX). | |
Some limited resource is exhausted. | |
Security restrictions don't allow doing what you're trying to do. | |
Authentication didn't work. | |
Unable to connect to server (probably caused by ECONNREFUSED on a socket). | |
Certain timeout errors, possibly ETIMEDOUT on a socket. Note that EGG_DBUS_ERROR_NO_REPLY is used for message reply timeouts. Warning: this is confusingly-named given that EGG_DBUS_ERROR_TIMED_OUT also exists. We can't fix it for compatibility reasons so just be careful. | |
No network access (probably ENETUNREACH on a socket). | |
Can't bind a socket since its address is in use (i.e. EADDRINUSE). | |
The connection is disconnected and you're trying to use it. | |
Invalid arguments passed to a method call. | |
Missing file. | |
Existing file and the operation you're using does not silently overwrite. | |
Method name you invoked isn't known by the object you invoked it on. | |
Certain timeout errors, e.g. while starting a service. Warning: this is confusingly-named given that EGG_DBUS_ERROR_TIMEOUT also exists. We can't fix it for compatibility reasons so just be careful. | |
Tried to remove or modify a match rule that didn't exist. | |
The match rule isn't syntactically valid. | |
While starting a new process, the exec() call failed.
|
|
While starting a new process, the fork() call failed.
|
|
While starting a new process, the child exited with a status code. | |
While starting a new process, the child exited on a signal. | |
While starting a new process, something went wrong. | |
We failed to setup the environment correctly. | |
We failed to setup the config parser correctly. | |
Bus name was not valid. | |
Service file not found in system-services directory. | |
Permissions are incorrect on the setuid helper. | |
Service file invalid (Name, User or Exec missing). | |
Tried to get a UNIX process ID and it wasn't available. | |
Tried to get a UNIX process ID and it wasn't available. | |
A type signature is not valid. | |
A file contains invalid syntax or is otherwise broken. | |
Asked for SELinux security context and it wasn't available. | |
Asked for ADT audit data and it wasn't available. | |
There's already an object with the requested object path. |