2007-05-30 Christian Kellner <ckellner@openismus.com>
[modest] / src / modest-search.h
1 #ifndef MODEST_SEARCH_H
2 #define MODEST_SEARCH_H
3
4 #include <glib.h>
5 #include <tny-folder.h>
6
7 #ifdef HAVE_CONFIG_H
8 #include <config.h>
9 #endif
10
11 #ifdef MODEST_HAVE_OGS
12 #include <libogs/ogs-text-searcher.h>
13 #endif
14
15 G_BEGIN_DECLS
16
17 typedef enum {
18         MODEST_SEARCH_SUBJECT   = (1 << 0),
19         MODEST_SEARCH_SENDER    = (1 << 1),
20         MODEST_SEARCH_RECIPIENT = (1 << 2),
21         MODEST_SEARCH_SIZE      = (1 << 3),
22         MODEST_SEARCH_BEFORE    = (1 << 4),
23         MODEST_SEARCH_AFTER     = (1 << 5),
24         MODEST_SEARCH_BODY      = (1 << 6),
25         MODEST_SEARCH_USE_OGS   = (1 << 7),
26 } ModestSearchFlags;
27
28 typedef struct {
29         gchar *subject, *from, *recipient, *body;
30         time_t before, after;
31         guint minsize;
32         ModestSearchFlags flags;
33 #ifdef MODEST_HAVE_OGS
34         const gchar     *query;
35         OgsTextSearcher *text_searcher; 
36 #endif
37 } ModestSearch;
38
39 GList * modest_search (TnyFolder *folder, ModestSearch *search);
40
41 G_END_DECLS
42
43 #endif
44