| EggDBus Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | ||||
#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;
#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.
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.
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. |