summaryrefslogtreecommitdiff
path: root/telepathy-logger/log-store-xml.c
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 /telepathy-logger/log-store-xml.c
parent74dfb5152a89e245ff99fd4d650db02c9d85da5f (diff)
downloadtelepathy-logger-14b857fdad941e90bddacca040679a13be6fec1d.tar.gz
Move event_queue_insert_sorted_after() to util
Diffstat (limited to 'telepathy-logger/log-store-xml.c')
-rw-r--r--telepathy-logger/log-store-xml.c40
1 files changed, 4 insertions, 36 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++;
}
}