[empathy: 4/11] add empathy_account_get_error_message
- From: Guillaume Desmottes <gdesmott src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [empathy: 4/11] add empathy_account_get_error_message
- Date: Thu, 5 Aug 2010 12:19:49 +0000 (UTC)
commit fde1ddca54a6f94fd4112f9d4e5c49d823ed00a4
Author: Guillaume Desmottes <guillaume desmottes collabora co uk>
Date: Thu Aug 5 13:37:35 2010 +0200
add empathy_account_get_error_message
libempathy/empathy-utils.c | 21 ++++++++++++++++++++-
libempathy/empathy-utils.h | 4 +++-
2 files changed, 23 insertions(+), 2 deletions(-)
---
diff --git a/libempathy/empathy-utils.c b/libempathy/empathy-utils.c
index f2f1d54..ee6ad5b 100644
--- a/libempathy/empathy-utils.c
+++ b/libempathy/empathy-utils.c
@@ -371,7 +371,7 @@ create_errors_to_message_hash (void)
return errors;
}
-const gchar *
+static const gchar *
empathy_dbus_error_name_get_default_message (const gchar *error)
{
static GHashTable *errors_to_message = NULL;
@@ -386,6 +386,25 @@ empathy_dbus_error_name_get_default_message (const gchar *error)
return g_hash_table_lookup (errors_to_message, error);
}
+const gchar *
+empathy_account_get_error_message (TpAccount *account,
+ TpConnectionStatusReason reason)
+{
+ const gchar *dbus_error;
+ const gchar *message;
+ const GHashTable *details = NULL;
+
+ dbus_error = tp_account_get_detailed_error (account, &details);
+ message = empathy_dbus_error_name_get_default_message (dbus_error);
+ if (message != NULL)
+ return message;
+
+ DEBUG ("Don't understand error '%s'; fallback to the status reason (%u)",
+ dbus_error, reason);
+
+ return empathy_status_reason_get_default_message (reason);
+}
+
gchar *
empathy_file_lookup (const gchar *filename, const gchar *subdir)
{
diff --git a/libempathy/empathy-utils.h b/libempathy/empathy-utils.h
index 6ddf58a..3407055 100644
--- a/libempathy/empathy-utils.h
+++ b/libempathy/empathy-utils.h
@@ -76,7 +76,9 @@ gboolean empathy_check_available_state (void);
gint empathy_uint_compare (gconstpointer a,
gconstpointer b);
const gchar * empathy_status_reason_get_default_message (TpConnectionStatusReason reason);
-const gchar * empathy_dbus_error_name_get_default_message (const gchar *error);
+
+const gchar * empathy_account_get_error_message (TpAccount *account,
+ TpConnectionStatusReason reason);
gchar *empathy_protocol_icon_name (const gchar *protocol);
const gchar *empathy_protocol_name_to_display_name (const gchar *proto_name);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]