From 6a766351410912acde101b6fa01488338efca5c8 Mon Sep 17 00:00:00 2001 From: NotZed Date: Thu, 23 Mar 2000 19:57:31 +0000 Subject: Added async search api. 2000-03-22 NotZed * camel-folder.[ch]: Added async search api. * providers/mbox/camel-mbox-search.c (camel_mbox_folder_search_by_expression): Changed to use an asynchronous interface. (camel_mbox_folder_search_cancel): Cancel function for async interface. svn path=/trunk/; revision=2155 --- camel/camel-folder.h | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'camel/camel-folder.h') diff --git a/camel/camel-folder.h b/camel/camel-folder.h index 67de66a83e..68a6c8f214 100644 --- a/camel/camel-folder.h +++ b/camel/camel-folder.h @@ -56,7 +56,7 @@ typedef enum { typedef void (*CamelFolderAsyncCallback) (); - +typedef void (CamelSearchFunc)(CamelFolder *folder, int id, gboolean complete, GList *matches, void *data); struct _CamelFolder { @@ -195,7 +195,10 @@ typedef struct { gboolean (*has_search_capability) (CamelFolder *folder); - GList *(*search_by_expression) (CamelFolder *folder, const char *expression, CamelException *ex); + int (*search_by_expression) (CamelFolder *folder, const char *expression, + CamelSearchFunc *func, void *data, CamelException *ex); + gboolean (*search_complete)(CamelFolder *folder, int searchid, gboolean wait, CamelException *ex); + void (*search_cancel) (CamelFolder *folder, int searchid, CamelException *ex); } CamelFolderClass; @@ -301,9 +304,10 @@ GList * camel_folder_get_uid_list (CamelFolder *folder, /* search api */ gboolean camel_folder_has_search_capability (CamelFolder *folder); -GList * camel_folder_search_by_expression (CamelFolder *folder, - const char *expression, - CamelException *ex); +int camel_folder_search_by_expression(CamelFolder *folder, const char *expression, + CamelSearchFunc *func, void *data, CamelException *ex); +gboolean camel_folder_search_complete(CamelFolder *folder, int searchid, gboolean wait, CamelException *ex); +void camel_folder_search_cancel(CamelFolder *folder, int searchid, CamelException *ex); #ifdef __cplusplus } -- cgit v1.2.3