From 872c57068f22a25580a99504f216c30993b4b2a1 Mon Sep 17 00:00:00 2001 From: saturneric Date: Sun, 1 Jun 2025 01:18:00 +0200 Subject: feat(ver_check): add bktus version check support - implement BKTUSVersionCheckTask for bktus.com version checking - refactor version checking logic into Utils.cpp - update version checking module to support multiple sources - improve version status display messages --- src/m_ver_check/Utils.cpp | 75 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 src/m_ver_check/Utils.cpp (limited to 'src/m_ver_check/Utils.cpp') diff --git a/src/m_ver_check/Utils.cpp b/src/m_ver_check/Utils.cpp new file mode 100644 index 0000000..4b45968 --- /dev/null +++ b/src/m_ver_check/Utils.cpp @@ -0,0 +1,75 @@ +/** + * Copyright (C) 2021-2024 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 "Utils.h" + +#include +#include +#include + +#include "VersionCheckingModule.h" + +void FillGrtWithVersionInfo(const SoftwareVersion& version) { + GFModuleUpsertRTValue(GFGetModuleID(), + GFModuleStrDup("version.current_version"), + GFModuleStrDup(version.current_version.toUtf8())); + GFModuleUpsertRTValue(GFGetModuleID(), + GFModuleStrDup("version.latest_version"), + GFModuleStrDup(version.latest_version.toUtf8())); + GFModuleUpsertRTValue( + GFGetModuleID(), GFModuleStrDup("version.remote_commit_hash_by_tag"), + GFModuleStrDup(version.remote_commit_hash_by_tag.toUtf8())); + GFModuleUpsertRTValue(GFGetModuleID(), + GFModuleStrDup("version.local_commit_hash"), + GFModuleStrDup(version.local_commit_hash.toUtf8())); + + GFModuleUpsertRTValueBool( + GFGetModuleID(), + GFModuleStrDup("version.current_version_publish_in_remote"), + version.current_version_publish_in_remote ? 1 : 0); + GFModuleUpsertRTValueBool( + GFGetModuleID(), + GFModuleStrDup("version.current_commit_hash_publish_in_remote"), + version.current_commit_hash_publish_in_remote ? 1 : 0); + GFModuleUpsertRTValueBool(GFGetModuleID(), + GFModuleStrDup("version.need_upgrade"), + version.NeedUpgrade() ? 1 : 0); + GFModuleUpsertRTValueBool(GFGetModuleID(), + GFModuleStrDup("version.current_version_released"), + version.CurrentVersionReleased() ? 1 : 0); + GFModuleUpsertRTValueBool(GFGetModuleID(), + GFModuleStrDup("version.git_commit_hash_mismatch"), + version.GitCommitHashMismatch() ? 1 : 0); + + GFModuleUpsertRTValue(GFGetModuleID(), GFModuleStrDup("version.release_note"), + GFModuleStrDup(version.release_note.toUtf8())); + + GFModuleUpsertRTValueBool(GFGetModuleID(), + GFModuleStrDup("version.loading_done"), + version.IsInfoValid() ? 1 : 0); +} \ No newline at end of file -- cgit v1.2.3