X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;ds=sidebyside;f=lib%2Fnotmuch.h;h=7c3a30c1adb1fb90e299d99c6fba1161bab8d0a7;hb=6452ae0fcb0a2ee45a47144da71a6de9d8dace2c;hp=cd301a4f0c6b9bd31dc6c90d524fa7d4271a0686;hpb=180dba66e47a5257b2cdf2f1ceb59cc8fa5a69d4;p=notmuch diff --git a/lib/notmuch.h b/lib/notmuch.h index cd301a4f..7c3a30c1 100644 --- a/lib/notmuch.h +++ b/lib/notmuch.h @@ -41,6 +41,30 @@ NOTMUCH_BEGIN_DECLS #define TRUE 1 #endif +#define NOTMUCH_MAJOR_VERSION 0 +#define NOTMUCH_MINOR_VERSION 17 +#define NOTMUCH_MICRO_VERSION 0 + +/* + * Check the version of the notmuch library being compiled against. + * + * Return true if the library being compiled against is of the + * specified version or above. For example: + * + * #if NOTMUCH_CHECK_VERSION(0, 18, 0) + * (code requiring notmuch 0.18 or above) + * #endif + * + * NOTMUCH_CHECK_VERSION has been defined since version 0.17.0; you + * can use #if !defined(NOTMUCH_CHECK_VERSION) to check for versions + * prior to that. + */ +#define NOTMUCH_CHECK_VERSION (major, minor, micro) \ + (NOTMUCH_MAJOR_VERSION > (major) || \ + (NOTMUCH_MAJOR_VERSION == (major) && NOTMUCH_MINOR_VERSION > (minor)) || \ + (NOTMUCH_MAJOR_VERSION == (major) && NOTMUCH_MINOR_VERSION == (minor) && \ + NOTMUCH_MICRO_VERSION >= (micro))) + typedef int notmuch_bool_t; /* Status codes used for the return values of most functions. @@ -227,6 +251,9 @@ typedef void (*notmuch_compact_status_cb_t)(const char *message, void *closure); * The database will be opened with NOTMUCH_DATABASE_MODE_READ_WRITE * during the compaction process to ensure no writes are made. * + * If the optional callback function 'status_cb' is non-NULL, it will + * be called with diagnostic and informational messages. The argument + * 'closure' is passed verbatim to any callback invoked. */ notmuch_status_t notmuch_database_compact (const char* path, @@ -270,7 +297,8 @@ notmuch_database_needs_upgrade (notmuch_database_t *database); * provide progress indication to the user. If non-NULL it will be * called periodically with 'progress' as a floating-point value in * the range of [0.0 .. 1.0] indicating the progress made so far in - * the upgrade process. + * the upgrade process. The argument 'closure' is passed verbatim to + * any callback invoked. */ notmuch_status_t notmuch_database_upgrade (notmuch_database_t *database, @@ -766,12 +794,16 @@ notmuch_thread_get_total_messages (notmuch_thread_t *thread); * This iterator will not necessarily iterate over all of the messages * in the thread. It will only iterate over the messages in the thread * which are not replies to other messages in the thread. + * + * The returned list will be destroyed when the thread is destroyed. */ notmuch_messages_t * notmuch_thread_get_toplevel_messages (notmuch_thread_t *thread); /* Get a notmuch_thread_t iterator for all messages in 'thread' in * oldest-first order. + * + * The returned list will be destroyed when the thread is destroyed. */ notmuch_messages_t * notmuch_thread_get_messages (notmuch_thread_t *thread);