manpagez: man pages & more
html files: eggdbus
Home | html | info | man

EggDBusError

EggDBusError — Error helper functions

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;

Description

Contains error helper functions for reporting and checking errors.

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_quark ()

GQuark              egg_dbus_error_quark                (void);

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.

error :

A GError.

out_name :

Return location for D-Bus error name or NULL.

out_message :

Return location for D-Bus error message or NULL.

Returns :

TRUE if out_name and out_message is set (caller must free these using g_free()), FALSE if error is not 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.

EGG_DBUS_ERROR_FAILED

The operation failed.

EGG_DBUS_ERROR_CANCELLED

The operation was cancelled.

EGG_DBUS_ERROR_REMOTE_EXCEPTION

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.

EGG_DBUS_ERROR_DBUS_FAILED

A generic error; "something went wrong" - see the error message for more.

EGG_DBUS_ERROR_NO_MEMORY

There was not enough memory to complete an operation.

EGG_DBUS_ERROR_SERVICE_UNKNOWN

The bus doesn't know how to launch a service to supply the bus name you wanted.

EGG_DBUS_ERROR_NAME_HAS_NO_OWNER

The bus name you referenced doesn't exist (i.e. no application owns it).

EGG_DBUS_ERROR_NO_REPLY

No reply to a message expecting one, usually means a timeout occurred.

EGG_DBUS_ERROR_IO_ERROR

Something went wrong reading or writing to a socket, for example.

EGG_DBUS_ERROR_BAD_ADDRESS

A D-Bus bus address was malformed.

EGG_DBUS_ERROR_NOT_SUPPORTED

Requested operation isn't supported (like ENOSYS on UNIX).

EGG_DBUS_ERROR_LIMITS_EXCEEDED

Some limited resource is exhausted.

EGG_DBUS_ERROR_ACCESS_DENIED

Security restrictions don't allow doing what you're trying to do.

EGG_DBUS_ERROR_AUTH_FAILED

Authentication didn't work.

EGG_DBUS_ERROR_NO_SERVER

Unable to connect to server (probably caused by ECONNREFUSED on a socket).

EGG_DBUS_ERROR_TIMEOUT

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.

EGG_DBUS_ERROR_NO_NETWORK

No network access (probably ENETUNREACH on a socket).

EGG_DBUS_ERROR_ADDRESS_IN_USE

Can't bind a socket since its address is in use (i.e. EADDRINUSE).

EGG_DBUS_ERROR_DISCONNECTED

The connection is disconnected and you're trying to use it.

EGG_DBUS_ERROR_INVALID_ARGS

Invalid arguments passed to a method call.

EGG_DBUS_ERROR_FILE_NOT_FOUND

Missing file.

EGG_DBUS_ERROR_FILE_EXISTS

Existing file and the operation you're using does not silently overwrite.

EGG_DBUS_ERROR_UNKNOWN_METHOD

Method name you invoked isn't known by the object you invoked it on.

EGG_DBUS_ERROR_TIMED_OUT

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.

EGG_DBUS_ERROR_MATCH_RULE_NOT_FOUND

Tried to remove or modify a match rule that didn't exist.

EGG_DBUS_ERROR_MATCH_RULE_INVALID

The match rule isn't syntactically valid.

EGG_DBUS_ERROR_SPAWN_EXEC_FAILED

While starting a new process, the exec() call failed.

EGG_DBUS_ERROR_SPAWN_FORK_FAILED

While starting a new process, the fork() call failed.

EGG_DBUS_ERROR_SPAWN_CHILD_EXITED

While starting a new process, the child exited with a status code.

EGG_DBUS_ERROR_SPAWN_CHILD_SIGNALED

While starting a new process, the child exited on a signal.

EGG_DBUS_ERROR_SPAWN_FAILED

While starting a new process, something went wrong.

EGG_DBUS_ERROR_SPAWN_SETUP_FAILED

We failed to setup the environment correctly.

EGG_DBUS_ERROR_SPAWN_CONFIG_INVALID

We failed to setup the config parser correctly.

EGG_DBUS_ERROR_SPAWN_SERVICE_INVALID

Bus name was not valid.

EGG_DBUS_ERROR_SPAWN_SERVICE_NOT_FOUND

Service file not found in system-services directory.

EGG_DBUS_ERROR_SPAWN_PERMISSIONS_INVALID

Permissions are incorrect on the setuid helper.

EGG_DBUS_ERROR_SPAWN_FILE_INVALID

Service file invalid (Name, User or Exec missing).

EGG_DBUS_ERROR_SPAWN_NO_MEMORY

Tried to get a UNIX process ID and it wasn't available.

EGG_DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN

Tried to get a UNIX process ID and it wasn't available.

EGG_DBUS_ERROR_INVALID_SIGNATURE

A type signature is not valid.

EGG_DBUS_ERROR_INVALID_FILE_CONTENT

A file contains invalid syntax or is otherwise broken.

EGG_DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN

Asked for SELinux security context and it wasn't available.

EGG_DBUS_ERROR_ADT_AUDIT_DATA_UNKNOWN

Asked for ADT audit data and it wasn't available.

EGG_DBUS_ERROR_OBJECT_PATH_IN_USE

There's already an object with the requested object path.

See Also

#EggDBusConnection
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.