diff options
author | Saturneric <[email protected]> | 2022-02-06 05:29:01 +0000 |
---|---|---|
committer | Saturneric <[email protected]> | 2022-02-06 05:29:01 +0000 |
commit | a2d75efab5dca4e9a9721afef61cad0f62d4825f (patch) | |
tree | e2d9647e68d7ef9f47cfe3e6b3100ef8aed076f8 /src/core/function/GpgKeyGetter.cpp | |
parent | <chore>(project, ci): Make the Windows platform pass the compilation (diff) | |
download | GpgFrontend-a2d75efab5dca4e9a9721afef61cad0f62d4825f.tar.gz GpgFrontend-a2d75efab5dca4e9a9721afef61cad0f62d4825f.zip |
<refactor>(core, ui): Adjust the core code directory structure.
Diffstat (limited to 'src/core/function/GpgKeyGetter.cpp')
-rw-r--r-- | src/core/function/GpgKeyGetter.cpp | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/src/core/function/GpgKeyGetter.cpp b/src/core/function/GpgKeyGetter.cpp deleted file mode 100644 index 604c4164..00000000 --- a/src/core/function/GpgKeyGetter.cpp +++ /dev/null @@ -1,96 +0,0 @@ -/** - * Copyright (C) 2021 Saturneric - * - * This file is part of GpgFrontend. - * - * GpgFrontend is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * GpgFrontend 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 General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GpgFrontend. If not, see <https://www.gnu.org/licenses/>. - * - * The initial version of the source code is inherited from - * the gpg4usb project, which is under GPL-3.0-or-later. - * - * All the source code of GpgFrontend was modified and released by - * Saturneric<[email protected]> starting on May 12, 2021. - * - * SPDX-License-Identifier: GPL-3.0-or-later - * - */ - -#include "core/function/GpgKeyGetter.h" - -#include <gpg-error.h> - -#include "GpgConstants.h" - -GpgFrontend::GpgKey GpgFrontend::GpgKeyGetter::GetKey(const std::string& fpr) { - gpgme_key_t _p_key = nullptr; - gpgme_get_key(ctx_, fpr.c_str(), &_p_key, 1); - if (_p_key == nullptr) { - DLOG(WARNING) << "GpgKeyGetter GetKey Private _p_key Null fpr" << fpr; - return GetPubkey(fpr); - } else { - return GpgKey(std::move(_p_key)); - } -} - -GpgFrontend::GpgKey GpgFrontend::GpgKeyGetter::GetPubkey( - const std::string& fpr) { - gpgme_key_t _p_key = nullptr; - gpgme_get_key(ctx_, fpr.c_str(), &_p_key, 0); - if (_p_key == nullptr) - DLOG(WARNING) << "GpgKeyGetter GetKey _p_key Null" << fpr; - return GpgKey(std::move(_p_key)); -} - -GpgFrontend::KeyLinkListPtr GpgFrontend::GpgKeyGetter::FetchKey() { - gpgme_error_t err; - - auto keys_list = std::make_unique<GpgKeyLinkList>(); - - err = gpgme_op_keylist_start(ctx_, nullptr, 0); - assert(check_gpg_error_2_err_code(err) == GPG_ERR_NO_ERROR); - - gpgme_key_t key; - while ((err = gpgme_op_keylist_next(ctx_, &key)) == GPG_ERR_NO_ERROR) { - keys_list->push_back(GetKey(key->fpr)); - } - - assert(check_gpg_error_2_err_code(err, GPG_ERR_EOF) == GPG_ERR_EOF); - - err = gpgme_op_keylist_end(ctx_); - - assert(check_gpg_error_2_err_code(err, GPG_ERR_EOF) == GPG_ERR_NO_ERROR); - - return keys_list; -} - -GpgFrontend::KeyListPtr GpgFrontend::GpgKeyGetter::GetKeys( - const KeyIdArgsListPtr& ids) { - auto keys = std::make_unique<KeyArgsList>(); - for (const auto& id : *ids) keys->push_back(GetKey(id)); - return keys; -} - -GpgFrontend::KeyLinkListPtr GpgFrontend::GpgKeyGetter::GetKeysCopy( - const GpgFrontend::KeyLinkListPtr& keys) { - auto keys_copy = std::make_unique<GpgKeyLinkList>(); - for (const auto& key : *keys) keys_copy->push_back(key.Copy()); - return keys_copy; -} - -GpgFrontend::KeyListPtr GpgFrontend::GpgKeyGetter::GetKeysCopy( - const GpgFrontend::KeyListPtr& keys) { - auto keys_copy = std::make_unique<KeyArgsList>(); - for (const auto& key : *keys) keys_copy->push_back(key.Copy()); - return keys_copy; -} |