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
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
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