X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-search.h;h=c35c3641c5b7605169d866db3e2c35d97f8815d2;hp=0d1999f99559534122baa2d7940179754f2fa7ec;hb=fc741ebc372d1c8d4756641b96cb7cc37f986e47;hpb=c54f913127366ba67440b99cfb1b1f6a4c60a94c diff --git a/src/modest-search.h b/src/modest-search.h index 0d1999f..c35c364 100644 --- a/src/modest-search.h +++ b/src/modest-search.h @@ -59,27 +59,42 @@ typedef enum { } ModestSearchFlags; typedef struct { - const gchar *folder; /* The folder to search in */ + gchar *msgid; /* E.g. the URI of the message. */ + gchar *subject; + gchar *folder; /* The name, not the URI. */ + gchar *sender; + guint64 msize; + gboolean has_attachment; + gboolean is_unread; + gint64 timestamp; +} ModestSearchResultHit; + +typedef struct { + gchar *folder; /* The folder to search in */ /* Text to search for in various parts: */ - const gchar *subject; - const gchar *from; - const gchar *recipient; - const gchar *body; + gchar *subject; + gchar *from; + gchar *recipient; + gchar *body; /* Other criteria: */ - time_t before, after; + time_t start_date, end_date; guint32 minsize; ModestSearchFlags flags; #ifdef MODEST_HAVE_OGS - const gchar *query; /* The text to search for. */ + gchar *query; /* The text to search for. */ OgsTextSearcher *text_searcher; #endif } ModestSearch; -GList * modest_search_folder (TnyFolder *folder, ModestSearch *search); -GList * modest_search_all_accounts (ModestSearch *search); -GList * modest_search_account (TnyAccount *account, ModestSearch *search); +typedef void (*ModestSearchCallback) (GList *hits, gpointer user_data); + +void modest_search_folder (TnyFolder *folder, ModestSearch *search, ModestSearchCallback callback, gpointer user_data); +void modest_search_all_accounts (ModestSearch *search, ModestSearchCallback callback, gpointer user_data); +void modest_search_account (TnyAccount *account, ModestSearch *search, ModestSearchCallback callback, gpointer user_data); +void modest_search_free (ModestSearch *search); + G_END_DECLS #endif