File indexing completed on 2024-06-16 04:55:55

0001 /* -*- mode: c++; c-basic-offset:4 -*-
0002     crypto/createchecksumscontroller.h
0003 
0004     This file is part of Kleopatra, the KDE keymanager
0005     SPDX-FileCopyrightText: 2010 Klarälvdalens Datakonsult AB
0006 
0007     SPDX-License-Identifier: GPL-2.0-or-later
0008 */
0009 
0010 #pragma once
0011 
0012 #include <crypto/controller.h>
0013 
0014 #include <utils/pimpl_ptr.h>
0015 
0016 #include <gpgme++/global.h>
0017 
0018 #include <memory>
0019 #include <vector>
0020 
0021 namespace Kleo
0022 {
0023 namespace Crypto
0024 {
0025 
0026 class CreateChecksumsController : public Controller
0027 {
0028     Q_OBJECT
0029 public:
0030     explicit CreateChecksumsController(QObject *parent = nullptr);
0031     explicit CreateChecksumsController(const std::shared_ptr<const ExecutionContext> &ctx, QObject *parent = nullptr);
0032     ~CreateChecksumsController() override;
0033 
0034     void setAllowAddition(bool allow);
0035     bool allowAddition() const;
0036 
0037     void setFiles(const QStringList &files);
0038 
0039     void start();
0040 
0041 public Q_SLOTS:
0042     void cancel();
0043 
0044 private:
0045     class Private;
0046     kdtools::pimpl_ptr<Private> d;
0047     Q_PRIVATE_SLOT(d, void slotOperationFinished())
0048     Q_PRIVATE_SLOT(d, void slotProgress(int, int, QString))
0049 };
0050 
0051 }
0052 }