X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;ds=sidebyside;f=lib%2Fnotmuch-private.h;h=bfb41116adcff104edadf639cd95513b225289bb;hb=3e5fb88f11359b0c3d43eb06f105ef42e63d31b5;hp=3886e0ca0c86475e242ca6a7adf61b6b91c2d74e;hpb=de0557477d908be26615e8fda9f5eb62bed68b65;p=notmuch diff --git a/lib/notmuch-private.h b/lib/notmuch-private.h index 3886e0ca..bfb41116 100644 --- a/lib/notmuch-private.h +++ b/lib/notmuch-private.h @@ -146,6 +146,16 @@ typedef enum _notmuch_private_status { : \ (notmuch_status_t) private_status) +/* Flags shared by various lookup functions. */ +typedef enum _notmuch_find_flags { + /* Lookup without creating any documents. This is the default + * behavior. */ + NOTMUCH_FIND_LOOKUP = 0, + /* If set, create the necessary document (or documents) if they + * are missing. Requires a read/write database. */ + NOTMUCH_FIND_CREATE = 1<<0, +} notmuch_find_flags_t; + typedef struct _notmuch_doc_id_set notmuch_doc_id_set_t; typedef struct _notmuch_string_list notmuch_string_list_t; @@ -188,6 +198,7 @@ _notmuch_database_find_unique_doc_id (notmuch_database_t *notmuch, notmuch_status_t _notmuch_database_find_directory_id (notmuch_database_t *database, const char *path, + notmuch_find_flags_t flags, unsigned int *directory_id); const char * @@ -199,6 +210,7 @@ notmuch_status_t _notmuch_database_filename_to_direntry (void *ctx, notmuch_database_t *notmuch, const char *filename, + notmuch_find_flags_t flags, char **direntry); /* directory.cc */ @@ -206,6 +218,7 @@ _notmuch_database_filename_to_direntry (void *ctx, notmuch_directory_t * _notmuch_directory_create (notmuch_database_t *notmuch, const char *path, + notmuch_find_flags_t flags, notmuch_status_t *status_ret); unsigned int