File indexing completed on 2025-03-09 04:54:29
0001 /* 0002 SPDX-FileCopyrightText: 2019-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include "dkimchecksignaturejob.h" 0010 #include "messageviewer_export.h" 0011 #include <Akonadi/Item> 0012 #include <KMime/Message> 0013 #include <QObject> 0014 0015 namespace MessageViewer 0016 { 0017 /** 0018 * @brief The DKIMManager class 0019 * @author Laurent Montel <montel@kde.org> 0020 */ 0021 class MESSAGEVIEWER_EXPORT DKIMManager : public QObject 0022 { 0023 Q_OBJECT 0024 public: 0025 explicit DKIMManager(QObject *parent = nullptr); 0026 ~DKIMManager() override; 0027 static DKIMManager *self(); 0028 0029 void checkDKim(const KMime::Message::Ptr &message); 0030 void checkDKim(const Akonadi::Item &item); 0031 0032 void clearInfoWidget(); 0033 0034 [[nodiscard]] DKIMCheckPolicy policy() const; 0035 void setPolicy(const DKIMCheckPolicy &policy); 0036 void recheckDKim(const Akonadi::Item &item); 0037 Q_SIGNALS: 0038 void result(const MessageViewer::DKIMCheckSignatureJob::CheckSignatureResult &checkResult, Akonadi::Item::Id id); 0039 void clearInfo(); 0040 0041 private: 0042 MESSAGEVIEWER_NO_EXPORT void checkFullInfo(const Akonadi::Item &item); 0043 DKIMCheckPolicy mCheckPolicy; 0044 }; 0045 }