Do ignore empty recipients when checking names
[modest] / src / modest-search.h
index 0d1999f..c35c364 100644 (file)
@@ -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