summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--telepathy-logger/log-manager.c21
-rw-r--r--telepathy-logger/log-manager.h3
2 files changed, 19 insertions, 5 deletions
diff --git a/telepathy-logger/log-manager.c b/telepathy-logger/log-manager.c
index 8049951..81771c7 100644
--- a/telepathy-logger/log-manager.c
+++ b/telepathy-logger/log-manager.c
@@ -1073,15 +1073,28 @@ tpl_log_manager_get_messages_for_date_async (TplLogManager *manager,
/* Start of get_filtered_messages async implementation */
-GList *
+gboolean
tpl_log_manager_get_filtered_messages_finish (TplLogManager *self,
GAsyncResult *result,
+ GList **messages,
GError **error)
{
- g_return_val_if_fail (error == NULL || *error == NULL, NULL);
+ GSimpleAsyncResult *simple;
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (result);
- return g_simple_async_result_get_op_res_gpointer (simple);
+ g_return_val_if_fail (TPL_IS_LOG_MANAGER (self), FALSE);
+ g_return_val_if_fail (G_IS_SIMPLE_ASYNC_RESULT (result), FALSE);
+ g_return_val_if_fail (g_simple_async_result_is_valid (result,
+ G_OBJECT (self), tpl_log_manager_get_filtered_messages_async), FALSE);
+
+ simple = G_SIMPLE_ASYNC_RESULT (result);
+
+ if (g_simple_async_result_propagate_error (simple, error))
+ return FALSE;
+
+ if (messages != NULL)
+ *messages = g_simple_async_result_get_op_res_gpointer (simple);
+
+ return TRUE;
}
diff --git a/telepathy-logger/log-manager.h b/telepathy-logger/log-manager.h
index a673b89..756b29c 100644
--- a/telepathy-logger/log-manager.h
+++ b/telepathy-logger/log-manager.h
@@ -111,8 +111,9 @@ GList *tpl_log_manager_get_filtered_messages (TplLogManager *manager,
TpAccount *account, const gchar *chat_id, gboolean chatroom,
guint num_messages, TplLogMessageFilter filter, gpointer user_data);
-GList *tpl_log_manager_get_filtered_messages_finish (TplLogManager *self,
+gboolean tpl_log_manager_get_filtered_messages_finish (TplLogManager *self,
GAsyncResult *result,
+ GList **messages,
GError **error);
void tpl_log_manager_get_filtered_messages_async (TplLogManager *manager,