From 3ad7fecdb6458fdd6f146bed19fe643c7f93e905 Mon Sep 17 00:00:00 2001 From: saturneric Date: Tue, 7 Nov 2023 15:18:06 +0800 Subject: refactor: remove CommonUtils at core --- src/core/utils/CacheUtils.cpp | 50 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/core/utils/CacheUtils.cpp (limited to 'src/core/utils/CacheUtils.cpp') diff --git a/src/core/utils/CacheUtils.cpp b/src/core/utils/CacheUtils.cpp new file mode 100644 index 00000000..32c7ac66 --- /dev/null +++ b/src/core/utils/CacheUtils.cpp @@ -0,0 +1,50 @@ +/** + * 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 . + * + * 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 starting on May 12, 2021. + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + */ + +#include "CacheUtils.h" + +#include "core/function/CacheManager.h" + +namespace GpgFrontend { + +void SetTempCacheValue(const std::string& key, const std::string& value) { + nlohmann::json cache_json = value; + CacheManager::GetInstance().SaveCache(key, cache_json); +} + +auto GetTempCacheValue(const std::string& key) -> std::string { + nlohmann::json cache_json = ""; + cache_json = CacheManager::GetInstance().LoadCache(key, cache_json); + return cache_json.template get(); +} + +void ResetTempCacheValue(const std::string& key) { + CacheManager::GetInstance().ResetCache(key); +} + +} // namespace GpgFrontend \ No newline at end of file -- cgit v1.2.3 From bf538056b24a68b8fd235b1c50991ee8eb46a776 Mon Sep 17 00:00:00 2001 From: saturneric Date: Fri, 12 Jan 2024 14:02:37 +0800 Subject: refactor: use QString instead of std::string and improve threading system --- src/core/utils/CacheUtils.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/core/utils/CacheUtils.cpp') diff --git a/src/core/utils/CacheUtils.cpp b/src/core/utils/CacheUtils.cpp index 32c7ac66..575634ae 100644 --- a/src/core/utils/CacheUtils.cpp +++ b/src/core/utils/CacheUtils.cpp @@ -32,18 +32,18 @@ namespace GpgFrontend { -void SetTempCacheValue(const std::string& key, const std::string& value) { - nlohmann::json cache_json = value; +void SetTempCacheValue(const QString& key, const QString& value) { + nlohmann::json cache_json = value.toStdString(); CacheManager::GetInstance().SaveCache(key, cache_json); } -auto GetTempCacheValue(const std::string& key) -> std::string { +auto GetTempCacheValue(const QString& key) -> QString { nlohmann::json cache_json = ""; cache_json = CacheManager::GetInstance().LoadCache(key, cache_json); - return cache_json.template get(); + return QString::fromStdString(cache_json.template get()); } -void ResetTempCacheValue(const std::string& key) { +void ResetTempCacheValue(const QString& key) { CacheManager::GetInstance().ResetCache(key); } -- cgit v1.2.3 From 6c632d70b391f8b317c68f7db8cfd217f9370995 Mon Sep 17 00:00:00 2001 From: saturneric Date: Mon, 15 Jan 2024 17:22:32 +0800 Subject: feat: use qt json support components in data object and infos gathering module --- src/core/utils/CacheUtils.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'src/core/utils/CacheUtils.cpp') diff --git a/src/core/utils/CacheUtils.cpp b/src/core/utils/CacheUtils.cpp index 575634ae..5e8657fa 100644 --- a/src/core/utils/CacheUtils.cpp +++ b/src/core/utils/CacheUtils.cpp @@ -33,14 +33,17 @@ namespace GpgFrontend { void SetTempCacheValue(const QString& key, const QString& value) { - nlohmann::json cache_json = value.toStdString(); - CacheManager::GetInstance().SaveCache(key, cache_json); + QJsonDocument json; + json.setObject(QJsonObject({{key, value}})); + CacheManager::GetInstance().SaveCache(key, json); } auto GetTempCacheValue(const QString& key) -> QString { - nlohmann::json cache_json = ""; - cache_json = CacheManager::GetInstance().LoadCache(key, cache_json); - return QString::fromStdString(cache_json.template get()); + QJsonDocument json = CacheManager::GetInstance().LoadCache(key); + if (!json.isObject()) return {}; + auto json_object = json.object(); + if (!json_object.contains(key) && json_object[key].isString()) return {}; + return json_object[key].toString(); } void ResetTempCacheValue(const QString& key) { -- cgit v1.2.3 From e352e8e6b8d03a24ef5d52eef3e4d370807b5bbd Mon Sep 17 00:00:00 2001 From: saturneric Date: Wed, 17 Jan 2024 19:39:47 +0800 Subject: fix: find and slove some bugs --- src/core/utils/CacheUtils.cpp | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) (limited to 'src/core/utils/CacheUtils.cpp') diff --git a/src/core/utils/CacheUtils.cpp b/src/core/utils/CacheUtils.cpp index 5e8657fa..e521870c 100644 --- a/src/core/utils/CacheUtils.cpp +++ b/src/core/utils/CacheUtils.cpp @@ -32,21 +32,15 @@ namespace GpgFrontend { -void SetTempCacheValue(const QString& key, const QString& value) { - QJsonDocument json; - json.setObject(QJsonObject({{key, value}})); - CacheManager::GetInstance().SaveCache(key, json); +void SetCacheValue(const QString& key, QString value) { + CacheManager::GetInstance().SaveCache(key, std::move(value)); } -auto GetTempCacheValue(const QString& key) -> QString { - QJsonDocument json = CacheManager::GetInstance().LoadCache(key); - if (!json.isObject()) return {}; - auto json_object = json.object(); - if (!json_object.contains(key) && json_object[key].isString()) return {}; - return json_object[key].toString(); +auto GetCacheValue(const QString& key) -> QString { + return CacheManager::GetInstance().LoadCache(key); } -void ResetTempCacheValue(const QString& key) { +void ResetCacheValue(const QString& key) { CacheManager::GetInstance().ResetCache(key); } -- cgit v1.2.3