diff options
author | saturneric <[email protected]> | 2024-12-13 15:22:33 +0000 |
---|---|---|
committer | saturneric <[email protected]> | 2024-12-13 15:22:33 +0000 |
commit | f7a00c58d2824f49ecaafc0152fc0b8213772e46 (patch) | |
tree | d012e5fac4ff9f48cd10381a0b79de0294d28d18 /src/core/function | |
parent | doc: update SECURITY.md (diff) | |
download | GpgFrontend-f7a00c58d2824f49ecaafc0152fc0b8213772e46.tar.gz GpgFrontend-f7a00c58d2824f49ecaafc0152fc0b8213772e46.zip |
refactor: using qt containers instead of std containers
Diffstat (limited to 'src/core/function')
-rw-r--r-- | src/core/function/basic/GpgFunctionObject.h | 6 | ||||
-rw-r--r-- | src/core/function/basic/SingletonStorage.cpp | 9 | ||||
-rw-r--r-- | src/core/function/basic/SingletonStorage.h | 7 | ||||
-rw-r--r-- | src/core/function/gpg/GpgBasicOperator.cpp | 14 | ||||
-rw-r--r-- | src/core/function/gpg/GpgBasicOperator.h | 2 | ||||
-rw-r--r-- | src/core/function/gpg/GpgCommandExecutor.cpp | 4 | ||||
-rw-r--r-- | src/core/function/gpg/GpgFileOpera.cpp | 12 | ||||
-rw-r--r-- | src/core/function/gpg/GpgKeyGetter.cpp | 36 | ||||
-rw-r--r-- | src/core/function/gpg/GpgKeyGetter.h | 14 | ||||
-rw-r--r-- | src/core/function/gpg/GpgKeyImportExporter.cpp | 6 | ||||
-rw-r--r-- | src/core/function/gpg/GpgKeyManager.cpp | 4 | ||||
-rw-r--r-- | src/core/function/gpg/GpgKeyManager.h | 2 | ||||
-rw-r--r-- | src/core/function/gpg/GpgKeyOpera.cpp | 10 | ||||
-rw-r--r-- | src/core/function/gpg/GpgKeyOpera.h | 2 |
14 files changed, 55 insertions, 73 deletions
diff --git a/src/core/function/basic/GpgFunctionObject.h b/src/core/function/basic/GpgFunctionObject.h index 06ad6bfd..41a597e5 100644 --- a/src/core/function/basic/GpgFunctionObject.h +++ b/src/core/function/basic/GpgFunctionObject.h @@ -141,11 +141,11 @@ class SingletonFunctionObject : public ChannelObject { } /** - * @brief Get all the channel ids + * @brief Get the All Channel Id object * - * @return std::vector<int> + * @return QContainer<int> */ - static auto GetAllChannelId() -> std::vector<int> { + static auto GetAllChannelId() -> QContainer<int> { return SingletonStorageCollection::GetInstance(false) ->GetSingletonStorage(typeid(T)) ->GetAllChannelId(); diff --git a/src/core/function/basic/SingletonStorage.cpp b/src/core/function/basic/SingletonStorage.cpp index e51acd77..be26d0f5 100644 --- a/src/core/function/basic/SingletonStorage.cpp +++ b/src/core/function/basic/SingletonStorage.cpp @@ -31,7 +31,8 @@ #include <shared_mutex> #include "core/function/basic/ChannelObject.h" -#include "utils/MemoryUtils.h" +#include "core/typedef/CoreTypedef.h" +#include "core/utils/MemoryUtils.h" namespace GpgFrontend { @@ -60,8 +61,8 @@ class SingletonStorage::Impl { } } - auto GetAllChannelId() -> std::vector<int> { - std::vector<int> channels; + auto GetAllChannelId() -> QContainer<int> { + QContainer<int> channels; channels.reserve(instances_map_.size()); for (const auto& [key, value] : instances_map_) { channels.push_back(key); @@ -119,7 +120,7 @@ auto SingletonStorage::FindObjectInChannel(int channel) return p_->FindObjectInChannel(channel); } -auto SingletonStorage::GetAllChannelId() -> std::vector<int> { +auto SingletonStorage::GetAllChannelId() -> QContainer<int> { return p_->GetAllChannelId(); } diff --git a/src/core/function/basic/SingletonStorage.h b/src/core/function/basic/SingletonStorage.h index 81ae570f..574a16ec 100644 --- a/src/core/function/basic/SingletonStorage.h +++ b/src/core/function/basic/SingletonStorage.h @@ -29,6 +29,7 @@ #pragma once #include "core/function/SecureMemoryAllocator.h" +#include "core/typedef/GpgTypedef.h" namespace GpgFrontend { @@ -66,11 +67,11 @@ class GPGFRONTEND_CORE_EXPORT SingletonStorage { auto FindObjectInChannel(int channel) -> ChannelObject*; /** - * @brief Get all the channel ids + * @brief Get the All Channel Id object * - * @return std::vector<int> + * @return QContainer<int> */ - auto GetAllChannelId() -> std::vector<int>; + auto GetAllChannelId() -> QContainer<int>; /** * @brief Set a new object in channel object diff --git a/src/core/function/gpg/GpgBasicOperator.cpp b/src/core/function/gpg/GpgBasicOperator.cpp index 6443f242..661c1283 100644 --- a/src/core/function/gpg/GpgBasicOperator.cpp +++ b/src/core/function/gpg/GpgBasicOperator.cpp @@ -50,7 +50,7 @@ void GpgBasicOperator::Encrypt(const KeyArgsList& keys, [=](const DataObjectPtr& data_object) -> GpgError { if (keys.empty()) return GPG_ERR_CANCELED; - std::vector<gpgme_key_t> recipients(keys.begin(), keys.end()); + QContainer<gpgme_key_t> recipients(keys.begin(), keys.end()); // Last entry data_in array has to be nullptr recipients.emplace_back(nullptr); @@ -77,7 +77,7 @@ auto GpgBasicOperator::EncryptSync(const KeyArgsList& keys, [=](const DataObjectPtr& data_object) -> GpgError { if (keys.empty()) return GPG_ERR_CANCELED; - std::vector<gpgme_key_t> recipients(keys.begin(), keys.end()); + QContainer<gpgme_key_t> recipients(keys.begin(), keys.end()); // Last entry data_in array has to be nullptr recipients.emplace_back(nullptr); @@ -329,7 +329,7 @@ void GpgBasicOperator::EncryptSign(const KeyArgsList& keys, if (keys.empty() || signers.empty()) return GPG_ERR_CANCELED; GpgError err; - std::vector<gpgme_key_t> recipients(keys.begin(), keys.end()); + QContainer<gpgme_key_t> recipients(keys.begin(), keys.end()); // Last entry data_in array has to be nullptr recipients.emplace_back(nullptr); @@ -361,7 +361,7 @@ auto GpgBasicOperator::EncryptSignSync(const KeyArgsList& keys, if (keys.empty() || signers.empty()) return GPG_ERR_CANCELED; GpgError err; - std::vector<gpgme_key_t> recipients(keys.begin(), keys.end()); + QContainer<gpgme_key_t> recipients(keys.begin(), keys.end()); // Last entry data_in array has to be nullptr recipients.emplace_back(nullptr); @@ -401,14 +401,14 @@ void GpgBasicOperator::SetSigners(const KeyArgsList& signers, bool ascii) { } } -auto GpgBasicOperator::GetSigners(bool ascii) -> std::unique_ptr<KeyArgsList> { +auto GpgBasicOperator::GetSigners(bool ascii) -> KeyArgsList { auto* ctx = ascii ? ctx_.DefaultContext() : ctx_.BinaryContext(); auto count = gpgme_signers_count(ctx); - auto signers = std::make_unique<std::vector<GpgKey>>(); + auto signers = KeyArgsList{}; for (auto i = 0U; i < count; i++) { auto key = GpgKey(gpgme_signers_enum(ctx, i)); - signers->push_back(GpgKey(std::move(key))); + signers.push_back(GpgKey(std::move(key))); } return signers; } diff --git a/src/core/function/gpg/GpgBasicOperator.h b/src/core/function/gpg/GpgBasicOperator.h index 431ccf1c..990d7af5 100644 --- a/src/core/function/gpg/GpgBasicOperator.h +++ b/src/core/function/gpg/GpgBasicOperator.h @@ -226,7 +226,7 @@ class GPGFRONTEND_CORE_EXPORT GpgBasicOperator * * @return Intelligent pointer pointing to the private key list */ - auto GetSigners(bool ascii) -> std::unique_ptr<KeyArgsList>; + auto GetSigners(bool ascii) -> KeyArgsList; private: GpgContext& ctx_ = GpgContext::GetInstance( diff --git a/src/core/function/gpg/GpgCommandExecutor.cpp b/src/core/function/gpg/GpgCommandExecutor.cpp index 3e218b92..5256de60 100644 --- a/src/core/function/gpg/GpgCommandExecutor.cpp +++ b/src/core/function/gpg/GpgCommandExecutor.cpp @@ -45,8 +45,8 @@ auto BuildTaskFromExecCtx(const GpgCommandExecutor::ExecuteContext &context) Thread::Task::TaskCallback result_callback = [cmd](int /*rtn*/, const DataObjectPtr &data_object) { - FLOG_D("data object args count of cmd executor result callback: %ld", - data_object->GetObjectSize()); + LOG_D() << "data object args count of cmd executor result callback:" + << data_object->GetObjectSize(); if (!data_object->Check<int, QString, GpgCommandExecutorCallback>()) { FLOG_W("data object checking failed"); diff --git a/src/core/function/gpg/GpgFileOpera.cpp b/src/core/function/gpg/GpgFileOpera.cpp index 5d29364b..9dea413d 100644 --- a/src/core/function/gpg/GpgFileOpera.cpp +++ b/src/core/function/gpg/GpgFileOpera.cpp @@ -50,7 +50,7 @@ void GpgFileOpera::EncryptFile(const KeyArgsList& keys, const QString& in_path, const GpgOperationCallback& cb) { RunGpgOperaAsync( [=](const DataObjectPtr& data_object) -> GpgError { - std::vector<gpgme_key_t> recipients(keys.begin(), keys.end()); + QContainer<gpgme_key_t> recipients(keys.begin(), keys.end()); // Last entry data_in array has to be nullptr recipients.emplace_back(nullptr); @@ -74,7 +74,7 @@ auto GpgFileOpera::EncryptFileSync( const QString& out_path) -> std::tuple<GpgError, DataObjectPtr> { return RunGpgOperaSync( [=](const DataObjectPtr& data_object) -> GpgError { - std::vector<gpgme_key_t> recipients(keys.begin(), keys.end()); + QContainer<gpgme_key_t> recipients(keys.begin(), keys.end()); // Last entry data_in array has to be nullptr recipients.emplace_back(nullptr); @@ -102,7 +102,7 @@ void GpgFileOpera::EncryptDirectory(const KeyArgsList& keys, RunGpgOperaAsync( [=](const DataObjectPtr& data_object) -> GpgError { - std::vector<gpgme_key_t> recipients(keys.begin(), keys.end()); + QContainer<gpgme_key_t> recipients(keys.begin(), keys.end()); // Last entry data_in array has to be nullptr recipients.emplace_back(nullptr); @@ -304,7 +304,7 @@ void GpgFileOpera::EncryptSignFile(const KeyArgsList& keys, RunGpgOperaAsync( [=](const DataObjectPtr& data_object) -> GpgError { GpgError err; - std::vector<gpgme_key_t> recipients(keys.begin(), keys.end()); + QContainer<gpgme_key_t> recipients(keys.begin(), keys.end()); // Last entry data_in array has to be nullptr recipients.emplace_back(nullptr); @@ -336,7 +336,7 @@ auto GpgFileOpera::EncryptSignFileSync( return RunGpgOperaSync( [=](const DataObjectPtr& data_object) -> GpgError { GpgError err; - std::vector<gpgme_key_t> recipients(keys.begin(), keys.end()); + QContainer<gpgme_key_t> recipients(keys.begin(), keys.end()); // Last entry data_in array has to be nullptr recipients.emplace_back(nullptr); @@ -372,7 +372,7 @@ void GpgFileOpera::EncryptSignDirectory(const KeyArgsList& keys, RunGpgOperaAsync( [=](const DataObjectPtr& data_object) -> GpgError { GpgError err; - std::vector<gpgme_key_t> recipients(keys.begin(), keys.end()); + QContainer<gpgme_key_t> recipients(keys.begin(), keys.end()); // Last entry data_in array has to be nullptr recipients.emplace_back(nullptr); diff --git a/src/core/function/gpg/GpgKeyGetter.cpp b/src/core/function/gpg/GpgKeyGetter.cpp index c4526e49..e5b234f8 100644 --- a/src/core/function/gpg/GpgKeyGetter.cpp +++ b/src/core/function/gpg/GpgKeyGetter.cpp @@ -73,17 +73,17 @@ class GpgKeyGetter::Impl : public SingletonFunctionObject<GpgKeyGetter::Impl> { return GpgKey(std::move(p_key)); } - auto FetchKey() -> KeyLinkListPtr { + auto FetchKey() -> GpgKeyList { if (keys_search_cache_.empty()) { FlushKeyCache(); } - auto keys_list = std::make_unique<GpgKeyLinkList>(); + auto keys_list = GpgKeyList{}; { // get the lock std::lock_guard<std::mutex> lock(keys_cache_mutex_); for (const auto& key : keys_cache_) { - keys_list->push_back(key); + keys_list.push_back(key); } } return keys_list; @@ -149,25 +149,17 @@ class GpgKeyGetter::Impl : public SingletonFunctionObject<GpgKeyGetter::Impl> { return true; } - auto GetKeys(const KeyIdArgsListPtr& ids) -> KeyListPtr { - auto keys = std::make_unique<KeyArgsList>(); - for (const auto& key_id : *ids) keys->emplace_back(GetKey(key_id, true)); + auto GetKeys(const KeyIdArgsList& ids) -> GpgKeyList { + auto keys = GpgKeyList{}; + for (const auto& key_id : ids) keys.emplace_back(GetKey(key_id, true)); return keys; } - auto GetKeysCopy(const KeyLinkListPtr& keys) -> KeyLinkListPtr { - // get the lock - std::lock_guard<std::mutex> lock(ctx_mutex_); - auto keys_copy = std::make_unique<GpgKeyLinkList>(); - for (const auto& key : *keys) keys_copy->emplace_back(key); - return keys_copy; - } - - auto GetKeysCopy(const KeyListPtr& keys) -> KeyListPtr { + auto GetKeysCopy(const GpgKeyList& keys) -> GpgKeyList { // get the lock std::lock_guard<std::mutex> lock(ctx_mutex_); - auto keys_copy = std::make_unique<KeyArgsList>(); - for (const auto& key : *keys) keys_copy->emplace_back(key); + auto keys_copy = GpgKeyList{}; + for (const auto& key : keys) keys_copy.emplace_back(key); return keys_copy; } @@ -243,19 +235,15 @@ auto GpgKeyGetter::GetPubkey(const QString& key_id, bool use_cache) -> GpgKey { auto GpgKeyGetter::FlushKeyCache() -> bool { return p_->FlushKeyCache(); } -auto GpgKeyGetter::GetKeys(const KeyIdArgsListPtr& ids) -> KeyListPtr { +auto GpgKeyGetter::GetKeys(const KeyIdArgsList& ids) -> GpgKeyList { return p_->GetKeys(ids); } -auto GpgKeyGetter::GetKeysCopy(const KeyLinkListPtr& keys) -> KeyLinkListPtr { - return p_->GetKeysCopy(keys); -} - -auto GpgKeyGetter::GetKeysCopy(const KeyListPtr& keys) -> KeyListPtr { +auto GpgKeyGetter::GetKeysCopy(const GpgKeyList& keys) -> GpgKeyList { return p_->GetKeysCopy(keys); } -auto GpgKeyGetter::FetchKey() -> KeyLinkListPtr { return p_->FetchKey(); } +auto GpgKeyGetter::FetchKey() -> GpgKeyList { return p_->FetchKey(); } auto GpgKeyGetter::GetGpgKeyTableModel() -> QSharedPointer<GpgKeyTableModel> { return p_->GetGpgKeyTableModel(); diff --git a/src/core/function/gpg/GpgKeyGetter.h b/src/core/function/gpg/GpgKeyGetter.h index f354ff49..2ed34531 100644 --- a/src/core/function/gpg/GpgKeyGetter.h +++ b/src/core/function/gpg/GpgKeyGetter.h @@ -68,7 +68,7 @@ class GPGFRONTEND_CORE_EXPORT GpgKeyGetter * @param ids * @return KeyListPtr */ - auto GetKeys(const KeyIdArgsListPtr& key_ids) -> KeyListPtr; + auto GetKeys(const KeyIdArgsList& key_ids) -> GpgKeyList; /** * @brief Get the Pubkey object @@ -83,7 +83,7 @@ class GPGFRONTEND_CORE_EXPORT GpgKeyGetter * * @return KeyLinkListPtr */ - auto FetchKey() -> KeyLinkListPtr; + auto FetchKey() -> GpgKeyList; /** * @brief flush the keys in the cache @@ -97,15 +97,7 @@ class GPGFRONTEND_CORE_EXPORT GpgKeyGetter * @param keys * @return KeyListPtr */ - auto GetKeysCopy(const KeyListPtr& keys) -> KeyListPtr; - - /** - * @brief Get the Keys Copy object - * - * @param keys - * @return KeyLinkListPtr - */ - auto GetKeysCopy(const KeyLinkListPtr& keys) -> KeyLinkListPtr; + auto GetKeysCopy(const GpgKeyList& keys) -> GpgKeyList; /** * @brief diff --git a/src/core/function/gpg/GpgKeyImportExporter.cpp b/src/core/function/gpg/GpgKeyImportExporter.cpp index fa1f908f..6c78f760 100644 --- a/src/core/function/gpg/GpgKeyImportExporter.cpp +++ b/src/core/function/gpg/GpgKeyImportExporter.cpp @@ -82,7 +82,7 @@ auto GpgKeyImportExporter::ExportKey(const GpgKey& key, bool secret, bool ascii, if (shortest) mode |= GPGME_EXPORT_MODE_MINIMAL; if (ssh_mode) mode |= GPGME_EXPORT_MODE_SSH; - std::vector<gpgme_key_t> keys_array; + QContainer<gpgme_key_t> keys_array; // Last entry data_in array has to be nullptr keys_array.emplace_back(key); @@ -114,7 +114,7 @@ void GpgKeyImportExporter::ExportKeys(const KeyArgsList& keys, bool secret, if (shortest) mode |= GPGME_EXPORT_MODE_MINIMAL; if (ssh_mode) mode |= GPGME_EXPORT_MODE_SSH; - std::vector<gpgme_key_t> keys_array(keys.begin(), keys.end()); + QContainer<gpgme_key_t> keys_array(keys.begin(), keys.end()); // Last entry data_in array has to be nullptr keys_array.emplace_back(nullptr); @@ -144,7 +144,7 @@ void GpgKeyImportExporter::ExportAllKeys(const KeyArgsList& keys, bool secret, if (keys.empty()) return GPG_ERR_CANCELED; int mode = 0; - std::vector<gpgme_key_t> keys_array(keys.begin(), keys.end()); + QContainer<gpgme_key_t> keys_array(keys.begin(), keys.end()); // Last entry data_in array has to be nullptr keys_array.emplace_back(nullptr); diff --git a/src/core/function/gpg/GpgKeyManager.cpp b/src/core/function/gpg/GpgKeyManager.cpp index d0576e59..674a3884 100644 --- a/src/core/function/gpg/GpgKeyManager.cpp +++ b/src/core/function/gpg/GpgKeyManager.cpp @@ -61,10 +61,10 @@ auto GpgKeyManager::SignKey(const GpgKey& target, KeyArgsList& keys, } auto GpgKeyManager::RevSign(const GpgKey& key, - const SignIdArgsListPtr& signature_id) -> bool { + const SignIdArgsList& signature_id) -> bool { auto& key_getter = GpgKeyGetter::GetInstance(GetChannel()); - for (const auto& sign_id : *signature_id) { + for (const auto& sign_id : signature_id) { auto signing_key = key_getter.GetKey(sign_id.first); assert(signing_key.IsGood()); diff --git a/src/core/function/gpg/GpgKeyManager.h b/src/core/function/gpg/GpgKeyManager.h index 7bd45a1c..817179e1 100644 --- a/src/core/function/gpg/GpgKeyManager.h +++ b/src/core/function/gpg/GpgKeyManager.h @@ -68,7 +68,7 @@ class GPGFRONTEND_CORE_EXPORT GpgKeyManager * @return false */ auto RevSign(const GpgFrontend::GpgKey& key, - const GpgFrontend::SignIdArgsListPtr& signature_id) -> bool; + const GpgFrontend::SignIdArgsList& signature_id) -> bool; /** * @brief Set the Expire object diff --git a/src/core/function/gpg/GpgKeyOpera.cpp b/src/core/function/gpg/GpgKeyOpera.cpp index a5346655..92a969ae 100644 --- a/src/core/function/gpg/GpgKeyOpera.cpp +++ b/src/core/function/gpg/GpgKeyOpera.cpp @@ -51,9 +51,9 @@ GpgKeyOpera::GpgKeyOpera(int channel) * Delete keys * @param uidList key ids */ -void GpgKeyOpera::DeleteKeys(KeyIdArgsListPtr key_ids) { +void GpgKeyOpera::DeleteKeys(KeyIdArgsList key_ids) { GpgError err; - for (const auto& tmp : *key_ids) { + for (const auto& tmp : key_ids) { auto key = GpgKeyGetter::GetInstance(GetChannel()).GetKey(tmp); if (key.IsGood()) { err = CheckGpgError(gpgme_op_delete_ext( @@ -532,8 +532,8 @@ auto GpgKeyOpera::ModifyTOFUPolicy( } void GpgKeyOpera::DeleteKey(const KeyId& key_id) { - auto keys = std::make_unique<KeyIdArgsList>(); - keys->push_back(key_id); - DeleteKeys(std::move(keys)); + auto keys = KeyIdArgsList{}; + keys.push_back(key_id); + DeleteKeys(keys); } } // namespace GpgFrontend diff --git a/src/core/function/gpg/GpgKeyOpera.h b/src/core/function/gpg/GpgKeyOpera.h index 7b8a01a1..0084d473 100644 --- a/src/core/function/gpg/GpgKeyOpera.h +++ b/src/core/function/gpg/GpgKeyOpera.h @@ -60,7 +60,7 @@ class GPGFRONTEND_CORE_EXPORT GpgKeyOpera * * @param key_ids */ - void DeleteKeys(KeyIdArgsListPtr key_ids); + void DeleteKeys(KeyIdArgsList key_ids); /** * @brief |