X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=lib%2Fnotmuch.h;h=9b5046b423c43963882d7af3c3cfb043786033e9;hp=dae041640fdb2abb9d0a53e4d69540d2bdbf6054;hb=7e2d0ef10588b37922a6b48ca18005ce51bc0669;hpb=ce44657c9e4919b1e4bbbbbe37dbd72257d40736 diff --git a/lib/notmuch.h b/lib/notmuch.h index dae04164..9b5046b4 100644 --- a/lib/notmuch.h +++ b/lib/notmuch.h @@ -55,10 +55,12 @@ NOTMUCH_BEGIN_DECLS * The library version number. This must agree with the soname * version in Makefile.local. */ -#define LIBNOTMUCH_MAJOR_VERSION 3 -#define LIBNOTMUCH_MINOR_VERSION 1 +#define LIBNOTMUCH_MAJOR_VERSION 4 +#define LIBNOTMUCH_MINOR_VERSION 2 #define LIBNOTMUCH_MICRO_VERSION 0 +#define NOTMUCH_DEPRECATED(major,minor) \ + __attribute__ ((deprecated ("function deprecated as of libnotmuch " #major "." #minor))) #endif /* __DOXYGEN__ */ /** @@ -163,6 +165,11 @@ typedef enum _notmuch_status { * The operation requires a database upgrade. */ NOTMUCH_STATUS_UPGRADE_REQUIRED, + /** + * There is a problem with the proposed path, e.g. a relative path + * passed to a function expecting an absolute path. + */ + NOTMUCH_STATUS_PATH_ERROR, /** * Not an actual status value. Just a way to find out how many * valid status values there are. @@ -229,6 +236,16 @@ typedef struct _notmuch_filenames notmuch_filenames_t; notmuch_status_t notmuch_database_create (const char *path, notmuch_database_t **database); +/** + * Like notmuch_database_create, except optionally return an error + * message. This message is allocated by malloc and should be freed by + * the caller. + */ +notmuch_status_t +notmuch_database_create_verbose (const char *path, + notmuch_database_t **database, + char **error_message); + /** * Database open mode for notmuch_database_open. */ @@ -279,6 +296,24 @@ notmuch_status_t notmuch_database_open (const char *path, notmuch_database_mode_t mode, notmuch_database_t **database); +/** + * Like notmuch_database_open, except optionally return an error + * message. This message is allocated by malloc and should be freed by + * the caller. + */ + +notmuch_status_t +notmuch_database_open_verbose (const char *path, + notmuch_database_mode_t mode, + notmuch_database_t **database, + char **error_message); + +/** + * Retrieve last status string for given database. + * + */ +const char * +notmuch_database_status_string (notmuch_database_t *notmuch); /** * Commit changes and close the given notmuch database. @@ -780,10 +815,18 @@ notmuch_query_add_tag_exclude (notmuch_query_t *query, const char *tag); * to call it if the query is about to be destroyed). * * If a Xapian exception occurs this function will return NULL. + * For better error reporting, use the _st variant. */ notmuch_threads_t * notmuch_query_search_threads (notmuch_query_t *query); +/** + * Like notmuch_query_search_threads, but with a status return. + */ +notmuch_status_t +notmuch_query_search_threads_st (notmuch_query_t *query, + notmuch_threads_t **out); + /** * Execute a query for messages, returning a notmuch_messages_t object * which can be used to iterate over the results. The returned @@ -822,10 +865,18 @@ notmuch_query_search_threads (notmuch_query_t *query); * reason to call it if the query is about to be destroyed). * * If a Xapian exception occurs this function will return NULL. + * For better error reporting, use the _st variant. */ notmuch_messages_t * notmuch_query_search_messages (notmuch_query_t *query); +/** + * Like notmuch_query_search_messages, but with a status return. + */ +notmuch_status_t +notmuch_query_search_messages_st (notmuch_query_t *query, + notmuch_messages_t **out); + /** * Destroy a notmuch_query_t along with any associated resources. * @@ -893,10 +944,10 @@ void notmuch_threads_destroy (notmuch_threads_t *threads); /** - * Return an estimate of the number of messages matching a search. + * Return the number of messages matching a search. * - * This function performs a search and returns Xapian's best - * guess as to number of matching messages. + * This function performs a search and returns the number of matching + * messages. * * If a Xapian exception occurs, this function may return 0 (after * printing a message). @@ -1221,7 +1272,14 @@ notmuch_message_get_filenames (notmuch_message_t *message); */ typedef enum _notmuch_message_flag { NOTMUCH_MESSAGE_FLAG_MATCH, - NOTMUCH_MESSAGE_FLAG_EXCLUDED + NOTMUCH_MESSAGE_FLAG_EXCLUDED, + + /* This message is a "ghost message", meaning it has no filenames + * or content, but we know it exists because it was referenced by + * some other message. A ghost message has only a message ID and + * thread ID. + */ + NOTMUCH_MESSAGE_FLAG_GHOST, } notmuch_message_flag_t; /**