aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-folder-search.h
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2004-05-12 15:12:27 +0800
committerMichael Zucci <zucchi@src.gnome.org>2004-05-12 15:12:27 +0800
commitdedec6a7084cc67aa79cd884f47e6a2d8ee818db (patch)
treebdfa3dc0c7ea8e89adea0ad87842509ea67caa56 /camel/camel-folder-search.h
parent0f8af52d9c5e83137c7c80f2b0bca8a60522c83a (diff)
downloadgsoc2013-evolution-dedec6a7084cc67aa79cd884f47e6a2d8ee818db.tar.gz
gsoc2013-evolution-dedec6a7084cc67aa79cd884f47e6a2d8ee818db.tar.zst
gsoc2013-evolution-dedec6a7084cc67aa79cd884f47e6a2d8ee818db.zip
changed to match_threads. (camel_folder_search_search): remove thread
2004-05-12 Not Zed <NotZed@Ximian.com> * camel-folder-search.c (search_threads): changed to match_threads. (camel_folder_search_search): remove thread matching stuff from here. 2004-05-06 Not Zed <NotZed@Ximian.com> * camel-digest-folder.c (digest_search_by_expression) (digest_search_by_uids): * providers/nntp/camel-nntp-folder.c (nntp_folder_search_by_expression) (nntp_folder_search_by_uids): * providers/imap/camel-imap-folder.c (imap_search_by_expression) (imap_search_by_uids): * providers/local/camel-local-folder.c (local_search_by_expression) (local_search_by_uids): use camel_folder_search_search & some minor cleanups. * camel-folder-search.c (search_threads): keep track of the match threads option for this search. (camel_folder_search_match_expression): Removed, not used anymore. (camel_folder_search_search): new api entry point for searching, a bit easier to use and needed for thread matching. * camel-folder-search.c (camel_folder_search_search): new search api entry point, take a full summary and optionally a subset of uids to match against. (search_match_all): use the uids' passed in to only search a subset of uid's. svn path=/trunk/; revision=25876
Diffstat (limited to 'camel/camel-folder-search.h')
-rw-r--r--camel/camel-folder-search.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/camel/camel-folder-search.h b/camel/camel-folder-search.h
index e4d2253224..a5239f2a0e 100644
--- a/camel/camel-folder-search.h
+++ b/camel/camel-folder-search.h
@@ -50,6 +50,7 @@ struct _CamelFolderSearch {
/* these are only valid during the search, and are reset afterwards */
CamelFolder *folder; /* folder for current search */
GPtrArray *summary; /* summary array for current search */
+ GPtrArray *summary_set; /* subset of summary to actually include in search */
GHashTable *summary_hash; /* hashtable of summary items */
CamelMessageInfo *current; /* current message info, when searching one by one */
CamelMimeMessage *current_message; /* cache of current message, if required */
@@ -71,6 +72,9 @@ struct _CamelFolderSearchClass {
/* (match-all [boolean expression]) Apply match to all messages */
ESExpResult * (*match_all)(struct _ESExp *f, int argc, struct _ESExpTerm **argv, CamelFolderSearch *s);
+ /* (match-threads "type" [array expression]) add all related threads */
+ ESExpResult * (*match_threads)(struct _ESExp *f, int argc, struct _ESExpTerm **argv, CamelFolderSearch *s);
+
/* (body-contains "string1" "string2" ...) Returns a list of matches, or true if in single-message mode */
ESExpResult * (*body_contains)(struct _ESExp *f, int argc, struct _ESExpResult **argv, CamelFolderSearch *s);
@@ -118,12 +122,14 @@ CamelType camel_folder_search_get_type (void);
CamelFolderSearch *camel_folder_search_new (void);
void camel_folder_search_construct (CamelFolderSearch *search);
+/* This stuff currently gets cleared when you run a search ... what on earth was i thinking ... */
void camel_folder_search_set_folder(CamelFolderSearch *search, CamelFolder *folder);
void camel_folder_search_set_summary(CamelFolderSearch *search, GPtrArray *summary);
void camel_folder_search_set_body_index(CamelFolderSearch *search, CamelIndex *index);
+/* this interface is deprecated */
GPtrArray *camel_folder_search_execute_expression(CamelFolderSearch *search, const char *expr, CamelException *ex);
-gboolean camel_folder_search_match_expression(CamelFolderSearch *search, const char *expr,
- const CamelMessageInfo *info, CamelException *ex);
+
+GPtrArray *camel_folder_search_search(CamelFolderSearch *search, const char *expr, GPtrArray *uids, CamelException *ex);
void camel_folder_search_free_result(CamelFolderSearch *search, GPtrArray *);
#ifdef __cplusplus