File indexing completed on 2024-06-23 05:18:31

0001 /*
0002   SPDX-FileCopyrightText: 2020 Sandro Knauß <sknauss@kde.org>
0003 
0004   SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "contentjobbase.h"
0010 #include "messagecomposer_export.h"
0011 
0012 #include <gpgme++/key.h>
0013 #include <vector>
0014 
0015 namespace KMime
0016 {
0017 class Content;
0018 class Message;
0019 }
0020 
0021 namespace MessageComposer
0022 {
0023 class AutocryptHeadersJobPrivate;
0024 
0025 /**
0026  */
0027 class MESSAGECOMPOSER_EXPORT AutocryptHeadersJob : public ContentJobBase
0028 {
0029     Q_OBJECT
0030 
0031 public:
0032     explicit AutocryptHeadersJob(QObject *parent = nullptr);
0033     ~AutocryptHeadersJob() override;
0034 
0035     void setContent(KMime::Content *content);
0036     void setSkeletonMessage(KMime::Message *skeletonMessage);
0037 
0038     void setGnupgHome(const QString &path);
0039 
0040     void setSenderKey(const GpgME::Key &key);
0041     void setPreferEncrypted(bool preferEncrypted);
0042     void setGossipKeys(const std::vector<GpgME::Key> &gossipKeys);
0043 
0044 protected Q_SLOTS:
0045     void process() override;
0046 
0047 private:
0048     Q_DECLARE_PRIVATE(AutocryptHeadersJob)
0049 };
0050 }