diff options
author | Carl Worth <cworth@cworth.org> | 2009-10-21 15:53:38 -0700 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2009-10-21 15:56:33 -0700 |
commit | defd216487bb6549d6e866fe578d2c3d3de77fd6 (patch) | |
tree | 6a24e3ecf499f806042eb49eea7a195053f6e24c /notmuch.h | |
parent | 0bbfa570147d2f0aa9d7e2afa1109526efdb353f (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.h')
-rw-r--r-- | notmuch.h | 45 |
1 files changed, 44 insertions, 1 deletions
@@ -53,11 +53,23 @@ typedef int notmuch_bool_t; * * NOTMUCH_STATUS_FILE_NOT_EMAIL: A file was presented that doesn't * appear to be an email message. + * + * NOTMUCH_STATUS_NULL_POINTER: The user erroneously passed a NULL + * pointer to a notmuch function. + * + * NOTMUCH_STATUS_TAG_TOO_LONG: A tag value is too long. + * + * NOTMUCH_STATUS_LAST_STATUS: Not an actual status value. Just a way + * to find out how many valid status values there are. */ typedef enum _notmuch_status { NOTMUCH_STATUS_SUCCESS = 0, NOTMUCH_STATUS_XAPIAN_EXCEPTION, - NOTMUCH_STATUS_FILE_NOT_EMAIL + NOTMUCH_STATUS_FILE_NOT_EMAIL, + NOTMUCH_STATUS_NULL_POINTER, + NOTMUCH_STATUS_TAG_TOO_LONG, + + NOTMUCH_STATUS_LAST_STATUS } notmuch_status_t; /* Various opaque data types. For each notmuch_<foo>_t see the various @@ -376,6 +388,37 @@ notmuch_message_get_tags (notmuch_message_t *message); notmuch_thread_ids_t * notmuch_message_get_thread_ids (notmuch_message_t *message); +/* The longest possible tag value. */ +#define NOTMUCH_TAG_MAX 200 + +/* Add a tag to the given message. + * + * Return value: + * + * NOTMUCH_STATUS_SUCCESS: Tag successfully added to message + * + * NOTMUCH_STATUS_NULL_POINTER: The 'tag' argument is NULL + * + * NOTMUCH_STATUS_TAG_TOO_LONG: The length of 'tag' is longer than + * too long (exceeds NOTMUCH_TAG_MAX) + */ +notmuch_status_t +notmuch_message_add_tag (notmuch_message_t *message, const char *tag); + +/* Remove a tag from the given message. + * + * Return value: + * + * NOTMUCH_STATUS_SUCCESS: Tag successfully added to message + * + * NOTMUCH_STATUS_NULL_POINTER: The 'tag' argument is NULL + * + * NOTMUCH_STATUS_TAG_TOO_LONG: The length of 'tag' is longer than + * too long (exceeds NOTMUCH_TAG_MAX) + */ +notmuch_status_t +notmuch_message_remove_tag (notmuch_message_t *message, const char *tag); + /* Destroy a notmuch_message_t object. * * It can be useful to call this function in the case of a single |