File indexing completed on 2025-03-09 04:54:13
0001 /* 0002 SPDX-FileCopyrightText: 2020 Sandro Knauß <knauss@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include "autocryptrecipient.h" 0010 0011 #include "messagecore_export.h" 0012 0013 #include <KMime/Headers> 0014 #include <MimeTreeParser/MessagePart> 0015 #include <MimeTreeParser/NodeHelper> 0016 0017 namespace MessageCore 0018 { 0019 class MESSAGECORE_EXPORT HeaderMixupNodeHelper 0020 { 0021 public: 0022 HeaderMixupNodeHelper(MimeTreeParser::NodeHelper *n, KMime::Content *m); 0023 0024 [[nodiscard]] bool hasMailHeader(const char *header) const; 0025 [[nodiscard]] KMime::Headers::Base const *mailHeaderAsBase(const char *header) const; 0026 [[nodiscard]] QSharedPointer<KMime::Headers::Generics::AddressList> mailHeaderAsAddressList(const char *header) const; 0027 [[nodiscard]] QDateTime dateHeader() const; 0028 [[nodiscard]] QList<MimeTreeParser::MessagePart::Ptr> messagePartsOfMailHeader(const char *header) const; 0029 [[nodiscard]] QList<KMime::Headers::Base *> headers(const char *headerType) const; 0030 0031 public: 0032 KMime::Content *message = nullptr; 0033 0034 private: 0035 MimeTreeParser::NodeHelper *const mNodeHelper; 0036 }; 0037 0038 [[nodiscard]] QHash<QByteArray, QByteArray> MESSAGECORE_EXPORT paramsFromAutocryptHeader(const KMime::Headers::Base *const header); 0039 MESSAGECORE_EXPORT void processAutocryptfromMail(const HeaderMixupNodeHelper &mixup); 0040 }