aboutsummaryrefslogtreecommitdiffstats
path: root/src/core/function/gpg
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2024-10-26 13:43:14 +0000
committersaturneric <[email protected]>2024-10-26 13:43:14 +0000
commit24c28eb752aa611dd1670f3fa7ab6b358b052f1b (patch)
tree6a4f9af003fa4a86b7d7e29a965e37a231951092 /src/core/function/gpg
parentfix: thread concurrent crash issue (diff)
downloadGpgFrontend-24c28eb752aa611dd1670f3fa7ab6b358b052f1b.tar.gz
GpgFrontend-24c28eb752aa611dd1670f3fa7ab6b358b052f1b.zip
fix: test basic operations of multi key db and solve issues
Diffstat (limited to 'src/core/function/gpg')
-rw-r--r--src/core/function/gpg/GpgKeyGetter.cpp4
-rw-r--r--src/core/function/gpg/GpgKeyManager.cpp4
-rw-r--r--src/core/function/gpg/GpgKeyOpera.cpp18
3 files changed, 13 insertions, 13 deletions
diff --git a/src/core/function/gpg/GpgKeyGetter.cpp b/src/core/function/gpg/GpgKeyGetter.cpp
index 5d002b0d..c4526e49 100644
--- a/src/core/function/gpg/GpgKeyGetter.cpp
+++ b/src/core/function/gpg/GpgKeyGetter.cpp
@@ -172,8 +172,8 @@ class GpgKeyGetter::Impl : public SingletonFunctionObject<GpgKeyGetter::Impl> {
}
auto GetGpgKeyTableModel() -> QSharedPointer<GpgKeyTableModel> {
- return SecureCreateQSharedObject<GpgKeyTableModel>(FetchGpgKeyList(),
- nullptr);
+ return SecureCreateQSharedObject<GpgKeyTableModel>(
+ SingletonFunctionObject::GetChannel(), FetchGpgKeyList(), nullptr);
}
private:
diff --git a/src/core/function/gpg/GpgKeyManager.cpp b/src/core/function/gpg/GpgKeyManager.cpp
index fda3173a..2d201289 100644
--- a/src/core/function/gpg/GpgKeyManager.cpp
+++ b/src/core/function/gpg/GpgKeyManager.cpp
@@ -39,7 +39,7 @@ GpgFrontend::GpgKeyManager::GpgKeyManager(int channel)
auto GpgFrontend::GpgKeyManager::SignKey(
const GpgFrontend::GpgKey& target, GpgFrontend::KeyArgsList& keys,
const QString& uid, const std::unique_ptr<QDateTime>& expires) -> bool {
- GpgBasicOperator::GetInstance().SetSigners(keys, true);
+ GpgBasicOperator::GetInstance(GetChannel()).SetSigners(keys, true);
unsigned int flags = 0;
unsigned int expires_time_t = 0;
@@ -60,7 +60,7 @@ auto GpgFrontend::GpgKeyManager::SignKey(
auto GpgFrontend::GpgKeyManager::RevSign(
const GpgFrontend::GpgKey& key,
const GpgFrontend::SignIdArgsListPtr& signature_id) -> bool {
- auto& key_getter = GpgKeyGetter::GetInstance();
+ auto& key_getter = GpgKeyGetter::GetInstance(GetChannel());
for (const auto& sign_id : *signature_id) {
auto signing_key = key_getter.GetKey(sign_id.first);
diff --git a/src/core/function/gpg/GpgKeyOpera.cpp b/src/core/function/gpg/GpgKeyOpera.cpp
index 0d84017f..f5027d4c 100644
--- a/src/core/function/gpg/GpgKeyOpera.cpp
+++ b/src/core/function/gpg/GpgKeyOpera.cpp
@@ -54,7 +54,7 @@ GpgKeyOpera::GpgKeyOpera(int channel)
void GpgKeyOpera::DeleteKeys(KeyIdArgsListPtr key_ids) {
GpgError err;
for (const auto& tmp : *key_ids) {
- auto key = GpgKeyGetter::GetInstance().GetKey(tmp);
+ auto key = GpgKeyGetter::GetInstance(GetChannel()).GetKey(tmp);
if (key.IsGood()) {
err = CheckGpgError(gpgme_op_delete_ext(
ctx_.DefaultContext(), static_cast<gpgme_key_t>(key),
@@ -332,8 +332,8 @@ void GpgKeyOpera::GenerateKeyWithSubkey(
const std::shared_ptr<GenKeyInfo>& subkey_params,
const GpgOperationCallback& callback) {
RunGpgOperaAsync(
- [&ctx = ctx_, params,
- subkey_params](const DataObjectPtr& data_object) -> GpgError {
+ [&ctx = ctx_, params, subkey_params,
+ channel = GetChannel()](const DataObjectPtr& data_object) -> GpgError {
auto userid = params->GetUserid().toUtf8();
auto algo = (params->GetAlgo() + params->GetKeySizeStr()).toUtf8();
unsigned long expires =
@@ -368,8 +368,8 @@ void GpgKeyOpera::GenerateKeyWithSubkey(
return err;
}
- auto key =
- GpgKeyGetter::GetInstance().GetKey(genkey_result.GetFingerprint());
+ auto key = GpgKeyGetter::GetInstance(channel).GetKey(
+ genkey_result.GetFingerprint());
if (!key.IsGood()) {
LOG_W() << "cannot get key which has been generate, fpr: "
<< genkey_result.GetFingerprint();
@@ -413,8 +413,8 @@ auto GpgKeyOpera::GenerateKeyWithSubkeySync(
const std::shared_ptr<GenKeyInfo>& subkey_params)
-> std::tuple<GpgError, DataObjectPtr> {
return RunGpgOperaSync(
- [&ctx = ctx_, params,
- subkey_params](const DataObjectPtr& data_object) -> GpgError {
+ [&ctx = ctx_, params, subkey_params,
+ channel = GetChannel()](const DataObjectPtr& data_object) -> GpgError {
auto userid = params->GetUserid().toUtf8();
auto algo = (params->GetAlgo() + params->GetKeySizeStr()).toUtf8();
unsigned long expires =
@@ -449,8 +449,8 @@ auto GpgKeyOpera::GenerateKeyWithSubkeySync(
return err;
}
- auto key =
- GpgKeyGetter::GetInstance().GetKey(genkey_result.GetFingerprint());
+ auto key = GpgKeyGetter::GetInstance(channel).GetKey(
+ genkey_result.GetFingerprint());
if (!key.IsGood()) {
LOG_W() << "cannot get key which has been generate, fpr: "
<< genkey_result.GetFingerprint();