]> git.notmuchmail.org Git - notmuch/blobdiff - util/crypto.h
util: make remaining headers includable from C++
[notmuch] / util / crypto.h
index 80628dc528d258057561a37168d116437fa2d75c..1a90f0e00321fc73d1e93d8808ae602222b5048e 100644 (file)
@@ -2,13 +2,16 @@
 #define _CRYPTO_H
 
 #include <stdbool.h>
-#if (GMIME_MAJOR_VERSION < 3)
 #include "gmime-extra.h"
+#include "notmuch.h"
+
+#ifdef __cplusplus
+extern "C" {
 #endif
 
 typedef struct _notmuch_crypto {
     bool verify;
-    bool decrypt;
+    notmuch_decryption_policy_t decrypt;
 #if (GMIME_MAJOR_VERSION < 3)
     GMimeCryptoContext* gpgctx;
     GMimeCryptoContext* pkcs7ctx;
@@ -16,13 +19,26 @@ typedef struct _notmuch_crypto {
 #endif
 } _notmuch_crypto_t;
 
+GMimeObject *
+_notmuch_crypto_decrypt (bool *attempted,
+                        notmuch_decryption_policy_t decrypt,
+                        notmuch_message_t *message,
+                        GMimeCryptoContext* crypto_ctx,
+                        GMimeMultipartEncrypted *part,
+                        GMimeDecryptResult **decrypt_result,
+                        GError **err);
 
 #if (GMIME_MAJOR_VERSION < 3)
-GMimeCryptoContext *
-_notmuch_crypto_get_gmime_context (_notmuch_crypto_t *crypto, const char *protocol);
+notmuch_status_t
+_notmuch_crypto_get_gmime_ctx_for_protocol (_notmuch_crypto_t *crypto,
+                                           const char *protocol,
+                                           GMimeCryptoContext **ctx);
 #endif
 
 void
 _notmuch_crypto_cleanup (_notmuch_crypto_t *crypto);
 
+#ifdef __cplusplus
+}
+#endif
 #endif