]> git.0d.be Git - empathy.git/commitdiff
Made get_last_messages source independent. (Jonny Lamb)
authorJonny Lamb <jonny.lamb@collabora.co.uk>
Fri, 6 Mar 2009 11:51:21 +0000 (11:51 +0000)
committerXavier Claessens <xclaesse@src.gnome.org>
Fri, 6 Mar 2009 11:51:21 +0000 (11:51 +0000)
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
svn path=/trunk/; revision=2579

libempathy/empathy-log-manager.c
libempathy/empathy-log-source-empathy.c

index 371100e13d69f50745823fd50fee77fadc511d71..f734a184d62afee1d155f73b1e25c82d45c8d3a3 100644 (file)
@@ -246,29 +246,25 @@ empathy_log_manager_get_last_messages (EmpathyLogManager *manager,
                                        const gchar *chat_id,
                                        gboolean chatroom)
 {
-  GList *l, *out = NULL;
-  EmpathyLogManagerPriv *priv;
+  GList *messages = NULL;
+  GList *dates;
+  GList *l;
 
   g_return_val_if_fail (EMPATHY_IS_LOG_MANAGER (manager), NULL);
   g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL);
   g_return_val_if_fail (chat_id != NULL, NULL);
 
-  priv = GET_PRIV (manager);
+  dates = empathy_log_manager_get_dates (manager, account, chat_id, chatroom);
 
-  for (l = priv->sources; l; l = l->next)
-    {
-      EmpathyLogSource *source = (EmpathyLogSource *) l->data;
+  l = g_list_last (dates);
+  if (l)
+    messages = empathy_log_manager_get_messages_for_date (manager, account,
+        chat_id, chatroom, l->data);
 
-      if (!source->get_last_messages)
-        continue;
-
-      if (!out)
-        out = source->get_last_messages (manager, account, chat_id, chatroom);
-      else
-        out = g_list_concat (out, source->get_last_messages (manager, account, chat_id, chatroom));
-    }
+  g_list_foreach (dates, (GFunc) g_free, NULL);
+  g_list_free (dates);
 
-  return out;
+  return messages;
 }
 
 GList *
index 678ac423addb1589152cf3844b27981f01c68e86..d6804683cc0ea5ab00ddb8d3ffa03291d29c9371 100644 (file)
@@ -623,33 +623,6 @@ log_source_empathy_get_messages_for_date (EmpathyLogManager *manager,
   return messages;
 }
 
-static GList *
-log_source_empathy_get_last_messages (EmpathyLogManager *manager,
-                                      McAccount *account,
-                                      const gchar *chat_id,
-                                      gboolean chatroom)
-{
-  GList *messages = NULL;
-  GList *dates;
-  GList *l;
-
-  g_return_val_if_fail (EMPATHY_IS_LOG_MANAGER (manager), NULL);
-  g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL);
-  g_return_val_if_fail (chat_id != NULL, NULL);
-
-  dates = log_source_empathy_get_dates (manager, account, chat_id, chatroom);
-
-  l = g_list_last (dates);
-  if (l)
-    messages = log_source_empathy_get_messages_for_date (manager, account,
-        chat_id, chatroom, l->data);
-
-  g_list_foreach (dates, (GFunc) g_free, NULL);
-  g_list_free (dates);
-
-  return messages;
-}
-
 static GList *
 log_source_empathy_get_chats (EmpathyLogManager *manager,
                               McAccount *account)
@@ -679,7 +652,6 @@ empathy_log_source_empathy_get_source (void)
   source->exists = log_source_empathy_exists;
   source->add_message = log_source_empathy_add_message;
   source->get_dates = log_source_empathy_get_dates;
-  source->get_last_messages = log_source_empathy_get_last_messages;
   source->get_messages_for_date = log_source_empathy_get_messages_for_date;
   source->get_chats = log_source_empathy_get_chats;
   source->search_new = log_source_empathy_search_new;