aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-folder-search.h
diff options
context:
space:
mode:
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