]> git.notmuchmail.org Git - notmuch/blobdiff - notmuch-client.h
new: Wrap adding and removing messages in atomic sections.
[notmuch] / notmuch-client.h
index a090589ef6ef28f350d1364f488b1b8f711bc0bf..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,10 @@ 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[]);
 
 const char *
 notmuch_time_relative_date (const void *ctx, time_t then);
@@ -127,11 +163,15 @@ 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);
 
+char *
+json_quote_chararray (const void *ctx, const char *str, const size_t len);
+
 char *
 json_quote_str (const void *ctx, const char *str);
 
@@ -171,7 +211,7 @@ void
 notmuch_config_set_user_primary_email (notmuch_config_t *config,
                                       const char *primary_email);
 
-char **
+const char **
 notmuch_config_get_user_other_email (notmuch_config_t *config,
                                     size_t *length);
 
@@ -180,6 +220,21 @@ notmuch_config_set_user_other_email (notmuch_config_t *config,
                                     const char *other_email[],
                                     size_t length);
 
+const char **
+notmuch_config_get_new_tags (notmuch_config_t *config,
+                            size_t *length);
+void
+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);