|  |  |  | Camel Reference Manual |  | 
|---|---|---|---|---|
| Top | Description | Object Hierarchy | ||||
struct CamelFolderSearch; CamelFolderSearch * camel_folder_search_new (void); 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_search (CamelFolderSearch *search,const gchar *expr,GPtrArray *uids,GCancellable *cancellable,GError **error); guint32 camel_folder_search_count (CamelFolderSearch *search,const gchar *expr,GCancellable *cancellable,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); void camel_folder_search_construct (CamelFolderSearch *search);
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_search (CamelFolderSearch *search,const gchar *expr,GPtrArray *uids,GCancellable *cancellable,GError **error);
Run a search. Search must have had Folder already set on it, and it must implement summaries.
| 
 | to search against, NULL for all uid's. | 
| 
 | a GCancellable | 
| 
 | return location for a GError, or NULL | 
guint32 camel_folder_search_count (CamelFolderSearch *search,const gchar *expr,GCancellable *cancellable,GError **error);
Run a search. Search must have had Folder already set on it, and it must implement summaries.
| 
 | a GCancellable | 
| 
 | return location for a GError, or NULL | 
| Returns : | Number of messages that match the query. | 
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
void                camel_folder_search_construct       (CamelFolderSearch *search);
camel_folder_search_construct has been deprecated since version 3.8 and should not be used in newly-written code. The function no longer does anything.
This function used to register callbacks with search's internal
CamelSExp, but this now happens during instance initialization.
| 
 | a CamelFolderSearch |