X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=lib%2Fnotmuch-private.h;h=2f5ccd6ae0c37abdeb4520dcfe4683e437b5cba6;hb=1b2ec7578e7dd442bd76d620564553aaa70e9e9b;hp=9bdb68ab167d63b478b5e1c9963b4d688071cd2e;hpb=8de94981677e57343b7b2dfc9e1036730ce708fc;p=notmuch diff --git a/lib/notmuch-private.h b/lib/notmuch-private.h index 9bdb68ab..2f5ccd6a 100644 --- a/lib/notmuch-private.h +++ b/lib/notmuch-private.h @@ -53,6 +53,7 @@ NOTMUCH_BEGIN_DECLS #include "error_util.h" #include "string-util.h" #include "crypto.h" +#include "repair.h" #ifdef DEBUG # define DEBUG_DATABASE_SANITY 1 @@ -75,7 +76,7 @@ NOTMUCH_BEGIN_DECLS #define NOTMUCH_CLEAR_BIT(valp, bit) \ (_NOTMUCH_VALID_BIT (bit) ? (*(valp) &= ~(1ull << (bit))) : *(valp)) -#define unused(x) x __attribute__ ((unused)) +#define unused(x) x ## _unused __attribute__ ((unused)) /* Thanks to Andrew Tridgell's (SAMBA's) talloc for this definition of * unlikely. The talloc source code comes to us via the GNU LGPL v. 3. @@ -128,10 +129,22 @@ typedef enum _notmuch_private_status { NOTMUCH_PRIVATE_STATUS_OUT_OF_MEMORY = NOTMUCH_STATUS_OUT_OF_MEMORY, NOTMUCH_PRIVATE_STATUS_READ_ONLY_DATABASE = NOTMUCH_STATUS_READ_ONLY_DATABASE, NOTMUCH_PRIVATE_STATUS_XAPIAN_EXCEPTION = NOTMUCH_STATUS_XAPIAN_EXCEPTION, + NOTMUCH_PRIVATE_STATUS_FILE_ERROR = NOTMUCH_STATUS_FILE_ERROR, 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, NOTMUCH_PRIVATE_STATUS_UNBALANCED_FREEZE_THAW = NOTMUCH_STATUS_UNBALANCED_FREEZE_THAW, + NOTMUCH_PRIVATE_STATUS_UNBALANCED_ATOMIC = NOTMUCH_STATUS_UNBALANCED_ATOMIC, + NOTMUCH_PRIVATE_STATUS_UNSUPPORTED_OPERATION = NOTMUCH_STATUS_UNSUPPORTED_OPERATION, + NOTMUCH_PRIVATE_STATUS_UPGRADE_REQUIRED = NOTMUCH_STATUS_UPGRADE_REQUIRED, + NOTMUCH_PRIVATE_STATUS_PATH_ERROR = NOTMUCH_STATUS_PATH_ERROR, + NOTMUCH_PRIVATE_STATUS_IGNORED = NOTMUCH_STATUS_IGNORED, + NOTMUCH_PRIVATE_STATUS_ILLEGAL_ARGUMENT = NOTMUCH_STATUS_ILLEGAL_ARGUMENT, + NOTMUCH_PRIVATE_STATUS_MALFORMED_CRYPTO_PROTOCOL = NOTMUCH_STATUS_MALFORMED_CRYPTO_PROTOCOL, + NOTMUCH_PRIVATE_STATUS_FAILED_CRYPTO_CONTEXT_CREATION = NOTMUCH_STATUS_FAILED_CRYPTO_CONTEXT_CREATION, + NOTMUCH_PRIVATE_STATUS_UNKNOWN_CRYPTO_PROTOCOL = NOTMUCH_STATUS_UNKNOWN_CRYPTO_PROTOCOL, + NOTMUCH_PRIVATE_STATUS_NO_CONFIG = NOTMUCH_STATUS_NO_CONFIG, + NOTMUCH_PRIVATE_STATUS_DATABASE_EXISTS = NOTMUCH_STATUS_DATABASE_EXISTS, /* Then add our own private values. */ NOTMUCH_PRIVATE_STATUS_TERM_TOO_LONG = NOTMUCH_STATUS_LAST_STATUS, @@ -250,14 +263,17 @@ _notmuch_database_filename_to_direntry (void *ctx, /* directory.cc */ notmuch_directory_t * -_notmuch_directory_create (notmuch_database_t *notmuch, - const char *path, - notmuch_find_flags_t flags, - notmuch_status_t *status_ret); +_notmuch_directory_find_or_create (notmuch_database_t *notmuch, + const char *path, + notmuch_find_flags_t flags, + notmuch_status_t *status_ret); unsigned int _notmuch_directory_get_document_id (notmuch_directory_t *directory); +notmuch_database_mode_t +_notmuch_database_mode (notmuch_database_t *notmuch); + /* message.cc */ notmuch_message_t * @@ -634,6 +650,11 @@ _notmuch_string_map_append (notmuch_string_map_t *map, const char *key, const char *value); +void +_notmuch_string_map_set (notmuch_string_map_t *map, + const char *key, + const char *value); + const char * _notmuch_string_map_get (notmuch_string_map_t *map, const char *key); @@ -695,6 +716,19 @@ struct _notmuch_indexopts { #define EMPTY_STRING(s) ((s)[0] == '\0') +/* config.cc */ +notmuch_status_t +_notmuch_config_load_from_database (notmuch_database_t * db); + +notmuch_status_t +_notmuch_config_load_from_file (notmuch_database_t * db, GKeyFile *file); + +notmuch_status_t +_notmuch_config_load_defaults (notmuch_database_t * db); + +void +_notmuch_config_cache (notmuch_database_t *db, notmuch_config_key_t key, const char* val); + NOTMUCH_END_DECLS #ifdef __cplusplus