File indexing completed on 2024-06-23 05:13:36

0001 /* -*- mode: c++; c-basic-offset:4 -*-
0002     commands/certifycertificatecommand.h
0003 
0004     This file is part of Kleopatra, the KDE keymanager
0005     SPDX-FileCopyrightText: 2008 Klarälvdalens Datakonsult AB
0006 
0007     SPDX-License-Identifier: GPL-2.0-or-later
0008 */
0009 
0010 #pragma once
0011 
0012 #include <commands/command.h>
0013 
0014 namespace GpgME
0015 {
0016 class UserID;
0017 }
0018 
0019 namespace Kleo
0020 {
0021 namespace Commands
0022 {
0023 
0024 class CertifyCertificateCommand : public Command
0025 {
0026     Q_OBJECT
0027 public:
0028     explicit CertifyCertificateCommand(QAbstractItemView *view, KeyListController *parent);
0029     explicit CertifyCertificateCommand(KeyListController *parent);
0030     explicit CertifyCertificateCommand(const GpgME::Key &key);
0031     explicit CertifyCertificateCommand(const GpgME::UserID &uid);
0032     explicit CertifyCertificateCommand(const std::vector<GpgME::UserID> &uids);
0033     ~CertifyCertificateCommand() override;
0034 
0035     /* reimp */ static Restrictions restrictions()
0036     {
0037         return OnlyOneKey | MustBeOpenPGP | MustBeValid;
0038     }
0039 
0040 private:
0041     void doStart() override;
0042     void doCancel() override;
0043 
0044 private:
0045     class Private;
0046     inline Private *d_func();
0047     inline const Private *d_func() const;
0048 };
0049 
0050 }
0051 }