CamelFolderSearch

CamelFolderSearch

Functions

Types and Values

Object Hierarchy

    GObject
    ╰── CamelObject
        ╰── CamelFolderSearch

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


camel_folder_search_construct ()

void
camel_folder_search_construct (CamelFolderSearch *search);

camel_folder_search_set_folder ()

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.

Parameters

folder

A folder.

 

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

summary

An array of CamelMessageInfo pointers.

 

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.


camel_folder_search_execute_expression ()

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

Parameters

error

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.


camel_folder_search_search ()

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.

Parameters

uids

to search against, NULL for all uid's.

 

error

return location for a GError, or NULL

 

Returns


camel_folder_search_count ()

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.

Parameters

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 *Param2);

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

struct CamelFolderSearch

struct CamelFolderSearch;