]> git.notmuchmail.org Git - notmuch/blobdiff - notmuch-client.h
new: Wrap adding and removing messages in atomic sections.
[notmuch] / notmuch-client.h
index d530578ad9bd0dc8cfe2dc328c25dc86ac09efd2..b50cb38b335afe819b989f2e94d9be2c5492c7ba 100644 (file)
 #define STRINGIFY(s) STRINGIFY_(s)
 #define STRINGIFY_(s) #s
 
+typedef struct notmuch_show_format {
+    const char *message_set_start;
+    const char *message_start;
+    void (*message) (const void *ctx,
+                    notmuch_message_t *message,
+                    int indent);
+    const char *header_start;
+    void (*header) (const void *ctx,
+                   notmuch_message_t *message);
+    void (*header_message_part) (GMimeMessage *message);
+    const char *header_end;
+    const char *body_start;
+    void (*part_start) (GMimeObject *part,
+                       int *part_count);
+    void (*part_encstatus) (int status);
+    void (*part_sigstatus) (const GMimeSignatureValidity* validity);
+    void (*part_content) (GMimeObject *part);
+    void (*part_end) (GMimeObject *part);
+    const char *part_sep;
+    const char *body_end;
+    const char *message_end;
+    const char *message_set_sep;
+    const char *message_set_end;
+} notmuch_show_format_t;
+
+typedef struct notmuch_show_params {
+    int entire_thread;
+    int raw;
+    int part;
+    GMimeCipherContext* cryptoctx;
+    int decrypt;
+} notmuch_show_params_t;
+
 /* There's no point in continuing when we've detected that we've done
  * something wrong internally (as opposed to the user passing in a
  * bogus value).
@@ -111,7 +144,7 @@ int
 notmuch_search_tags_command (void *ctx, int argc, char *argv[]);
 
 int
-notmuch_part_command (void *ctx, int argc, char *argv[]);
+notmuch_cat_command (void *ctx, int argc, char *argv[]);
 
 int
 notmuch_config_command (void *ctx, int argc, char *argv[]);
@@ -130,7 +163,8 @@ query_string_from_args (void *ctx, int argc, char *argv[]);
 
 notmuch_status_t
 show_message_body (const char *filename,
-                  void (*show_part) (GMimeObject *part, int *part_count));
+                  const notmuch_show_format_t *format,
+                  notmuch_show_params_t *params);
 
 notmuch_status_t
 show_one_part (const char *filename, int part);
@@ -194,6 +228,13 @@ notmuch_config_set_new_tags (notmuch_config_t *config,
                             const char *new_tags[],
                             size_t length);
 
+notmuch_bool_t
+notmuch_config_get_maildir_synchronize_flags (notmuch_config_t *config);
+
+void
+notmuch_config_set_maildir_synchronize_flags (notmuch_config_t *config,
+                                             notmuch_bool_t synchronize_flags);
+
 notmuch_bool_t
 debugger_is_active (void);