aboutsummaryrefslogtreecommitdiffstats
path: root/lang/cpp/src/gpgrevokekeyeditinteractor.cpp
diff options
context:
space:
mode:
authorIngo Klöcker <[email protected]>2025-02-03 09:49:25 +0000
committerIngo Klöcker <[email protected]>2025-02-03 09:55:40 +0000
commit763d5f5d6a88ec938b8678ab597e1404af724553 (patch)
tree7f3791e3560bd3a51470494bf965b9f9a40a87bd /lang/cpp/src/gpgrevokekeyeditinteractor.cpp
parentbuild: Fix generation of ChangeLog on secondary working trees (diff)
downloadgpgme-763d5f5d6a88ec938b8678ab597e1404af724553.tar.gz
gpgme-763d5f5d6a88ec938b8678ab597e1404af724553.zip
cpp,qt: Remove C++ and Qt bindings
* README: Update. * configure.ac: Remove checks, variables and file generations related to the C++/Qt bindings. Remove cpp and qt* from available_languages and default_languages. * lang/Makefile.am (DIST_SUBDIRS): Remove cpp and qt. * lang/cpp, lang/qt: Remove. * m4/ax_check_compile_flag.m4, m4/ax_cxx_compile_stdcxx.m4, m4/ax_gcc_func_attribute.m4, m4/pkg.m4, m4/qt5.m4, m4/qt6.m4: Remove. -- The C++ and Qt bindings have been moved to separate Git repositories: gpgmepp and gpgmeqt. GnuPG-bug-id: 7262
Diffstat (limited to 'lang/cpp/src/gpgrevokekeyeditinteractor.cpp')
-rw-r--r--lang/cpp/src/gpgrevokekeyeditinteractor.cpp207
1 files changed, 0 insertions, 207 deletions
diff --git a/lang/cpp/src/gpgrevokekeyeditinteractor.cpp b/lang/cpp/src/gpgrevokekeyeditinteractor.cpp
deleted file mode 100644
index dfa3be16..00000000
--- a/lang/cpp/src/gpgrevokekeyeditinteractor.cpp
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- gpgrevokekeyeditinteractor.cpp - Edit Interactor to revoke own OpenPGP keys
- Copyright (c) 2022 g10 Code GmbH
- Software engineering by Ingo Klöcker <[email protected]>
-
- This file is part of GPGME++.
-
- GPGME++ is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- GPGME++ is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with GPGME++; see the file COPYING.LIB. If not, write to the
- Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#ifdef HAVE_CONFIG_H
- #include "config.h"
-#endif
-
-#include "gpgrevokekeyeditinteractor.h"
-
-#include "error.h"
-
-#include <gpgme.h>
-
-#include <vector>
-
-// avoid conflict (msvc)
-#ifdef ERROR
-# undef ERROR
-#endif
-
-using namespace GpgME;
-
-class GpgRevokeKeyEditInteractor::Private
-{
- enum {
- START = EditInteractor::StartState,
- COMMAND,
- CONFIRM_REVOKING_ENTIRE_KEY,
- REASON_CODE,
- REASON_TEXT,
- // all these free slots belong to REASON_TEXT, too; we increase state()
- // by one for each line of text, so that action() is called
- REASON_TEXT_DONE = REASON_TEXT + 1000,
- CONFIRM_REASON,
- QUIT,
- CONFIRM_SAVE,
-
- ERROR = EditInteractor::ErrorState
- };
-
- GpgRevokeKeyEditInteractor *const q = nullptr;
-
-public:
- Private(GpgRevokeKeyEditInteractor *q)
- : q{q}
- , reasonCode{"0"}
- {
- }
-
- const char *action(Error &err) const;
- unsigned int nextState(unsigned int statusCode, const char *args, Error &err);
-
- std::string reasonCode;
- std::vector<std::string> reasonLines;
- int nextLine = -1;
-};
-
-const char *GpgRevokeKeyEditInteractor::Private::action(Error &err) const
-{
- switch (const auto state = q->state()) {
- case COMMAND:
- return "revkey";
- case CONFIRM_REVOKING_ENTIRE_KEY:
- return "Y";
- case REASON_CODE:
- return reasonCode.c_str();
- case REASON_TEXT_DONE:
- return "";
- case CONFIRM_REASON:
- return "Y";
- case QUIT:
- return "quit";
- case CONFIRM_SAVE:
- return "Y";
- case START:
- return nullptr;
- default:
- if (state >= REASON_TEXT && state < REASON_TEXT_DONE) {
- return reasonLines[nextLine].c_str();
- }
- // fall through
- case ERROR:
- err = Error::fromCode(GPG_ERR_GENERAL);
- return nullptr;
- }
-}
-
-unsigned int GpgRevokeKeyEditInteractor::Private::nextState(unsigned int status, const char *args, Error &err)
-{
- using std::strcmp;
-
- static const Error GENERAL_ERROR = Error::fromCode(GPG_ERR_GENERAL);
-
- switch (const auto state = q->state()) {
- case START:
- if (status == GPGME_STATUS_GET_LINE &&
- strcmp(args, "keyedit.prompt") == 0) {
- return COMMAND;
- }
- err = GENERAL_ERROR;
- return ERROR;
- case COMMAND:
- if (status == GPGME_STATUS_GET_BOOL &&
- strcmp(args, "keyedit.revoke.subkey.okay") == 0) {
- return CONFIRM_REVOKING_ENTIRE_KEY;
- }
- err = GENERAL_ERROR;
- return ERROR;
- case CONFIRM_REVOKING_ENTIRE_KEY:
- if (status == GPGME_STATUS_GET_LINE &&
- strcmp(args, "ask_revocation_reason.code") == 0) {
- return REASON_CODE;
- }
- err = GENERAL_ERROR;
- return ERROR;
- case REASON_CODE:
- if (status == GPGME_STATUS_GET_LINE &&
- strcmp(args, "ask_revocation_reason.text") == 0) {
- nextLine++;
- return static_cast<std::size_t>(nextLine) < reasonLines.size() ? REASON_TEXT : REASON_TEXT_DONE;
- }
- err = GENERAL_ERROR;
- return ERROR;
- default:
- if (state >= REASON_TEXT && state < REASON_TEXT_DONE) {
- if (status == GPGME_STATUS_GET_LINE &&
- strcmp(args, "ask_revocation_reason.text") == 0) {
- nextLine++;
- return static_cast<std::size_t>(nextLine) < reasonLines.size() ? state + 1 : REASON_TEXT_DONE;
- }
- }
- err = GENERAL_ERROR;
- return ERROR;
- case REASON_TEXT_DONE:
- if (status == GPGME_STATUS_GET_BOOL &&
- strcmp(args, "ask_revocation_reason.okay") == 0) {
- return CONFIRM_REASON;
- }
- err = GENERAL_ERROR;
- return ERROR;
- case CONFIRM_REASON:
- if (status == GPGME_STATUS_GET_LINE &&
- strcmp(args, "keyedit.prompt") == 0) {
- return QUIT;
- }
- err = GENERAL_ERROR;
- return ERROR;
- case QUIT:
- if (status == GPGME_STATUS_GET_BOOL &&
- strcmp(args, "keyedit.save.okay") == 0) {
- return CONFIRM_SAVE;
- }
- err = GENERAL_ERROR;
- return ERROR;
- case ERROR:
- if (status == GPGME_STATUS_GET_LINE &&
- strcmp(args, "keyedit.prompt") == 0) {
- return QUIT;
- }
- err = q->lastError();
- return ERROR;
- }
-}
-
-GpgRevokeKeyEditInteractor::GpgRevokeKeyEditInteractor()
- : EditInteractor{}
- , d{new Private{this}}
-{
-}
-
-GpgRevokeKeyEditInteractor::~GpgRevokeKeyEditInteractor() = default;
-
-void GpgRevokeKeyEditInteractor::setReason(RevocationReason reason, const std::vector<std::string> &description)
-{
- d->reasonCode = std::to_string(static_cast<int>(reason));
- d->reasonLines = description;
-}
-
-const char *GpgRevokeKeyEditInteractor::action(Error &err) const
-{
- return d->action(err);
-}
-
-unsigned int GpgRevokeKeyEditInteractor::nextState(unsigned int status, const char *args, Error &err) const
-{
- return d->nextState(status, args, err);
-}