KIdentityManagement

cryptographybackendinterface.h
1// SPDX-FileCopyrightText: 2023 Claudio Cambra <claudio.cambra@kde.org>
2// SPDX-License-Identifier: LGPL-2.0-or-later
3
4#pragma once
5
6#include "kidentitymanagementquick_export.h"
7
8#include <QObject>
9#include <QSharedPointer>
10
12
13namespace KIdentityManagementCore
14{
15class Identity;
16}
17namespace KIdentityManagementQuick
18{
19/**
20 * @brief Defines the interface used by the Cryptography Editor Backend.
21 *
22 * This class is held by the CryptographyBackend, which exposes what is
23 * needed to the Cryptography Editor QtQuick UI.
24 *
25 * Contains utility methods to access required objects and data for
26 * identity-related cryptography editing.
27 */
28class KIDENTITYMANAGEMENTQUICK_EXPORT CryptographyBackendInterface
29{
30 friend class CryptographyEditorBackend;
31
32public:
34 {
35 }
36
37 /**
38 * A list model providing a list of OpenPGP keys.
39 */
41
42 /**
43 * A list model providing a list of S/MIME keys.
44 */
46
47protected:
48 /**
49 * @brief The identity that affects what data to show.
50 */
52 virtual void setIdentity(const KIdentityManagementCore::Identity &identity) = 0;
53};
54
56}
57
58Q_DECLARE_INTERFACE(KIdentityManagementQuick::CryptographyBackendInterface, "CryptographyBackendInterface")
59Q_DECLARE_METATYPE(KIdentityManagementQuick::CryptographyBackendInterfacePtr)
User identity information.
Definition identity.h:74
Defines the interface used by the Cryptography Editor Backend.
virtual KIdentityManagementCore::Identity identity() const =0
The identity that affects what data to show.
virtual QAbstractItemModel * openPgpKeyListModel() const =0
A list model providing a list of OpenPGP keys.
virtual QAbstractItemModel * smimeKeyListModel() const =0
A list model providing a list of S/MIME keys.
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Sat Dec 21 2024 16:57:47 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.