diff options
author | Nicolas Dufresne <nicolas.dufresne@collabora.com> | 2011-05-26 17:24:51 -0400 |
---|---|---|
committer | Nicolas Dufresne <nicolas.dufresne@collabora.com> | 2011-05-26 17:24:51 -0400 |
commit | 14b857fdad941e90bddacca040679a13be6fec1d (patch) | |
tree | 5b492bead65eccdefd82c010c65ab761553d8fdd | |
parent | 74dfb5152a89e245ff99fd4d650db02c9d85da5f (diff) | |
download | telepathy-logger-14b857fdad941e90bddacca040679a13be6fec1d.tar.gz |
Move event_queue_insert_sorted_after() to util
-rw-r--r-- | telepathy-logger/log-store-xml.c | 40 | ||||
-rw-r--r-- | telepathy-logger/util-internal.h | 5 | ||||
-rw-r--r-- | telepathy-logger/util.c | 37 |
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); +} |