diff options
author | Saturneric <[email protected]> | 2022-02-04 16:47:18 +0000 |
---|---|---|
committer | Saturneric <[email protected]> | 2022-02-04 16:47:18 +0000 |
commit | 830fe612c6bbbff98274093b0128c9ca489f9f79 (patch) | |
tree | f3d90bc55f16eb431191b23bbc00ae0b0a9e78ef /src/gpg/function/GpgKeyGetter.cpp | |
parent | <chore>(project): Adjust the project to make the compilation (diff) | |
download | GpgFrontend-830fe612c6bbbff98274093b0128c9ca489f9f79.tar.gz GpgFrontend-830fe612c6bbbff98274093b0128c9ca489f9f79.zip |
<refactor>(src): rename the gpg directory to core
Diffstat (limited to 'src/gpg/function/GpgKeyGetter.cpp')
-rw-r--r-- | src/gpg/function/GpgKeyGetter.cpp | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/src/gpg/function/GpgKeyGetter.cpp b/src/gpg/function/GpgKeyGetter.cpp deleted file mode 100644 index caab6fb2..00000000 --- a/src/gpg/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 "gpg/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; -} |