empathy r2113 - in trunk: libempathy libempathy-gtk megaphone/src src tests
- From: xclaesse svn gnome org
- To: svn-commits-list gnome org
- Subject: empathy r2113 - in trunk: libempathy libempathy-gtk megaphone/src src tests
- Date: Fri, 9 Jan 2009 10:05:54 +0000 (UTC)
Author: xclaesse
Date: Fri Jan 9 10:05:54 2009
New Revision: 2113
URL: http://svn.gnome.org/viewvc/empathy?rev=2113&view=rev
Log:
Port EmpathyContactFactory to the new singleton policy.
Modified:
trunk/libempathy-gtk/empathy-avatar-chooser.c
trunk/libempathy-gtk/empathy-contact-list-view.c
trunk/libempathy-gtk/empathy-contact-widget.c
trunk/libempathy/empathy-contact-factory.c
trunk/libempathy/empathy-contact-factory.h
trunk/libempathy/empathy-dispatcher.c
trunk/libempathy/empathy-tp-chat.c
trunk/libempathy/empathy-tp-file.c
trunk/libempathy/empathy-tp-group.c
trunk/libempathy/empathy-tp-tube.c
trunk/megaphone/src/megaphone-applet.c
trunk/src/empathy-event-manager.c
trunk/src/empathy-main-window.c
trunk/tests/contact-run-until-ready.c
Modified: trunk/libempathy-gtk/empathy-avatar-chooser.c
==============================================================================
--- trunk/libempathy-gtk/empathy-avatar-chooser.c (original)
+++ trunk/libempathy-gtk/empathy-avatar-chooser.c Fri Jan 9 10:05:54 2009
@@ -213,7 +213,7 @@
G_CALLBACK (avatar_chooser_clicked_cb),
chooser);
- priv->contact_factory = empathy_contact_factory_new ();
+ priv->contact_factory = empathy_contact_factory_dup_singleton ();
empathy_avatar_chooser_set (chooser, NULL);
}
Modified: trunk/libempathy-gtk/empathy-contact-list-view.c
==============================================================================
--- trunk/libempathy-gtk/empathy-contact-list-view.c (original)
+++ trunk/libempathy-gtk/empathy-contact-list-view.c Fri Jan 9 10:05:54 2009
@@ -213,7 +213,7 @@
id);
strv = g_strsplit (id, "/", 2);
- factory = empathy_contact_factory_new ();
+ factory = empathy_contact_factory_dup_singleton ();
account = mc_account_lookup (strv[0]);
if (account) {
contact = empathy_contact_factory_get_from_id (factory,
Modified: trunk/libempathy-gtk/empathy-contact-widget.c
==============================================================================
--- trunk/libempathy-gtk/empathy-contact-widget.c (original)
+++ trunk/libempathy-gtk/empathy-contact-widget.c Fri Jan 9 10:05:54 2009
@@ -162,7 +162,7 @@
information = g_slice_new0 (EmpathyContactWidget);
information->flags = flags;
- information->factory = empathy_contact_factory_new ();
+ information->factory = empathy_contact_factory_dup_singleton ();
filename = empathy_file_lookup ("empathy-contact-widget.glade",
"libempathy-gtk");
Modified: trunk/libempathy/empathy-contact-factory.c
==============================================================================
--- trunk/libempathy/empathy-contact-factory.c (original)
+++ trunk/libempathy/empathy-contact-factory.c Fri Jan 9 10:05:54 2009
@@ -31,6 +31,8 @@
G_DEFINE_TYPE (EmpathyContactFactory, empathy_contact_factory, G_TYPE_OBJECT);
+static EmpathyContactFactory * factory_singleton = NULL;
+
EmpathyTpContactFactory *
empathy_contact_factory_get_tp_factory (EmpathyContactFactory *factory,
McAccount *account)
@@ -133,12 +135,33 @@
G_OBJECT_CLASS (empathy_contact_factory_parent_class)->finalize (object);
}
+static GObject *
+contact_factory_constructor (GType type,
+ guint n_props,
+ GObjectConstructParam *props)
+{
+ GObject *retval;
+
+ if (factory_singleton) {
+ retval = g_object_ref (factory_singleton);
+ } else {
+ retval = G_OBJECT_CLASS (empathy_contact_factory_parent_class)->constructor
+ (type, n_props, props);
+ g_object_add_weak_pointer (retval, (gpointer *) &retval);
+
+ factory_singleton = EMPATHY_CONTACT_FACTORY (retval);
+ }
+
+ return retval;
+}
+
static void
empathy_contact_factory_class_init (EmpathyContactFactoryClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
object_class->finalize = contact_factory_finalize;
+ object_class->constructor = contact_factory_constructor;
g_type_class_add_private (object_class, sizeof (EmpathyContactFactoryPriv));
}
@@ -157,17 +180,8 @@
}
EmpathyContactFactory *
-empathy_contact_factory_new (void)
+empathy_contact_factory_dup_singleton (void)
{
- static EmpathyContactFactory *factory = NULL;
-
- if (!factory) {
- factory = g_object_new (EMPATHY_TYPE_CONTACT_FACTORY, NULL);
- g_object_add_weak_pointer (G_OBJECT (factory), (gpointer) &factory);
- } else {
- g_object_ref (factory);
- }
-
- return factory;
+ return g_object_new (EMPATHY_TYPE_CONTACT_FACTORY, NULL);
}
Modified: trunk/libempathy/empathy-contact-factory.h
==============================================================================
--- trunk/libempathy/empathy-contact-factory.h (original)
+++ trunk/libempathy/empathy-contact-factory.h Fri Jan 9 10:05:54 2009
@@ -51,7 +51,7 @@
};
GType empathy_contact_factory_get_type (void) G_GNUC_CONST;
-EmpathyContactFactory *empathy_contact_factory_new (void);
+EmpathyContactFactory *empathy_contact_factory_dup_singleton (void);
EmpathyTpContactFactory *empathy_contact_factory_get_tp_factory (EmpathyContactFactory *factory,
McAccount *account);
EmpathyContact * empathy_contact_factory_get_user (EmpathyContactFactory *factory,
Modified: trunk/libempathy/empathy-dispatcher.c
==============================================================================
--- trunk/libempathy/empathy-dispatcher.c (original)
+++ trunk/libempathy/empathy-dispatcher.c Fri Jan 9 10:05:54 2009
@@ -235,7 +235,7 @@
tube = g_slice_new (DispatcherTube);
tube->ref_count = 1;
tube->handled = FALSE;
- tube->factory = empathy_contact_factory_new ();
+ tube->factory = empathy_contact_factory_dup_singleton ();
tube->bus_name = empathy_tube_handler_build_bus_name (type, service);
tube->object_path = empathy_tube_handler_build_object_path (type, service);
tube->public.activatable = FALSE;
@@ -850,7 +850,7 @@
group = empathy_tp_group_new (channel);
empathy_run_until_ready (group);
- factory = empathy_contact_factory_new ();
+ factory = empathy_contact_factory_dup_singleton ();
self_contact = empathy_contact_factory_get_user (factory, account);
empathy_contact_run_until_ready (self_contact,
EMPATHY_CONTACT_READY_HANDLE,
@@ -873,7 +873,7 @@
EmpathyContactFactory *factory;
EmpathyContact *contact;
- factory = empathy_contact_factory_new ();
+ factory = empathy_contact_factory_dup_singleton ();
contact = empathy_contact_factory_get_from_id (factory, account, contact_id);
empathy_contact_run_until_ready (contact, EMPATHY_CONTACT_READY_HANDLE, NULL);
@@ -922,7 +922,7 @@
EmpathyContactFactory *factory;
EmpathyContact *contact;
- factory = empathy_contact_factory_new ();
+ factory = empathy_contact_factory_dup_singleton ();
contact = empathy_contact_factory_get_from_id (factory, account, contact_id);
empathy_contact_run_until_ready (contact, EMPATHY_CONTACT_READY_HANDLE, NULL);
Modified: trunk/libempathy/empathy-tp-chat.c
==============================================================================
--- trunk/libempathy/empathy-tp-chat.c (original)
+++ trunk/libempathy/empathy-tp-chat.c Fri Jan 9 10:05:54 2009
@@ -950,7 +950,7 @@
priv = GET_PRIV (chat);
priv->account = empathy_channel_get_account (priv->channel);
- priv->factory = empathy_contact_factory_new ();
+ priv->factory = empathy_contact_factory_dup_singleton ();
priv->user = empathy_contact_factory_get_user (priv->factory, priv->account);
g_signal_connect (priv->channel, "invalidated",
Modified: trunk/libempathy/empathy-tp-file.c
==============================================================================
--- trunk/libempathy/empathy-tp-file.c (original)
+++ trunk/libempathy/empathy-tp-file.c Fri Jan 9 10:05:54 2009
@@ -507,7 +507,7 @@
tp_file = EMPATHY_TP_FILE (file_obj);
- tp_file->priv->factory = empathy_contact_factory_new ();
+ tp_file->priv->factory = empathy_contact_factory_dup_singleton ();
tp_file->priv->mc = empathy_mission_control_new ();
g_signal_connect (tp_file->priv->channel, "invalidated",
Modified: trunk/libempathy/empathy-tp-group.c
==============================================================================
--- trunk/libempathy/empathy-tp-group.c (original)
+++ trunk/libempathy/empathy-tp-group.c Fri Jan 9 10:05:54 2009
@@ -570,7 +570,7 @@
EmpathyTpGroupPriv *priv = GET_PRIV (group);
gboolean channel_ready;
- priv->factory = empathy_contact_factory_new ();
+ priv->factory = empathy_contact_factory_dup_singleton ();
priv->account = empathy_channel_get_account (priv->channel);
g_signal_connect (priv->channel, "invalidated",
Modified: trunk/libempathy/empathy-tp-tube.c
==============================================================================
--- trunk/libempathy/empathy-tp-tube.c (original)
+++ trunk/libempathy/empathy-tp-tube.c Fri Jan 9 10:05:54 2009
@@ -351,7 +351,7 @@
tube->priv = priv;
- priv->factory = empathy_contact_factory_new ();
+ priv->factory = empathy_contact_factory_dup_singleton ();
}
EmpathyTpTube *
Modified: trunk/megaphone/src/megaphone-applet.c
==============================================================================
--- trunk/megaphone/src/megaphone-applet.c (original)
+++ trunk/megaphone/src/megaphone-applet.c Fri Jan 9 10:05:54 2009
@@ -112,7 +112,7 @@
MEGAPHONE_TYPE_APPLET, MegaphoneAppletPriv);
applet->priv = priv;
- priv->factory = empathy_contact_factory_new ();
+ priv->factory = empathy_contact_factory_dup_singleton ();
priv->gconf = gconf_client_get_default ();
/* Image holds the contact avatar */
Modified: trunk/src/empathy-event-manager.c
==============================================================================
--- trunk/src/empathy-event-manager.c (original)
+++ trunk/src/empathy-event-manager.c Fri Jan 9 10:05:54 2009
@@ -223,7 +223,7 @@
McAccount *account;
EmpathyContactFactory *factory;
- factory = empathy_contact_factory_new ();
+ factory = empathy_contact_factory_dup_singleton ();
handle = tp_channel_get_handle (channel, NULL);
account = empathy_channel_get_account (channel);
Modified: trunk/src/empathy-main-window.c
==============================================================================
--- trunk/src/empathy-main-window.c (original)
+++ trunk/src/empathy-main-window.c Fri Jan 9 10:05:54 2009
@@ -1009,7 +1009,7 @@
McAccount *account;
account = accounts->data;
- factory = empathy_contact_factory_new ();
+ factory = empathy_contact_factory_dup_singleton ();
contact = empathy_contact_factory_get_user (factory, account);
empathy_contact_run_until_ready (contact,
EMPATHY_CONTACT_READY_HANDLE |
Modified: trunk/tests/contact-run-until-ready.c
==============================================================================
--- trunk/tests/contact-run-until-ready.c (original)
+++ trunk/tests/contact-run-until-ready.c Fri Jan 9 10:05:54 2009
@@ -13,7 +13,7 @@
EmpathyContact *contact;
EmpathyContactReady ready_flags;
- factory = empathy_contact_factory_new ();
+ factory = empathy_contact_factory_dup_singleton ();
account = mc_account_lookup ("jabber0");
contact = empathy_contact_factory_get_from_handle (factory, account, 2);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]