1 /*
2     SPDX-FileCopyrightText: 2008, 2009, 2018 Rolf Eike Beer <kde@opensource.sf-tec.de>
3     SPDX-License-Identifier: GPL-2.0-or-later
4 */
5 
6 #ifndef KGPGDELKEY_H
7 #define KGPGDELKEY_H
8 
9 #include "kgpgtransaction.h"
10 
11 #include <core/KGpgKeyNode.h>
12 
13 #include <QObject>
14 
15 /**
16  * @brief delete a public key
17  */
18 class KGpgDelKey: public KGpgTransaction {
19 	Q_OBJECT
20 
21 	Q_DISABLE_COPY(KGpgDelKey)
22 	KGpgDelKey() = delete;
23 public:
KGpgDelKey(QObject * parent,KGpgKeyNode * key)24 	inline KGpgDelKey(QObject *parent, KGpgKeyNode *key)
25 		: KGpgDelKey(parent, KGpgKeyNode::List({key})) {}
26 	KGpgDelKey(QObject *parent, const KGpgKeyNode::List &keys);
27     ~KGpgDelKey() override;
28 
29 	/**
30 	 * @brief the keys that were requested to be removed
31 	 */
32 	const KGpgKeyNode::List keys;
33 
34 	/**
35 	 * @brief the fingerprints of everything in keys
36 	 */
37 	const QStringList fingerprints;
38 
39 protected:
40 	bool nextLine(const QString &line) override;
41 	ts_boolanswer boolQuestion(const QString &line) override;
42 	bool preStart() override;
43 
44 private:
45 	int m_argscount;
46 
47 	void setCmdLine();
48 };
49 
50 #endif // KGPGDELKEY_H
51