[telepathy-mission-control/master] mcd-account-manager: add errors and set appropriate error when setting a parameter fails

Jonny Lamb jonny.lamb at collabora.co.uk
Mon Sep 14 11:09:18 PDT 2009


Signed-off-by: Jonny Lamb <jonny.lamb at collabora.co.uk>
---
 src/mcd-account-manager.c |   14 ++++++++++++++
 src/mcd-account-manager.h |    8 ++++++++
 2 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/src/mcd-account-manager.c b/src/mcd-account-manager.c
index 84e5090..22f14db 100644
--- a/src/mcd-account-manager.c
+++ b/src/mcd-account-manager.c
@@ -130,6 +130,17 @@ static guint write_conf_id = 0;
 
 static void register_dbus_service (McdAccountManager *account_manager);
 
+GQuark
+mcd_account_manager_error_quark (void)
+{
+    static GQuark quark = 0;
+
+    if (quark == 0)
+        quark = g_quark_from_static_string ("mcd-account-manager-error");
+
+    return quark;
+}
+
 static gboolean
 get_account_connection (const gchar *file_contents, const gchar *path,
                         gchar **p_bus_name, gchar **p_account_name)
@@ -471,6 +482,9 @@ complete_account_creation_set_cb (McdAccount *account, GPtrArray *not_yet,
     }
     else
     {
+        g_set_error (&cad->error, MCD_ACCOUNT_MANAGER_ERROR,
+                     MCD_ACCOUNT_MANAGER_ERROR_SET_PARAMETER,
+                     "Failed to set parameter: %s", set_error->message);
         complete_account_creation_finish (account, TRUE, cad);
     }
 
diff --git a/src/mcd-account-manager.h b/src/mcd-account-manager.h
index c06e624..e117534 100644
--- a/src/mcd-account-manager.h
+++ b/src/mcd-account-manager.h
@@ -64,6 +64,14 @@ struct _McdAccountManagerClass
     void (*_mc_reserved7) (void);
 };
 
+typedef enum
+{
+  MCD_ACCOUNT_MANAGER_ERROR_SET_PARAMETER,
+} McdAccountManagerError;
+
+GQuark mcd_account_manager_error_quark (void);
+
+#define MCD_ACCOUNT_MANAGER_ERROR (mcd_account_manager_error_quark ())
 
 #define MC_ACCOUNT_MANAGER_DBUS_SERVICE "org.freedesktop.Telepathy.AccountManager"
 #define MC_ACCOUNT_MANAGER_DBUS_OBJECT "/org/freedesktop/Telepathy/AccountManager"
-- 
1.5.6.5




More information about the telepathy-commits mailing list