]> git.notmuchmail.org Git - notmuch/blob - util/crypto.h
lib: convert notmuch decryption policy to an enum
[notmuch] / util / crypto.h
1 #ifndef _CRYPTO_H
2 #define _CRYPTO_H
3
4 #include <stdbool.h>
5 #include "gmime-extra.h"
6 #include "notmuch.h"
7
8 typedef struct _notmuch_crypto {
9     bool verify;
10     notmuch_decryption_policy_t decrypt;
11 #if (GMIME_MAJOR_VERSION < 3)
12     GMimeCryptoContext* gpgctx;
13     GMimeCryptoContext* pkcs7ctx;
14     const char *gpgpath;
15 #endif
16 } _notmuch_crypto_t;
17
18 GMimeObject *
19 _notmuch_crypto_decrypt (notmuch_message_t *message,
20                          GMimeCryptoContext* crypto_ctx,
21                          GMimeMultipartEncrypted *part,
22                          GMimeDecryptResult **decrypt_result,
23                          GError **err);
24
25 #if (GMIME_MAJOR_VERSION < 3)
26 notmuch_status_t
27 _notmuch_crypto_get_gmime_ctx_for_protocol (_notmuch_crypto_t *crypto,
28                                             const char *protocol,
29                                             GMimeCryptoContext **ctx);
30 #endif
31
32 void
33 _notmuch_crypto_cleanup (_notmuch_crypto_t *crypto);
34
35 #endif