This simplifies the interface considerably.
notmuch_status_t
mime_node_open (const void *ctx, notmuch_message_t *message,
- notmuch_crypto_context_t *cryptoctx,
- notmuch_bool_t decrypt, mime_node_t **root_out)
+ notmuch_crypto_t *crypto, mime_node_t **root_out)
{
const char *filename = notmuch_message_get_filename (message);
mime_node_context_t *mctx;
goto DONE;
}
- mctx->cryptoctx = cryptoctx;
- mctx->decrypt = decrypt;
+ mctx->cryptoctx = crypto->gpgctx;
+ mctx->decrypt = crypto->decrypt;
/* Create the root node */
root->part = GMIME_OBJECT (mctx->mime_message);
};
/* Construct a new MIME node pointing to the root message part of
- * message. If cryptoctx is non-NULL, it will be used to verify
- * signatures on any child parts. If decrypt is true, then cryptoctx
- * will additionally be used to decrypt any encrypted child parts.
+ * message. If crypto->gpgctx is non-NULL, it will be used to verify
+ * signatures on any child parts. If crypto->decrypt is true, then
+ * crypto.gpgctx will additionally be used to decrypt any encrypted
+ * child parts.
*
* Return value:
*
*/
notmuch_status_t
mime_node_open (const void *ctx, notmuch_message_t *message,
- notmuch_crypto_context_t *cryptoctx,
- notmuch_bool_t decrypt, mime_node_t **node_out);
+ notmuch_crypto_t *crypto, mime_node_t **node_out);
/* Return a new MIME node for the requested child part of parent.
* parent will be used as the talloc context for the returned child
g_object_unref (G_OBJECT (reply));
reply = NULL;
- if (mime_node_open (ctx, message, params->crypto.gpgctx, params->crypto.decrypt,
- &root) == NOTMUCH_STATUS_SUCCESS) {
+ if (mime_node_open (ctx, message, &(params->crypto), &root) == NOTMUCH_STATUS_SUCCESS) {
format_part_reply (root);
talloc_free (root);
}
messages = notmuch_query_search_messages (query);
message = notmuch_messages_get (messages);
- if (mime_node_open (ctx, message, params->crypto.gpgctx, params->crypto.decrypt,
- &node) != NOTMUCH_STATUS_SUCCESS)
+ if (mime_node_open (ctx, message, &(params->crypto), &node) != NOTMUCH_STATUS_SUCCESS)
return 1;
reply = create_reply_message (ctx, config, message, reply_all);
mime_node_t *root, *part;
notmuch_status_t status;
- status = mime_node_open (local, message, params->crypto.gpgctx,
- params->crypto.decrypt, &root);
+ status = mime_node_open (local, message, &(params->crypto), &root);
if (status)
goto DONE;
part = mime_node_seek_dfs (root, (params->part < 0 ? 0 : params->part));