X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=lib%2Fnotmuch.h;h=9dab555fdc1eb86f119028337ce4e46f960850e3;hp=73c85a41816c6386ad97d0f347ec6d06bafc0f71;hb=fd733a4f5c41948b895e37daf9bc0912f695ae59;hpb=d29d7e1ee25059c657412d5b045650f1e3e1533f diff --git a/lib/notmuch.h b/lib/notmuch.h index 73c85a41..9dab555f 100644 --- a/lib/notmuch.h +++ b/lib/notmuch.h @@ -101,6 +101,7 @@ typedef enum _notmuch_status { NOTMUCH_STATUS_TAG_TOO_LONG, NOTMUCH_STATUS_UNBALANCED_FREEZE_THAW, NOTMUCH_STATUS_UNBALANCED_ATOMIC, + NOTMUCH_STATUS_UNSUPPORTED_OPERATION, NOTMUCH_STATUS_LAST_STATUS } notmuch_status_t; @@ -215,8 +216,26 @@ notmuch_database_open (const char *path, void notmuch_database_close (notmuch_database_t *database); +/* A callback invoked by notmuch_database_compact to notify the user + * of the progress of the compaction process. + */ +typedef void (*notmuch_compact_status_cb_t)(const char*); + +/* Compact a notmuch database, backing up the original database to the + * given path. + * + * The database will be opened with NOTMUCH_DATABASE_MODE_READ_WRITE + * during the compaction process to ensure no writes are made. + * + */ +notmuch_status_t +notmuch_database_compact (const char* path, + const char* backup_path, + notmuch_compact_status_cb_t status_cb); + /* Destroy the notmuch database, closing it if necessary and freeing -* all associated resources. */ + * all associated resources. + */ void notmuch_database_destroy (notmuch_database_t *database); @@ -767,7 +786,7 @@ notmuch_thread_get_messages (notmuch_thread_t *thread); int notmuch_thread_get_matched_messages (notmuch_thread_t *thread); -/* Get the authors of 'thread' +/* Get the authors of 'thread' as a UTF-8 string. * * The returned string is a comma-separated list of the names of the * authors of mail messages in the query results that belong to this @@ -781,7 +800,7 @@ notmuch_thread_get_matched_messages (notmuch_thread_t *thread); const char * notmuch_thread_get_authors (notmuch_thread_t *thread); -/* Get the subject of 'thread' +/* Get the subject of 'thread' as a UTF-8 string. * * The subject is taken from the first message (according to the query * order---see notmuch_query_set_sort) in the query results that @@ -1013,10 +1032,13 @@ notmuch_message_set_flag (notmuch_message_t *message, time_t notmuch_message_get_date (notmuch_message_t *message); -/* Get the value of the specified header from 'message'. +/* Get the value of the specified header from 'message' as a UTF-8 string. + * + * Common headers are stored in the database when the message is + * indexed and will be returned from the database. Other headers will + * be read from the actual message file. * - * The value will be read from the actual message file, not from the - * notmuch database. The header name is case insensitive. + * The header name is case insensitive. * * The returned string belongs to the message so should not be * modified or freed by the caller (nor should it be referenced after