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