]> git.notmuchmail.org Git - notmuch/blobdiff - notmuch-private.h
Add internal functions for manipulating a new notmuch_message_t
[notmuch] / notmuch-private.h
index bb3f62c1aa32e5eadf05c216de14a55e94d54284..8060254d59a295c5c7360d58c7eb0738a679dc4b 100644 (file)
@@ -102,6 +102,18 @@ _notmuch_message_create (const void *talloc_owner,
                         notmuch_database_t *notmuch,
                         unsigned int doc_id);
 
+/* XXX: Here temporarily during code movement only. */
+/* "128 bits of thread-id ought to be enough for anybody" */
+#define NOTMUCH_THREAD_ID_BITS  128
+#define NOTMUCH_THREAD_ID_DIGITS (NOTMUCH_THREAD_ID_BITS / 4)
+typedef struct _thread_id {
+    char str[NOTMUCH_THREAD_ID_DIGITS + 1];
+} thread_id_t;
+
+
+void
+thread_id_generate (thread_id_t *thread_id);
+
 /* Lookup a prefix value by name.
  *
  * XXX: This should really be static inside of message.cc, and we can
@@ -120,6 +132,24 @@ _notmuch_message_remove_term (notmuch_message_t *message,
                              const char *prefix_name,
                              const char *value);
 
+void
+_notmuch_message_set_filename (notmuch_message_t *message,
+                              const char *filename);
+
+void
+_notmuch_message_add_thread_id (notmuch_message_t *message,
+                               const char *thread_id);
+
+void
+_notmuch_message_ensure_thread_id (notmuch_message_t *message);
+
+void
+_notmuch_message_set_date (notmuch_message_t *message,
+                          const char *date);
+
+void
+_notmuch_message_sync (notmuch_message_t *message);
+
 /* message-file.c */
 
 /* XXX: I haven't decided yet whether these will actually get exported
@@ -192,6 +222,20 @@ notmuch_message_file_get_header (notmuch_message_file_t *message,
 time_t
 notmuch_parse_date (const char *str, int *tz_offset);
 
+/* sha1.c */
+
+/* Create a hexadecimal string version of the SHA-1 digest of the
+ * named file.
+ *
+ * This function returns a newly allocated string which the caller
+ * should free() when finished.
+ *
+ * If any error occurs while reading the file, (permission denied,
+ * file not found, etc.), this function returns NULL.
+ */
+char *
+notmuch_sha1_of_file (const char *filename);
+
 NOTMUCH_END_DECLS
 
 #endif