1 /*
2   SPDX-FileCopyrightText: 2020 Sandro Knauß <sknauss@kde.org>
3 
4   SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6 
7 #pragma once
8 
9 #include "contentjobbase.h"
10 #include "messagecomposer_export.h"
11 
12 #include <gpgme++/key.h>
13 #include <vector>
14 
15 namespace KMime
16 {
17 class Content;
18 class Message;
19 }
20 
21 namespace MessageComposer
22 {
23 class AutocryptHeadersJobPrivate;
24 
25 /**
26  */
27 class MESSAGECOMPOSER_EXPORT AutocryptHeadersJob : public ContentJobBase
28 {
29     Q_OBJECT
30 
31 public:
32     explicit AutocryptHeadersJob(QObject *parent = nullptr);
33     ~AutocryptHeadersJob() override;
34 
35     void setContent(KMime::Content *content);
36     void setSkeletonMessage(KMime::Message *skeletonMessage);
37 
38     void setGnupgHome(const QString &path);
39 
40     void setSenderKey(const GpgME::Key &key);
41     void setPreferEncrypted(bool preferEncrypted);
42     void setGossipKeys(const std::vector<GpgME::Key> &gossipKeys);
43 
44 protected Q_SLOTS:
45     void process() override;
46 
47 private:
48     Q_DECLARE_PRIVATE(AutocryptHeadersJob)
49 };
50 }
51 
52