telepathy-mission-control: McdAccountManager: move initialization from init to constructed
Simon McVittie
smcv at kemper.freedesktop.org
Fri Sep 7 06:30:37 PDT 2012
Module: telepathy-mission-control
Branch: master
Commit: f1a2718edbe6392e399e4498dc86249ef3f90fac
URL: http://cgit.freedesktop.org/telepathy/telepathy-mission-control/commit/?id=f1a2718edbe6392e399e4498dc86249ef3f90fac
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Tue Aug 28 16:50:12 2012 +0100
McdAccountManager: move initialization from init to constructed
This lets us use the construct properties, and in particular the
TpDBusDaemon, which means we can make it a construct-time property
on McdStorage.
Signed-off-by: Simon McVittie <simon.mcvittie at collabora.co.uk>
Reviewed-by: Xavier Claessens <xavier.claessens at collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=54633
---
src/mcd-account-manager.c | 32 +++++++++++++-------------------
src/mcd-storage.c | 15 ++-------------
src/mcd-storage.h | 4 +---
3 files changed, 16 insertions(+), 35 deletions(-)
diff --git a/src/mcd-account-manager.c b/src/mcd-account-manager.c
index e0e2350..e752406 100644
--- a/src/mcd-account-manager.c
+++ b/src/mcd-account-manager.c
@@ -1622,6 +1622,18 @@ static void
mcd_account_manager_init (McdAccountManager *account_manager)
{
McdAccountManagerPrivate *priv;
+
+ priv = G_TYPE_INSTANCE_GET_PRIVATE ((account_manager),
+ MCD_TYPE_ACCOUNT_MANAGER,
+ McdAccountManagerPrivate);
+ account_manager->priv = priv;
+}
+
+static void
+_mcd_account_manager_constructed (GObject *obj)
+{
+ McdAccountManager *account_manager = MCD_ACCOUNT_MANAGER (obj);
+ McdAccountManagerPrivate *priv = account_manager->priv;
guint i = 0;
static struct { const gchar *name; GCallback handler; } sig[] =
{ { "created", G_CALLBACK (created_cb) },
@@ -1634,12 +1646,7 @@ mcd_account_manager_init (McdAccountManager *account_manager)
DEBUG ("");
- priv = G_TYPE_INSTANCE_GET_PRIVATE ((account_manager),
- MCD_TYPE_ACCOUNT_MANAGER,
- McdAccountManagerPrivate);
- account_manager->priv = priv;
-
- priv->storage = mcd_storage_new ();
+ priv->storage = mcd_storage_new (priv->dbus_daemon);
priv->accounts = g_hash_table_new_full (g_str_hash, g_str_equal,
NULL, unref_account);
@@ -1662,19 +1669,6 @@ mcd_account_manager_init (McdAccountManager *account_manager)
mcd_dbus_init_interfaces_instances (account_manager);
}
-static void
-_mcd_account_manager_constructed (GObject *obj)
-{
- McdAccountManager *manager = MCD_ACCOUNT_MANAGER (obj);
- McdAccountManagerPrivate *priv = MCD_ACCOUNT_MANAGER_PRIV (manager);
-
- /* FIXME: I'm pretty sure we should just move most of the above code out of
- * _init() to here and then mcd_plugin_account_manager_new() could take the
- * TpDBusDaemon * as it should and everyone wins.
- */
- mcd_storage_set_dbus_daemon (priv->storage, priv->dbus_daemon);
-}
-
McdAccountManager *
mcd_account_manager_new (TpDBusDaemon *dbus_daemon)
{
diff --git a/src/mcd-storage.c b/src/mcd-storage.c
index e786eed..814474c 100644
--- a/src/mcd-storage.c
+++ b/src/mcd-storage.c
@@ -153,24 +153,13 @@ mcd_storage_class_init (McdStorageClass *cls)
}
McdStorage *
-mcd_storage_new ()
+mcd_storage_new (TpDBusDaemon *dbus_daemon)
{
return g_object_new (MCD_TYPE_STORAGE,
+ "dbus-daemon", dbus_daemon,
NULL);
}
-void
-mcd_storage_set_dbus_daemon (McdStorage *self,
- TpDBusDaemon *dbusd)
-{
- GValue value = { 0 };
-
- g_value_init (&value, G_TYPE_OBJECT);
- g_value_take_object (&value, dbusd);
-
- g_object_set_property (G_OBJECT (self), "dbus-daemon", &value);
-}
-
static gchar *
get_value (const McpAccountManager *ma,
const gchar *account,
diff --git a/src/mcd-storage.h b/src/mcd-storage.h
index 5a09155..c8c031b 100644
--- a/src/mcd-storage.h
+++ b/src/mcd-storage.h
@@ -56,9 +56,7 @@ typedef struct _McdStoragePrivate McdStoragePrivate;
GType mcd_storage_get_type (void);
-McdStorage *mcd_storage_new (void);
-void mcd_storage_set_dbus_daemon (McdStorage *self,
- TpDBusDaemon *dbusd);
+McdStorage *mcd_storage_new (TpDBusDaemon *dbus_daemon);
void mcd_storage_ready (McdStorage *self);
void mcd_storage_connect_signal (const gchar *signal,
GCallback func,
More information about the telepathy-commits
mailing list