]> git.notmuchmail.org Git - notmuch/blobdiff - notmuch-client.h
emacs: modify the default show-mode key bindings for archiving
[notmuch] / notmuch-client.h
index 9c1d383df840117f46e12feb4bce5d76a6ae9129..e0eb594ad0394510ecdd20e0a04ee1119f247775 100644 (file)
 #define STRINGIFY(s) STRINGIFY_(s)
 #define STRINGIFY_(s) #s
 
+struct mime_node;
+struct notmuch_show_params;
+
 typedef struct notmuch_show_format {
     const char *message_set_start;
+    void (*part) (const void *ctx,
+                 struct mime_node *node, int indent,
+                 const struct notmuch_show_params *params);
     const char *message_start;
     void (*message) (const void *ctx,
                     notmuch_message_t *message,
@@ -252,10 +258,10 @@ notmuch_config_set_maildir_synchronize_flags (notmuch_config_t *config,
                                              notmuch_bool_t synchronize_flags);
 
 const char **
-notmuch_config_get_auto_exclude_tags (notmuch_config_t *config, size_t *length);
+notmuch_config_get_search_exclude_tags (notmuch_config_t *config, size_t *length);
 
 void
-notmuch_config_set_auto_exclude_tags (notmuch_config_t *config,
+notmuch_config_set_search_exclude_tags (notmuch_config_t *config,
                                      const char *list[],
                                      size_t length);
 
@@ -297,6 +303,13 @@ typedef struct mime_node {
     /* The number of children of this part. */
     int nchildren;
 
+    /* The parent of this node or NULL if this is the root node. */
+    struct mime_node *parent;
+
+    /* The depth-first part number of this child if the MIME tree is
+     * being traversed in depth-first order, or -1 otherwise. */
+    int part_num;
+
     /* True if decryption of this part was attempted. */
     notmuch_bool_t decrypt_attempted;
     /* True if decryption of this part's child succeeded.  In this
@@ -324,6 +337,11 @@ typedef struct mime_node {
     /* Internal: For successfully decrypted multipart parts, the
      * decrypted part to substitute for the second child. */
     GMimeObject *decrypted_child;
+
+    /* Internal: The next child for depth-first traversal and the part
+     * number to assign it (or -1 if unknown). */
+    int next_child;
+    int next_part_num;
 } mime_node_t;
 
 /* Construct a new MIME node pointing to the root message part of
@@ -356,7 +374,7 @@ mime_node_open (const void *ctx, notmuch_message_t *message,
  * an error message on stderr).
  */
 mime_node_t *
-mime_node_child (const mime_node_t *parent, int child);
+mime_node_child (mime_node_t *parent, int child);
 
 /* Return the nth child of node in a depth-first traversal.  If n is
  * 0, returns node itself.  Returns NULL if there is no such part. */