diff options
author | Saturn&Eric <[email protected]> | 2021-12-16 21:20:56 +0000 |
---|---|---|
committer | GitHub <[email protected]> | 2021-12-16 21:20:56 +0000 |
commit | 52ac9979bd8c4820a0034d619cb7d1d3e4105d8b (patch) | |
tree | c7524432467825603d83a17f398249d431c28b18 /src/gpg/function/GpgKeyGetter.cpp | |
parent | Merge pull request #32 from saturneric/develop (diff) | |
parent | Fixed bugs & Improve Speed. (diff) | |
download | GpgFrontend-52ac9979bd8c4820a0034d619cb7d1d3e4105d8b.tar.gz GpgFrontend-52ac9979bd8c4820a0034d619cb7d1d3e4105d8b.zip |
Merge pull request #34 from saturneric/develop
v2.0.3
Diffstat (limited to 'src/gpg/function/GpgKeyGetter.cpp')
-rw-r--r-- | src/gpg/function/GpgKeyGetter.cpp | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/gpg/function/GpgKeyGetter.cpp b/src/gpg/function/GpgKeyGetter.cpp index be27d69e..664aff56 100644 --- a/src/gpg/function/GpgKeyGetter.cpp +++ b/src/gpg/function/GpgKeyGetter.cpp @@ -29,7 +29,7 @@ #include "GpgConstants.h" GpgFrontend::GpgKey GpgFrontend::GpgKeyGetter::GetKey(const std::string& fpr) { - gpgme_key_t _p_key; + 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; @@ -41,7 +41,7 @@ GpgFrontend::GpgKey GpgFrontend::GpgKeyGetter::GetKey(const std::string& fpr) { GpgFrontend::GpgKey GpgFrontend::GpgKeyGetter::GetPubkey( const std::string& fpr) { - gpgme_key_t _p_key; + 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; @@ -67,9 +67,24 @@ GpgFrontend::KeyLinkListPtr GpgFrontend::GpgKeyGetter::FetchKey() { 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; +} |