diff options
author | saturneric <[email protected]> | 2024-07-29 19:29:56 +0000 |
---|---|---|
committer | saturneric <[email protected]> | 2024-07-29 19:29:56 +0000 |
commit | fa90ec4b5315b9e70a44a9625c143ce253f0e885 (patch) | |
tree | 8ffa82e33522de03974d6d0289aa831b4fd6ebdf /src/module/sdk/GFSDKBasic.cpp | |
parent | fix: correct urls at appdata.xml (diff) | |
parent | Merge branch 'develop' of github.com:saturneric/GpgFrontend into develop (diff) | |
download | GpgFrontend-fa90ec4b5315b9e70a44a9625c143ce253f0e885.tar.gz GpgFrontend-fa90ec4b5315b9e70a44a9625c143ce253f0e885.zip |
Merge branch 'develop'
Diffstat (limited to 'src/module/sdk/GFSDKBasic.cpp')
-rw-r--r-- | src/module/sdk/GFSDKBasic.cpp | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/src/module/sdk/GFSDKBasic.cpp b/src/module/sdk/GFSDKBasic.cpp deleted file mode 100644 index 4d8af6c8..00000000 --- a/src/module/sdk/GFSDKBasic.cpp +++ /dev/null @@ -1,106 +0,0 @@ -/** - * Copyright (C) 2021 Saturneric <[email protected]> - * - * 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 "GFSDKBasic.h" - -#include "core/function/SecureMemoryAllocator.h" -#include "core/function/gpg/GpgCommandExecutor.h" -#include "core/utils/BuildInfoUtils.h" -#include "core/utils/CommonUtils.h" - -auto GFAllocateMemory(uint32_t size) -> void* { - return GpgFrontend::SecureMemoryAllocator::Allocate(size); -} - -void GFFreeMemory(void* ptr) { - return GpgFrontend::SecureMemoryAllocator::Deallocate(ptr); -} - -auto GFProjectVersion() -> const char* { - return GpgFrontend::GFStrDup(GpgFrontend::GetProjectVersion()); -} - -auto GFQtEnvVersion() -> const char* { - return GpgFrontend::GFStrDup(QT_VERSION_STR); -} - -void GFExecuteCommandSync(const char* cmd, int32_t argc, const char** argv, - GFCommandExeucteCallback cb, void* data) { - QStringList args; - for (int i = 0; i < argc; i++) { - args.append(GpgFrontend::GFUnStrDup(argv[i])); - } - - GpgFrontend::GpgCommandExecutor::ExecuteContext const context{ - cmd, args, [=](int exit_code, const QString& out, const QString& err) { - cb(data, exit_code, out.toUtf8(), err.toUtf8()); - }}; - - GpgFrontend::GpgCommandExecutor::ExecuteSync(context); -} - -void GFExecuteCommandBatchSync(int32_t context_size, - const GFCommandExecuteContext* context) { - QList<GpgFrontend::GpgCommandExecutor::ExecuteContext> contexts; - - for (int i = 0; i < context_size; i++) { - const auto& exec_context = context[i]; - - QStringList args; - const char** argv = exec_context.argv; - for (int j = 0; j < exec_context.argc; j++) { - args.append(GpgFrontend::GFUnStrDup(argv[j])); - } - - contexts.append( - {exec_context.cmd, args, - [data = exec_context.data, cb = exec_context.cb]( - int exit_code, const QString& out, const QString& err) { - cb(data, exit_code, out.toUtf8(), err.toUtf8()); - }}); - } - - GpgFrontend::GpgCommandExecutor::ExecuteConcurrentlySync(contexts); -} - -auto StrlenSafe(const char* str, size_t max_len) -> size_t { - const char* end = static_cast<const char*>(memchr(str, '\0', max_len)); - if (end == nullptr) return max_len; - return end - str; -} - -auto GPGFRONTEND_MODULE_SDK_EXPORT GFModuleStrDup(const char* src) -> char* { - auto len = StrlenSafe(src, kGfStrlenMax); - if (len > kGfStrlenMax) return nullptr; - - char* dst = static_cast<char*>(GFAllocateMemory((len + 1) * sizeof(char))); - memcpy(dst, src, len); - dst[len] = '\0'; - - return dst; -}
\ No newline at end of file |