]> git.notmuchmail.org Git - notmuch/blobdiff - notmuch-client.h
pass entire format structure to various show_message functions
[notmuch] / notmuch-client.h
index d36b9ec16ce4aba89c782489b0ad91057fb34c8a..57daa9a25ed0eacce4a188510c9172e9d239e2fc 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);
+    const char *header_end;
+    const char *body_start;
+    void (*part) (GMimeObject *part,
+                 int *part_count,
+                 int first);
+    void (*part_end) (GMimeObject *part);
+    const char *body_end;
+    const char *message_end;
+    const char *message_set_sep;
+    const char *message_set_end;
+} notmuch_show_format_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).
@@ -110,9 +131,15 @@ notmuch_tag_command (void *ctx, int argc, char *argv[]);
 int
 notmuch_search_tags_command (void *ctx, int argc, char *argv[]);
 
+int
+notmuch_cat_command (void *ctx, int argc, char *argv[]);
+
 int
 notmuch_part_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,7 +154,7 @@ 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_status_t
 show_one_part (const char *filename, int part);
@@ -174,7 +201,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);
 
@@ -183,6 +210,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);