| Camel Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | Object Hierarchy | ||||
struct CamelFolderSearch; CamelFolderSearch * camel_folder_search_new (void); void camel_folder_search_construct (CamelFolderSearch *search); 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 *body_index); GPtrArray * camel_folder_search_execute_expression (CamelFolderSearch *search,const gchar *expr,GError **error); GPtrArray * camel_folder_search_search (CamelFolderSearch *search,const gchar *expr,GPtrArray *uids,GError **error); guint32 camel_folder_search_count (CamelFolderSearch *search,const gchar *expr,GError **error); void camel_folder_search_free_result (CamelFolderSearch *search,GPtrArray *Param2); time_t camel_folder_search_util_add_months (time_t t,gint months);
CamelFolderSearch * camel_folder_search_new (void);
Create a new CamelFolderSearch object.
A CamelFolderSearch is a subclassable, extensible s-exp evaluator which enforces a particular set of s-expressions. Particular methods may be overriden by an implementation to implement a search for any sort of backend.
Returns : |
A new CamelFolderSearch widget. |
void camel_folder_search_set_folder (CamelFolderSearch *search,CamelFolder *folder);
Set the folder attribute of the search. This is currently unused, but could be used to perform a slow-search when indexes and so forth are not available. Or for use by subclasses.
|
A folder. |
void camel_folder_search_set_summary (CamelFolderSearch *search,GPtrArray *summary);
Set the array of summary objects representing the span of the search.
If this is not set, then a subclass must provide the functions for searching headers and for the match-all operator.
|
An array of CamelMessageInfo pointers. |
void camel_folder_search_set_body_index (CamelFolderSearch *search,CamelIndex *body_index);
Set the index representing the contents of all messages in this folder. If this is not set, then the folder implementation should sub-class the CamelFolderSearch and provide its own body-contains function.
GPtrArray * camel_folder_search_execute_expression (CamelFolderSearch *search,const gchar *expr,GError **error);
Execute the search expression expr, returning an array of
all matches as a GPtrArray of uid's of matching messages.
Note that any settings such as set_body_index(), set_folder(),
and so on are reset to NULL once the search has completed.
TODO: The interface should probably return summary items instead (since they are much more useful to any client).
GPtrArray * camel_folder_search_search (CamelFolderSearch *search,const gchar *expr,GPtrArray *uids,GError **error);
Run a search. Search must have had Folder already set on it, and it must implement summaries.
guint32 camel_folder_search_count (CamelFolderSearch *search,const gchar *expr,GError **error);
Run a search. Search must have had Folder already set on it, and it must implement summaries.
Since 2.26
void camel_folder_search_free_result (CamelFolderSearch *search,GPtrArray *Param2);
time_t camel_folder_search_util_add_months (time_t t,gint months);
Increases time t by the given number of months (or decreases, if
months is negative).
|
Initial time |
|
number of months to add or subtract |
Returns : |
a new time_t value |
Since 3.2