summaryrefslogtreecommitdiffstats
path: root/framework/src/domain/mime/mailcrypto.h
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/domain/mime/mailcrypto.h')
-rw-r--r--framework/src/domain/mime/mailcrypto.h29
1 files changed, 17 insertions, 12 deletions
diff --git a/framework/src/domain/mime/mailcrypto.h b/framework/src/domain/mime/mailcrypto.h
index 0a6c2f4c..832f68ec 100644
--- a/framework/src/domain/mime/mailcrypto.h
+++ b/framework/src/domain/mime/mailcrypto.h
@@ -19,19 +19,24 @@
19 19
20#pragma once 20#pragma once
21 21
22#include <QByteArray> 22#include "framework/src/errors.h"
23
23#include <KMime/Message> 24#include <KMime/Message>
24#include <gpgme++/key.h> 25#include <gpgme++/key.h>
26
27#include <QByteArray>
28
25#include <functional> 29#include <functional>
30#include <memory>
31
32namespace MailCrypto {
33
34Expected<GpgME::Error, std::unique_ptr<KMime::Content>>
35processCrypto(std::unique_ptr<KMime::Content> content, const std::vector<GpgME::Key> &signingKeys,
36 const std::vector<GpgME::Key> &encryptionKeys, const GpgME::Key &attachedKey);
37
38std::vector<GpgME::Key> findKeys(const QStringList &filter, bool findPrivate = false, bool remote = false);
39
40void importKeys(const std::vector<GpgME::Key> &keys);
26 41
27namespace MailCrypto 42}; // namespace MailCrypto
28{
29 enum Protocol {
30 OPENPGP,
31 SMIME
32 };
33 KMime::Content *processCrypto(KMime::Content *content, const std::vector<GpgME::Key> &signingKeys, const std::vector<GpgME::Key> &encryptionKeys, MailCrypto::Protocol protocol);
34 KMime::Content *sign(KMime::Content *content, const std::vector<GpgME::Key> &signers);
35 std::vector<GpgME::Key> findKeys(const QStringList &filter, bool findPrivate = false, bool remote = false, Protocol protocol = OPENPGP);
36 void importKeys(const std::vector<GpgME::Key> &keys);
37};