The mime node context (a per-message context) gains a cryptographic status object, and the mime_node_t object itself can return a view on that status to an interested party. The status is not yet populated, and for now we can keep that view read-only, so that it can only be populated/modified during MIME tree traversal. --- mime-node.c | 7 +++++++ notmuch-client.h | 3 +++ 2 files changed, 10 insertions(+) diff --git a/mime-node.c b/mime-node.c index e33336bb..66ff7446 100644 --- a/mime-node.c +++ b/mime-node.c @@ -34,6 +34,7 @@ typedef struct mime_node_context { GMimeStream *stream; GMimeParser *parser; GMimeMessage *mime_message; + _notmuch_message_crypto_t *msg_crypto; /* Context provided by the caller. */ _notmuch_crypto_t *crypto; @@ -54,6 +55,12 @@ _mime_node_context_free (mime_node_context_t *res) return 0; } +const _notmuch_message_crypto_t* +mime_node_get_message_crypto_status (mime_node_t *node) +{ + return node->ctx->msg_crypto; +} + notmuch_status_t mime_node_open (const void *ctx, notmuch_message_t *message, _notmuch_crypto_t *crypto, mime_node_t **root_out) diff --git a/notmuch-client.h b/notmuch-client.h index d762d3cc..a82cb431 100644 --- a/notmuch-client.h +++ b/notmuch-client.h @@ -439,6 +439,9 @@ mime_node_child (mime_node_t *parent, int child); mime_node_t * mime_node_seek_dfs (mime_node_t *node, int n); +const _notmuch_message_crypto_t* +mime_node_get_message_crypto_status (mime_node_t *node); + typedef enum dump_formats { DUMP_FORMAT_AUTO, DUMP_FORMAT_BATCH_TAG, -- 2.20.1 _______________________________________________ notmuch mailing list notmuch@notmuchmail.org https://notmuchmail.org/mailman/listinfo/notmuch