summaryrefslogtreecommitdiff
path: root/telepathy-logger/log-manager.c
diff options
context:
space:
mode:
authorNicolas Dufresne <nicolas.dufresne@collabora.co.uk>2011-01-19 15:02:33 -0500
committerNicolas Dufresne <nicolas.dufresne@collabora.co.uk>2011-01-19 15:02:33 -0500
commit2e0bde37c0db1b2ddfaed89c1f8a11c2713ab976 (patch)
tree4fe06b2bb9b8d5e1fe7947d1a893f8ce85536649 /telepathy-logger/log-manager.c
parent2036f29eeb05e9c4ea872f8716446f27c911834b (diff)
downloadtelepathy-logger-2e0bde37c0db1b2ddfaed89c1f8a11c2713ab976.tar.gz
Don't duplicate code to free lists
Diffstat (limited to 'telepathy-logger/log-manager.c')
-rw-r--r--telepathy-logger/log-manager.c84
1 files changed, 29 insertions, 55 deletions
diff --git a/telepathy-logger/log-manager.c b/telepathy-logger/log-manager.c
index 0a3f93a..824423e 100644
--- a/telepathy-logger/log-manager.c
+++ b/telepathy-logger/log-manager.c
@@ -216,6 +216,30 @@ _globally_enabled_changed (TplConf *conf,
static void
+_list_of_object_free (gpointer data)
+{
+ GList *lst = data; /* list of GObject */
+
+ if (!_LIST_TAKEN (lst))
+ g_list_foreach (lst, (GFunc) g_object_unref, NULL);
+
+ g_list_free (lst);
+}
+
+
+static void
+_list_of_date_free (gpointer data)
+{
+ GList *lst = data; /* list of (GDate *) */
+
+ if (!_LIST_TAKEN (lst))
+ g_list_foreach (lst, (GFunc) g_date_free, NULL);
+
+ g_list_free (lst);
+}
+
+
+static void
tpl_log_manager_init (TplLogManager *self)
{
TplLogStore *store;
@@ -839,16 +863,6 @@ copy_date (const GDate *date)
static void
-_get_dates_async_result_free (gpointer data)
-{
- GList *lst = data; /* list of (GDate *) */
-
- g_list_foreach (lst, (GFunc) g_date_free, NULL);
- g_list_free (lst);
-}
-
-
-static void
_get_dates_async_thread (GSimpleAsyncResult *simple,
GObject *object,
GCancellable *cancellable)
@@ -865,7 +879,7 @@ _get_dates_async_thread (GSimpleAsyncResult *simple,
event_info->type);
g_simple_async_result_set_op_res_gpointer (simple, lst,
- _get_dates_async_result_free);
+ _list_of_date_free);
}
@@ -967,16 +981,6 @@ tpl_log_manager_get_dates_finish (TplLogManager *self,
static void
-_get_events_for_date_async_result_free (gpointer data)
-{
- GList *lst = data; /* list of TPL_EVENT */
-
- g_list_foreach (lst, (GFunc) g_object_unref, NULL);
- g_list_free (lst);
-}
-
-
-static void
_get_events_for_date_async_thread (GSimpleAsyncResult *simple,
GObject *object,
GCancellable *cancellable)
@@ -995,7 +999,7 @@ _get_events_for_date_async_thread (GSimpleAsyncResult *simple,
event_info->date);
g_simple_async_result_set_op_res_gpointer (simple, lst,
- _get_events_for_date_async_result_free);
+ _list_of_object_free);
}
@@ -1092,16 +1096,6 @@ tpl_log_manager_get_events_for_date_finish (TplLogManager *self,
static void
-_get_filtered_events_async_result_free (gpointer data)
-{
- GList *lst = data; /* list of TPL_EVENT */
-
- g_list_foreach (lst, (GFunc) g_object_unref, NULL);
- g_list_free (lst);
-}
-
-
-static void
_get_filtered_events_async_thread (GSimpleAsyncResult *simple,
GObject *object,
GCancellable *cancellable)
@@ -1118,7 +1112,7 @@ _get_filtered_events_async_thread (GSimpleAsyncResult *simple,
event_info->num_events, event_info->filter, event_info->user_data);
g_simple_async_result_set_op_res_gpointer (simple, lst,
- _get_filtered_events_async_result_free);
+ _list_of_object_free);
}
@@ -1337,16 +1331,6 @@ tpl_log_manager_get_events_finish (TplLogManager *self,
static void
-_search_in_identifier_async_result_free (gpointer data)
-{
- GList *lst = data; /* list of TplSearchHit */
-
- g_list_foreach (lst, (GFunc) _tpl_log_manager_search_hit_free, NULL);
- g_list_free (lst);
-}
-
-
-static void
_search_in_identifier_async_thread (GSimpleAsyncResult *simple,
GObject *object,
GCancellable *cancellable)
@@ -1363,7 +1347,7 @@ _search_in_identifier_async_thread (GSimpleAsyncResult *simple,
event_info->search_text);
g_simple_async_result_set_op_res_gpointer (simple, lst,
- _search_in_identifier_async_result_free);
+ (GDestroyNotify) tpl_log_manager_search_free);
}
@@ -1439,16 +1423,6 @@ _tpl_log_manager_search_in_identifier_finish (TplLogManager *self,
static void
-_search_new_async_result_free (gpointer data)
-{
- GList *lst = data; /* list of TplSearchHit */
-
- g_list_foreach (lst, (GFunc) _tpl_log_manager_search_hit_free, NULL);
- g_list_free (lst);
-}
-
-
-static void
_search_async_thread (GSimpleAsyncResult *simple,
GObject *object,
GCancellable *cancellable)
@@ -1464,7 +1438,7 @@ _search_async_thread (GSimpleAsyncResult *simple,
event_info->search_text);
g_simple_async_result_set_op_res_gpointer (simple, lst,
- _search_new_async_result_free);
+ (GDestroyNotify) tpl_log_manager_search_free);
}