]> git.notmuchmail.org Git - notmuch/blobdiff - message.cc
notmuch.el: Add 't' binding to filter results to a specific tag.
[notmuch] / message.cc
index dfd55d596e21af0cac4d79416f9029644a5f4d75..a7a0cb52eeec99f34d867d264bb5d42619ddfe31 100644 (file)
@@ -21,6 +21,8 @@
 #include "notmuch-private.h"
 #include "database-private.h"
 
+#include <gmime/gmime.h>
+
 #include <xapian.h>
 
 struct _notmuch_message {
@@ -257,16 +259,6 @@ notmuch_message_get_header (notmuch_message_t *message, const char *header)
     return notmuch_message_file_get_header (message->message_file, header);
 }
 
-const char *
-notmuch_message_get_all_headers (notmuch_message_t *message)
-{
-    _notmuch_message_ensure_message_file (message);
-    if (message->message_file == NULL)
-       return NULL;
-
-    return notmuch_message_file_get_all_headers (message->message_file);
-}
-
 const char *
 notmuch_message_get_thread_id (notmuch_message_t *message)
 {
@@ -359,6 +351,21 @@ notmuch_message_get_filename (notmuch_message_t *message)
     return message->filename;
 }
 
+time_t
+notmuch_message_get_date (notmuch_message_t *message)
+{
+    std::string value;
+
+    try {
+       value = message->doc.get_value (NOTMUCH_VALUE_TIMESTAMP);
+    } catch (Xapian::Error &error) {
+       INTERNAL_ERROR ("Failed to read timestamp value from document.");
+       return 0;
+    }
+
+    return Xapian::sortable_unserialise (value);
+}
+
 notmuch_tags_t *
 notmuch_message_get_tags (notmuch_message_t *message)
 {
@@ -402,7 +409,7 @@ _notmuch_message_set_date (notmuch_message_t *message,
 {
     time_t time_value;
 
-    time_value = notmuch_parse_date (date, NULL);
+    time_value = g_mime_utils_header_decode_date (date, NULL);
 
     message->doc.add_value (NOTMUCH_VALUE_TIMESTAMP,
                            Xapian::sortable_serialise (time_value));