]> git.0d.be Git - empathy.git/blobdiff - libempathy/gossip-chatroom-manager.c
Empathy is no more splitted into 2 processes. It makes debugging more
[empathy.git] / libempathy / gossip-chatroom-manager.c
index f85d5407e8eef66cf1e640b0325e10537bcd76d6..cc6aa81ad4cda8514db6f15f3c1bf48ebf54e04f 100644 (file)
@@ -31,8 +31,6 @@
 #include <libxml/parser.h>
 #include <libxml/tree.h>
 
-#include <libgnomevfs/gnome-vfs.h>
-
 #include "gossip-debug.h"
 #include "gossip-chatroom-manager.h"
 #include "gossip-utils.h"
 
 struct _GossipChatroomManagerPriv {
        GList      *chatrooms;
-       GHashTable *monitors;
 };
 
 static void     gossip_chatroom_manager_class_init (GossipChatroomManagerClass *klass);
 static void     gossip_chatroom_manager_init       (GossipChatroomManager      *manager);
 static void     chatroom_manager_finalize          (GObject                    *object);
 static gboolean chatroom_manager_get_all           (GossipChatroomManager      *manager);
-static void     chatroom_manager_file_changed_cb   (GnomeVFSMonitorHandle      *handle,
-                                                   const gchar                *monitor_uri,
-                                                   const gchar                *info_uri,
-                                                   GnomeVFSMonitorEventType    event_type,
-                                                   GossipChatroomManager      *manager);
 static gboolean chatroom_manager_file_parse        (GossipChatroomManager      *manager,
                                                    const gchar                *filename);
 static void     chatroom_manager_parse_chatroom    (GossipChatroomManager      *manager,
@@ -110,11 +102,6 @@ gossip_chatroom_manager_init (GossipChatroomManager *manager)
        GossipChatroomManagerPriv *priv;
 
        priv = GET_PRIV (manager);
-
-       priv->monitors = g_hash_table_new_full (g_str_hash,
-                                               g_str_equal,
-                                               (GDestroyNotify) g_free,
-                                               (GDestroyNotify) gnome_vfs_monitor_cancel);
 }
 
 static void
@@ -126,7 +113,6 @@ chatroom_manager_finalize (GObject *object)
 
        g_list_foreach (priv->chatrooms, (GFunc) g_object_unref, NULL);
        g_list_free (priv->chatrooms);
-       g_hash_table_destroy (priv->monitors);
 
        (G_OBJECT_CLASS (gossip_chatroom_manager_parent_class)->finalize) (object);
 }
@@ -340,31 +326,6 @@ chatroom_manager_get_all (GossipChatroomManager *manager)
        return TRUE;
 }
 
-static void
-chatroom_manager_file_changed_cb (GnomeVFSMonitorHandle    *handle,
-                                 const gchar              *monitor_uri,
-                                 const gchar              *info_uri,
-                                 GnomeVFSMonitorEventType  event_type,
-                                 GossipChatroomManager    *manager)
-{
-       GossipChatroomManagerPriv *priv;
-       GList                     *l;
-
-       priv = GET_PRIV (manager);
-
-       gossip_debug (DEBUG_DOMAIN, "Reload file: %s", monitor_uri);
-
-       /* FIXME: This is not optimised */
-       for (l = priv->chatrooms; l; l = l->next) {
-               g_signal_emit (manager, signals[CHATROOM_REMOVED], 0, l->data);
-               g_object_unref (l->data);
-       }
-       g_list_free (priv->chatrooms);
-       priv->chatrooms = NULL;
-
-       chatroom_manager_get_all (manager);
-}
-
 static gboolean
 chatroom_manager_file_parse (GossipChatroomManager *manager,
                             const gchar           *filename)
@@ -377,19 +338,6 @@ chatroom_manager_file_parse (GossipChatroomManager *manager,
 
        priv = GET_PRIV (manager);
 
-       /* Do not monitor this file twice if it's already monitored */
-       if (!g_hash_table_lookup (priv->monitors, filename)) {
-               GnomeVFSMonitorHandle *handle;
-
-               gnome_vfs_monitor_add (&handle,
-                                      filename,
-                                      GNOME_VFS_MONITOR_FILE,
-                                      (GnomeVFSMonitorCallback) chatroom_manager_file_changed_cb,
-                                      manager);
-
-               g_hash_table_insert (priv->monitors, g_strdup (filename), handle);
-       }
-
        gossip_debug (DEBUG_DOMAIN, "Attempting to parse file:'%s'...", filename);
 
        ctxt = xmlNewParserCtxt ();