![]() |
![]() |
![]() |
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 *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 *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).
|
return location for a GError, or NULL
|
Returns : |
A GPtrArray of strings of all matching messages. This must only be freed by camel_folder_search_free_result. |
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.
|
to search against, NULL for all uid's. |
|
return location for a GError, or NULL
|
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.
|
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
);