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

0001 /*  SPDX-FileCopyrightText: 2023 Sandro Knauß <sknauss@kde.org>
0002     SPDX-License-Identifier: GPL-2.0-or-later
0003 */
0004 
0005 #pragma once
0006 
0007 #include "messagecomposer_export.h"
0008 
0009 #include <Libkleo/KeyResolverCore>
0010 
0011 #include <memory>
0012 
0013 namespace MessageComposer
0014 {
0015 class AutocryptKeyResolverCorePrivate;
0016 
0017 class MESSAGECOMPOSER_EXPORT AutocryptKeyResolverCore : public Kleo::KeyResolverCore
0018 {
0019 public:
0020     explicit AutocryptKeyResolverCore(bool encrypt, bool sign, GpgME::Protocol format = GpgME::UnknownProtocol);
0021     ~AutocryptKeyResolverCore();
0022 
0023     Kleo::KeyResolverCore::Result resolve();
0024 
0025     [[nodiscard]] bool isAutocryptKey(const QString &recipient) const;
0026     [[nodiscard]] bool isGossipKey(const QString &recipient) const;
0027 
0028 private:
0029     std::unique_ptr<AutocryptKeyResolverCorePrivate> const d;
0030 };
0031 }