Top | ![]() |
![]() |
![]() |
![]() |
CamelFolderSearch * | camel_folder_search_new () |
void | camel_folder_search_set_only_cached_messages () |
gboolean | camel_folder_search_get_only_cached_messages () |
void | camel_folder_search_set_current_message_info () |
void | camel_folder_search_take_current_message_info () |
CamelMessageInfo * | camel_folder_search_get_current_message_info () |
GPtrArray * | camel_folder_search_get_current_summary () |
void | camel_folder_search_set_folder () |
CamelFolder * | camel_folder_search_get_folder () |
void | camel_folder_search_set_summary () |
GPtrArray * | camel_folder_search_get_summary () |
gboolean | camel_folder_search_get_summary_empty () |
void | camel_folder_search_set_body_index () |
GPtrArray * | camel_folder_search_search () |
guint32 | camel_folder_search_count () |
void | camel_folder_search_free_result () |
time_t | camel_folder_search_util_add_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.
void camel_folder_search_set_only_cached_messages (CamelFolderSearch *search
,gboolean only_cached_messages
);
Sets whether only locally cached messages can be searched. The default
value is FALSE
, which means that when a message is required and it is
not available locally, then it is downloaded from the server, if possible.
Since: 3.24
gboolean
camel_folder_search_get_only_cached_messages
(CamelFolderSearch *search
);
Whether only cached messages can be searched. See
camel_folder_search_set_only_cached_messages()
for more
information what it means.
Since: 3.24
void camel_folder_search_set_current_message_info (CamelFolderSearch *search
,CamelMessageInfo *info
);
Sets, or unsets, the info
as the currently processing CamelMessageInfo.
The function adds its own reference to info
, if not NULL
.
Since: 3.24
void camel_folder_search_take_current_message_info (CamelFolderSearch *search
,CamelMessageInfo *info
);
Sets, or unsets, the info
as the currently processing CamelMessageInfo.
Unlike camel_folder_search_set_current_message_info()
, this function
assumes ownership of the info
, if not NULL
.
Since: 3.24
CamelMessageInfo *
camel_folder_search_get_current_message_info
(CamelFolderSearch *search
);
Since: 3.24
GPtrArray *
camel_folder_search_get_current_summary
(CamelFolderSearch *search
);
the current summary, and array of message info UID-s to use.
[transfer none][element-type utf8]
Since: 3.24
void camel_folder_search_set_folder (CamelFolderSearch *search
,CamelFolder *folder
);
Set the folder attribute of the search. This can be used to perform a slow-search when indexes and so forth are not available. Or for use by subclasses.
CamelFolder *
camel_folder_search_get_folder (CamelFolderSearch *search
);
Since: 3.24
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.
GPtrArray *
camel_folder_search_get_summary (CamelFolderSearch *search
);
A summary of UID-s of CamelMessageInfo
previously set by camel_folder_search_set_summary()
.
[element-type utf8][transfer none]
Since: 3.24
gboolean
camel_folder_search_get_summary_empty (CamelFolderSearch *search
);
Whether the summary (as returned by camel_folder_search_get_summary()
) is empty.
It returns FALSE
when the summary is set and contains at least one item.
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.
search |
a CamelFolderSearch |
|
expr |
a search expression to run |
|
uids |
to search against, NULL for all uid's. |
[element-type utf8] |
cancellable |
a GCancellable |
|
error |
return location for a GError, or |
a GPtrArray with matching UIDs,
or NULL
on error. Use camel_folder_search_free_result()
to free it when
no longer needed.
[element-type utf8][transfer full]
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.
search |
a CamelFolderSearch |
|
expr |
a search expression to run |
|
cancellable |
a GCancellable |
|
error |
return location for a GError, or |
Since: 2.26
void camel_folder_search_free_result (CamelFolderSearch *search
,GPtrArray *result
);
Frees result of camel_folder_search_search()
call.
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).
Since: 3.2