File indexing completed on 2024-06-23 05:18:33
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 "infopart.h" 0011 #include "messagecomposer_export.h" 0012 0013 namespace KMime 0014 { 0015 class Content; 0016 } 0017 0018 namespace MessageComposer 0019 { 0020 class ProtectedHeadersJobPrivate; 0021 0022 /** 0023 Copies headers from skeleton message to content. 0024 It is used for Protected Headers for Cryptographic E-mail 0025 currently a draft for RFC: 0026 https://datatracker.ietf.org/doc/draft-autocrypt-lamps-protected-headers/ 0027 Used as a subjob of EncryptJob/SignJob/SignEncryptJob 0028 */ 0029 class MESSAGECOMPOSER_EXPORT ProtectedHeadersJob : public ContentJobBase 0030 { 0031 Q_OBJECT 0032 0033 public: 0034 explicit ProtectedHeadersJob(QObject *parent = nullptr); 0035 ~ProtectedHeadersJob() override; 0036 0037 void setContent(KMime::Content *content); 0038 void setSkeletonMessage(KMime::Message *skeletonMessage); 0039 0040 void setObvoscate(bool obvoscate); 0041 0042 protected Q_SLOTS: 0043 void doStart() override; 0044 void process() override; 0045 0046 private: 0047 Q_DECLARE_PRIVATE(ProtectedHeadersJob) 0048 }; 0049 }