]> git.notmuchmail.org Git - notmuch/blobdiff - notmuch-client.h
cli: implement structured output version 4
[notmuch] / notmuch-client.h
index 21b087980a17f45a8d7537b5d7116fbdee449313..77b341841222c8563ded7612f9c6e1ae5cf51dcd 100644 (file)
@@ -29,7 +29,7 @@
 
 #include "compat.h"
 
-#include <gmime/gmime.h>
+#include "gmime-extra.h"
 
 typedef GMimeCryptoContext notmuch_crypto_context_t;
 /* This is automatically included only since gmime 2.6.10 */
@@ -83,10 +83,10 @@ typedef struct notmuch_show_params {
     notmuch_bool_t entire_thread;
     notmuch_bool_t omit_excluded;
     notmuch_bool_t output_body;
-    notmuch_bool_t raw;
     int part;
     notmuch_crypto_t crypto;
     notmuch_bool_t include_html;
+    GMimeStream *out_stream;
 } notmuch_show_params_t;
 
 /* There's no point in continuing when we've detected that we've done
@@ -145,7 +145,7 @@ chomp_newline (char *str)
  * this.  New (required) map fields can be added without increasing
  * this.
  */
-#define NOTMUCH_FORMAT_CUR 3
+#define NOTMUCH_FORMAT_CUR 4
 /* The minimum supported structured output format version.  Requests
  * for format versions below this will return an error. */
 #define NOTMUCH_FORMAT_MIN 1
@@ -263,10 +263,15 @@ json_quote_str (const void *ctx, const char *str);
 
 /* notmuch-config.c */
 
+typedef enum {
+    NOTMUCH_CONFIG_OPEN        = 1 << 0,
+    NOTMUCH_CONFIG_CREATE = 1 << 1,
+} notmuch_config_mode_t;
+
 notmuch_config_t *
 notmuch_config_open (void *ctx,
                     const char *filename,
-                    notmuch_bool_t create_new);
+                    notmuch_config_mode_t config_mode);
 
 void
 notmuch_config_close (notmuch_config_t *config);
@@ -465,7 +470,7 @@ typedef enum dump_includes {
 
 #define DUMP_INCLUDE_DEFAULT (DUMP_INCLUDE_TAGS | DUMP_INCLUDE_CONFIG | DUMP_INCLUDE_PROPERTIES)
 
-#define NOTMUCH_DUMP_VERSION 2
+#define NOTMUCH_DUMP_VERSION 3
 
 int
 notmuch_database_dump (notmuch_database_t *notmuch,