X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=lib%2Fnotmuch.h;h=bbeec559f0f8fdd95018d57c21f2330f6fcebd1d;hp=32b5332815837f8be6b7d22c2ff53cff114a4491;hb=637f99d8f3f45867d0a856503f9f302333824c07;hpb=933caf814fcbbb7420d03ef42bb37bea6dd90449 diff --git a/lib/notmuch.h b/lib/notmuch.h index 32b53328..bbeec559 100644 --- a/lib/notmuch.h +++ b/lib/notmuch.h @@ -86,6 +86,7 @@ typedef int notmuch_bool_t; typedef enum _notmuch_status { NOTMUCH_STATUS_SUCCESS = 0, NOTMUCH_STATUS_OUT_OF_MEMORY, + NOTMUCH_STATUS_READONLY_DATABASE, NOTMUCH_STATUS_XAPIAN_EXCEPTION, NOTMUCH_STATUS_FILE_ERROR, NOTMUCH_STATUS_FILE_NOT_EMAIL, @@ -136,6 +137,11 @@ typedef struct _notmuch_tags notmuch_tags_t; notmuch_database_t * notmuch_database_create (const char *path); +typedef enum { + NOTMUCH_DATABASE_MODE_READ_ONLY = 0, + NOTMUCH_DATABASE_MODE_READ_Write +} notmuch_database_mode_t; + /* XXX: I think I'd like this to take an extra argument of * notmuch_status_t* for returning a status value on failure. */ @@ -143,7 +149,9 @@ notmuch_database_create (const char *path); * * The database should have been created at some time in the past, * (not necessarily by this process), by calling - * notmuch_database_create with 'path'. + * notmuch_database_create with 'path'. By default the database should be + * opened for reading only. In order to write to the database you need to + * pass the NOTMUCH_DATABASE_MODE_WRITABLE mode. * * An existing notmuch database can be identified by the presence of a * directory named ".notmuch" below 'path'. @@ -155,7 +163,8 @@ notmuch_database_create (const char *path); * an error message on stderr). */ notmuch_database_t * -notmuch_database_open (const char *path); +notmuch_database_open (const char *path, + notmuch_database_mode_t mode); /* Close the given notmuch database, freeing all associated * resources. See notmuch_database_open. */ @@ -222,7 +231,7 @@ notmuch_database_get_timestamp (notmuch_database_t *database, /* Add a new message to the given notmuch database. * - * Here,'filename' should be a path relative to the the path of + * Here,'filename' should be a path relative to the path of * 'database' (see notmuch_database_get_path), or else should be an * absolute filename with initial components that match the path of * 'database'. @@ -258,7 +267,7 @@ notmuch_database_add_message (notmuch_database_t *database, const char *filename, notmuch_message_t **message); -/* Find a message with the given messsage_id. +/* Find a message with the given message_id. * * If the database contains a message with the given message_id, then * a new notmuch_message_t object is returned. The caller should call @@ -299,8 +308,8 @@ notmuch_query_create (notmuch_database_t *database, /* Sort values for notmuch_query_set_sort */ typedef enum { - NOTMUCH_SORT_DATE, - NOTMUCH_SORT_DATE_REVERSE, + NOTMUCH_SORT_OLDEST_FIRST, + NOTMUCH_SORT_NEWEST_FIRST, NOTMUCH_SORT_MESSAGE_ID } notmuch_sort_t; @@ -620,7 +629,7 @@ notmuch_messages_advance (notmuch_messages_t *messages); /* Destroy a notmuch_messages_t object. * * It's not strictly necessary to call this function. All memory from - * the notmuch_messages_t object will be reclaimed when the containg + * the notmuch_messages_t object will be reclaimed when the containing * query object is destroyed. */ void @@ -865,7 +874,7 @@ notmuch_tags_has_more (notmuch_tags_t *tags); /* Get the current tag from 'tags' as a string. * * Note: The returned string belongs to 'tags' and has a lifetime - * identical to it (and the query to which it utlimately belongs). + * identical to it (and the query to which it ultimately belongs). * * See the documentation of notmuch_message_get_tags for example code * showing how to iterate over a notmuch_tags_t object. @@ -884,7 +893,7 @@ notmuch_tags_advance (notmuch_tags_t *tags); /* Destroy a notmuch_tags_t object. * * It's not strictly necessary to call this function. All memory from - * the notmuch_tags_t object will be reclaimed when the containg + * the notmuch_tags_t object will be reclaimed when the containing * message or query objects are destroyed. */ void