X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=database.cc;h=041cffdc9afe49b01a2c54e86a87b88610d25b0d;hp=59e837360018a72aeff4195f21b0b3b724e75334;hb=466a7bbf620e4bf1b57097a6d3c474159c475b6d;hpb=5a84df0f1507753b1776636ad268d36b7346a8fd diff --git a/database.cc b/database.cc index 59e83736..041cffdc 100644 --- a/database.cc +++ b/database.cc @@ -18,7 +18,7 @@ * Author: Carl Worth */ -#include "notmuch-private.h" +#include "database-private.h" #include @@ -28,12 +28,6 @@ using namespace std; -struct _notmuch_database { - char *path; - Xapian::WritableDatabase *xapian_db; - Xapian::TermGenerator *term_gen; -}; - #define ARRAY_SIZE(arr) (sizeof (arr) / sizeof (arr[0])) /* Xapian complains if we provide a term longer than this. */ @@ -463,6 +457,7 @@ notmuch_database_open (const char *path) notmuch->path = xstrdup (path); try { + Xapian::PostingIterator i; notmuch->xapian_db = new Xapian::WritableDatabase (xapian_path, Xapian::DB_CREATE_OR_OPEN); } catch (const Xapian::Error &error) { @@ -501,7 +496,7 @@ notmuch_database_add_message (notmuch_database_t *notmuch, { Xapian::WritableDatabase *db = notmuch->xapian_db; Xapian::Document doc; - notmuch_message_t *message; + notmuch_message_file_t *message; GPtrArray *parents, *thread_ids; @@ -512,16 +507,16 @@ notmuch_database_add_message (notmuch_database_t *notmuch, time_t time_value; unsigned int i; - message = notmuch_message_open (filename); + message = notmuch_message_file_open (filename); - notmuch_message_restrict_headers (message, - "date", - "from", - "in-reply-to", - "message-id", - "references", - "subject", - (char *) NULL); + notmuch_message_file_restrict_headers (message, + "date", + "from", + "in-reply-to", + "message-id", + "references", + "subject", + (char *) NULL); try { doc = Xapian::Document (); @@ -530,16 +525,16 @@ notmuch_database_add_message (notmuch_database_t *notmuch, parents = g_ptr_array_new (); - refs = notmuch_message_get_header (message, "references"); + refs = notmuch_message_file_get_header (message, "references"); parse_references (parents, refs); - in_reply_to = notmuch_message_get_header (message, "in-reply-to"); + in_reply_to = notmuch_message_file_get_header (message, "in-reply-to"); parse_references (parents, in_reply_to); for (i = 0; i < parents->len; i++) add_term (doc, "ref", (char *) g_ptr_array_index (parents, i)); - header = notmuch_message_get_header (message, "message-id"); + header = notmuch_message_file_get_header (message, "message-id"); if (header) { message_id = parse_message_id (header, NULL); /* So the header value isn't RFC-compliant, but it's @@ -592,21 +587,21 @@ notmuch_database_add_message (notmuch_database_t *notmuch, free (message_id); - date = notmuch_message_get_header (message, "date"); + date = notmuch_message_file_get_header (message, "date"); time_value = notmuch_parse_date (date, NULL); doc.add_value (NOTMUCH_VALUE_DATE, Xapian::sortable_serialise (time_value)); - from = notmuch_message_get_header (message, "from"); - subject = notmuch_message_get_header (message, "subject"); - to = notmuch_message_get_header (message, "to"); + from = notmuch_message_file_get_header (message, "from"); + subject = notmuch_message_file_get_header (message, "subject"); + to = notmuch_message_file_get_header (message, "to"); if (from == NULL && subject == NULL && to == NULL) { - notmuch_message_close (message); + notmuch_message_file_close (message); return NOTMUCH_STATUS_FILE_NOT_EMAIL; } else { db->add_document (doc); @@ -617,7 +612,7 @@ notmuch_database_add_message (notmuch_database_t *notmuch, return NOTMUCH_STATUS_XAPIAN_EXCEPTION; } - notmuch_message_close (message); + notmuch_message_file_close (message); return NOTMUCH_STATUS_SUCCESS; }