CamelFolderSearch

CamelFolderSearch

Functions

Description

Functions

camel_folder_search_new ()

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 intstance.

[transfer full]


camel_folder_search_set_only_cached_messages ()

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.

Parameters

search

a CamelFolderSearch

 

only_cached_messages

a value to set

 

Since: 3.24


camel_folder_search_get_only_cached_messages ()

gboolean
camel_folder_search_get_only_cached_messages
                               (CamelFolderSearch *search);

Parameters

search

a CamelFolderSearch

 

Returns

Whether only cached messages can be searched. See camel_folder_search_set_only_cached_messages() for more information what it means.

Since: 3.24


camel_folder_search_set_current_message_info ()

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.

Parameters

search

a CamelFolderSearch

 

info

a CamelMessageInfo.

[nullable]

Since: 3.24


camel_folder_search_take_current_message_info ()

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.

Parameters

search

a CamelFolderSearch

 

info

a CamelMessageInfo.

[nullable]

Since: 3.24


camel_folder_search_get_current_message_info ()

CamelMessageInfo *
camel_folder_search_get_current_message_info
                               (CamelFolderSearch *search);

Parameters

search

a CamelFolderSearch

 

Returns

the currently processing CamelMessageInfo.

[nullable][transfer none]

Since: 3.24


camel_folder_search_get_current_summary ()

GPtrArray *
camel_folder_search_get_current_summary
                               (CamelFolderSearch *search);

Parameters

search

a CamelFolderSearch

 

Returns

the current summary, and array of message info UID-s to use.

[transfer none][element-type utf8]

Since: 3.24


camel_folder_search_set_folder ()

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.

Parameters

search

a CamelFolderSearch

 

folder

a CamelFolder

 

camel_folder_search_get_folder ()

CamelFolder *
camel_folder_search_get_folder (CamelFolderSearch *search);

Parameters

search

a CamelFolderSearch

 

Returns

a CamelFolder for which the search is currently running.

[transfer none]

Since: 3.24


camel_folder_search_set_summary ()

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.

Parameters

search

a CamelFolderSearch

 

summary

An array of UID-s of CamelMessageInfo.

[element-type utf8]

camel_folder_search_get_summary ()

GPtrArray *
camel_folder_search_get_summary (CamelFolderSearch *search);

Parameters

search

a CamelFolderSearch

 

Returns

A summary of UID-s of CamelMessageInfo previously set by camel_folder_search_set_summary().

[element-type utf8][transfer none]

Since: 3.24


camel_folder_search_get_summary_empty ()

gboolean
camel_folder_search_get_summary_empty (CamelFolderSearch *search);

Parameters

search

a CamelFolderSearch

 

Returns

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.


camel_folder_search_set_body_index ()

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.

Parameters

search

a CamelFolderSearch

 

body_index

a CamelIndex.

[nullable]

camel_folder_search_search ()

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.

Parameters

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 NULL

 

Returns

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]


camel_folder_search_count ()

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.

Parameters

search

a CamelFolderSearch

 

expr

a search expression to run

 

cancellable

a GCancellable

 

error

return location for a GError, or NULL

 

Returns

Number of messages that match the query.

Since: 2.26


camel_folder_search_free_result ()

void
camel_folder_search_free_result (CamelFolderSearch *search,
                                 GPtrArray *result);

Frees result of camel_folder_search_search() call.

Parameters

search

a CamelFolderSearch

 

result

a result to free.

[element-type utf8][nullable]

camel_folder_search_util_add_months ()

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).

Parameters

t

Initial time

 

months

number of months to add or subtract

 

Returns

a new time_t value

Since: 3.2

Types and Values