summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2010-05-21 12:42:40 +0200
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2010-05-26 12:35:22 +0200
commit782b454cf8ad1d6cf20bee49f0088ead95110781 (patch)
treeb79321e7aef3d39eaaa2a286aa0357851434b0f5
parent253315e24364040b66aa93b1eb9499966786f76a (diff)
downloadtelepathy-logger-782b454cf8ad1d6cf20bee49f0088ead95110781.tar.gz
fix tpl_log_manager_get_filtered_messages_finish
-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,