summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Dufresne <nicolas.dufresne@collabora.com>2011-05-26 17:24:51 -0400
committerNicolas Dufresne <nicolas.dufresne@collabora.com>2011-05-26 17:24:51 -0400
commit14b857fdad941e90bddacca040679a13be6fec1d (patch)
tree5b492bead65eccdefd82c010c65ab761553d8fdd
parent74dfb5152a89e245ff99fd4d650db02c9d85da5f (diff)
downloadtelepathy-logger-14b857fdad941e90bddacca040679a13be6fec1d.tar.gz
Move event_queue_insert_sorted_after() to util
-rw-r--r--telepathy-logger/log-store-xml.c40
-rw-r--r--telepathy-logger/util-internal.h5
-rw-r--r--telepathy-logger/util.c37
3 files changed, 44 insertions, 38 deletions
diff --git a/telepathy-logger/log-store-xml.c b/telepathy-logger/log-store-xml.c
index 74c7a18..bd748d2 100644
--- a/telepathy-logger/log-store-xml.c
+++ b/telepathy-logger/log-store-xml.c
@@ -1283,39 +1283,6 @@ parse_call_node (TplLogStoreXml *self,
return event;
}
-static GList *
-event_queue_insert_sorted_after (GQueue *events,
- GList *index,
- TplEvent *event)
-{
- if (g_queue_is_empty (events))
- {
- g_queue_push_tail (events, event);
- return events->tail;
- }
-
- /* The initial index might go before the first one */
- if (index == NULL)
- {
- index = events->head;
-
- if (tpl_event_get_timestamp (event) <
- tpl_event_get_timestamp (TPL_EVENT (index->data)))
- {
- g_queue_insert_before (events, index, event);
- return events->head;
- }
- }
-
- /* Find the last event that this event can go after */
- while (g_list_next (index) != NULL &&
- tpl_event_get_timestamp (event) >=
- tpl_event_get_timestamp (TPL_EVENT (g_list_next (index)->data)))
- index = g_list_next (index);
-
- g_queue_insert_after (events, index, event);
- return g_list_next (index);
-}
static void
event_queue_replace_and_supersede (GQueue *events,
@@ -1342,7 +1309,8 @@ event_queue_add_text_event (GQueue *events,
TplTextEvent *dummy_event;
if (supersedes_token == NULL)
- return event_queue_insert_sorted_after (events, index, TPL_EVENT (event));
+ return _tpl_event_queue_insert_sorted_after (events, index,
+ TPL_EVENT (event));
l = g_hash_table_lookup (superseded_links, supersedes_token);
if (l != NULL)
@@ -1380,7 +1348,7 @@ event_queue_add_text_event (GQueue *events,
"message-token", supersedes_token,
NULL);
- index = event_queue_insert_sorted_after (events, index,
+ index = _tpl_event_queue_insert_sorted_after (events, index,
TPL_EVENT (dummy_event));
event_queue_replace_and_supersede (events, index, superseded_links, event);
return index;
@@ -1500,7 +1468,7 @@ log_store_xml_get_events_for_file (TplLogStoreXml *self,
if (event == NULL)
continue;
- index = event_queue_insert_sorted_after (events, index, event);
+ index = _tpl_event_queue_insert_sorted_after (events, index, event);
num_events++;
}
}
diff --git a/telepathy-logger/util-internal.h b/telepathy-logger/util-internal.h
index 3aa2fa5..eabcaa1 100644
--- a/telepathy-logger/util-internal.h
+++ b/telepathy-logger/util-internal.h
@@ -26,11 +26,16 @@
#include <glib-object.h>
#include <gio/gio.h>
+#include "event.h"
+
#define TPL_STR_EMPTY(x) ((x) == NULL || (x)[0] == '\0')
void _tpl_rmdir_recursively (const gchar *dir_name);
gint64 _tpl_time_parse (const gchar * str);
+GList *_tpl_event_queue_insert_sorted_after (GQueue *events,
+ GList *index,
+ TplEvent *event);
#endif // __TPL_UTIL_H__
diff --git a/telepathy-logger/util.c b/telepathy-logger/util.c
index 03b9269..ba14704 100644
--- a/telepathy-logger/util.c
+++ b/telepathy-logger/util.c
@@ -22,8 +22,6 @@
#include "util-internal.h"
-#include "log-store-sqlite-internal.h"
-
#include <errno.h>
#include <glib.h>
#include <glib/gstdio.h>
@@ -98,3 +96,38 @@ _tpl_time_parse (const gchar *str)
return ts;
}
+
+
+GList *
+_tpl_event_queue_insert_sorted_after (GQueue *events,
+ GList *index,
+ TplEvent *event)
+{
+ if (g_queue_is_empty (events))
+ {
+ g_queue_push_tail (events, event);
+ return events->tail;
+ }
+
+ /* The initial index might go before the first one */
+ if (index == NULL)
+ {
+ index = events->head;
+
+ if (tpl_event_get_timestamp (event) <
+ tpl_event_get_timestamp (TPL_EVENT (index->data)))
+ {
+ g_queue_insert_before (events, index, event);
+ return events->head;
+ }
+ }
+
+ /* Find the last event that this event can go after */
+ while (g_list_next (index) != NULL &&
+ tpl_event_get_timestamp (event) >=
+ tpl_event_get_timestamp (TPL_EVENT (g_list_next (index)->data)))
+ index = g_list_next (index);
+
+ g_queue_insert_after (events, index, event);
+ return g_list_next (index);
+}