aboutsummaryrefslogtreecommitdiffhomepage
path: root/notmuch-private.h
diff options
context:
space:
mode:
authorGravatar Carl Worth <cworth@cworth.org>2009-10-21 15:53:38 -0700
committerGravatar Carl Worth <cworth@cworth.org>2009-10-21 15:56:33 -0700
commitdefd216487bb6549d6e866fe578d2c3d3de77fd6 (patch)
tree6a24e3ecf499f806042eb49eea7a195053f6e24c /notmuch-private.h
parent0bbfa570147d2f0aa9d7e2afa1109526efdb353f (diff)
Add notmuch_message_add_tag and notmuch_message_remove_tag
With these two added, we now have enough functionality in the library to implement "notmuch restore".
Diffstat (limited to 'notmuch-private.h')
-rw-r--r--notmuch-private.h30
1 files changed, 29 insertions, 1 deletions
diff --git a/notmuch-private.h b/notmuch-private.h
index 7cd003f8..bb3f62c1 100644
--- a/notmuch-private.h
+++ b/notmuch-private.h
@@ -81,6 +81,20 @@ typedef enum {
* programmatically. */
#define NOTMUCH_TERM_MAX 245
+typedef enum _notmuch_private_status {
+ /* First, copy all the public status values. */
+ NOTMUCH_PRIVATE_STATUS_SUCCESS = NOTMUCH_STATUS_SUCCESS,
+ NOTMUCH_PRIVATE_STATUS_XAPIAN_EXCEPTION = NOTMUCH_STATUS_XAPIAN_EXCEPTION,
+ NOTMUCH_PRIVATE_STATUS_FILE_NOT_EMAIL = NOTMUCH_STATUS_FILE_NOT_EMAIL,
+ NOTMUCH_PRIVATE_STATUS_NULL_POINTER = NOTMUCH_STATUS_NULL_POINTER,
+ NOTMUCH_PRIVATE_STATUS_TAG_TOO_LONG = NOTMUCH_STATUS_TAG_TOO_LONG,
+
+ /* Then add our own private values. */
+ NOTMUCH_PRIVATE_STATUS_TERM_TOO_LONG,
+
+ NOTMUCH_PRIVATE_STATUS_LAST_STATUS
+} notmuch_private_status_t;
+
/* message.cc */
notmuch_message_t *
@@ -88,10 +102,24 @@ _notmuch_message_create (const void *talloc_owner,
notmuch_database_t *notmuch,
unsigned int doc_id);
-/* Lookup a prefix value by name. */
+/* Lookup a prefix value by name.
+ *
+ * XXX: This should really be static inside of message.cc, and we can
+ * do that once we convert database.cc to use the
+ * _notmuch_message_add/remove_term functions. */
const char *
_find_prefix (const char *name);
+notmuch_private_status_t
+_notmuch_message_add_term (notmuch_message_t *message,
+ const char *prefix_name,
+ const char *value);
+
+notmuch_private_status_t
+_notmuch_message_remove_term (notmuch_message_t *message,
+ const char *prefix_name,
+ const char *value);
+
/* message-file.c */
/* XXX: I haven't decided yet whether these will actually get exported