diff options
Diffstat (limited to '')
-rw-r--r-- | CMakeLists.txt | 19 | ||||
-rw-r--r-- | src/CMakeLists.txt | 6 | ||||
-rw-r--r-- | src/core/GpgContext.cpp | 2 | ||||
-rw-r--r-- | src/core/GpgCoreInit.cpp | 2 | ||||
-rw-r--r-- | src/core/function/gpg/GpgCommandExecutor.cpp | 14 | ||||
-rw-r--r-- | src/core/module/GlobalModuleContext.cpp | 1 | ||||
-rw-r--r-- | src/core/thread/Task.cpp | 3 | ||||
-rw-r--r-- | src/core/thread/TaskRunner.cpp | 6 | ||||
-rw-r--r-- | src/init.cpp | 2 | ||||
-rw-r--r-- | src/module/GpgFrontendModuleInit.cpp | 8 | ||||
-rw-r--r-- | src/module/integrated/version_checking_module/SoftwareVersion.cpp | 14 | ||||
-rw-r--r-- | src/module/integrated/version_checking_module/VersionCheckTask.cpp | 28 | ||||
-rw-r--r-- | src/module/integrated/version_checking_module/VersionCheckingModule.cpp | 8 | ||||
-rw-r--r-- | src/module/sdk/Log.cpp | 14 | ||||
-rw-r--r-- | src/module/sdk/Log.h | 29 | ||||
-rw-r--r-- | src/ui/GpgFrontendUIInit.cpp | 2 |
16 files changed, 90 insertions, 68 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index fd4cc951..839203fd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -196,6 +196,13 @@ if (NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE "Release") endif () +if (CMAKE_BUILD_TYPE EQUAL "Release") + add_compile_definitions(RELEASE) +else() + add_compile_definitions(DEBUG) +endif() + + # Specify different compilation modes if (GPGFRONTEND_BUILD_CONFIG) # Test Build @@ -354,11 +361,6 @@ if (LINUX) endif () -if (GPG_STANDALONE_MODE) - add_compile_definitions(GPG_STANDALONE_MODE) -endif () - - if (LINUX_INSTALL_SOFTWARE) message(STATUS "Linux Install Traget ${CMAKE_INSTALL_PREFIX}") include(GNUInstallDirs) @@ -368,7 +370,6 @@ if (LINUX_INSTALL_SOFTWARE) set(Boost_USE_STATIC_LIBS ON) else () set(APP_INSTALL_FLAG BUNDLE) - add_compile_definitions(BUNDLE_BUILD) endif () # Basic ENV Configure @@ -376,7 +377,7 @@ set(BASIC_ENV_CONFIG 1) set(QT_MOC_CONFIG 1) if (FULL_BUILD_APPLICATION) - message("[-] Build Full Application") + message("[+] Build Full Application") set(QT5_ENV_SUPPORT 1) set(BUILD_CORE 1) set(BUILD_UI 1) @@ -385,7 +386,7 @@ if (FULL_BUILD_APPLICATION) set(BASIC_ENV_CONFIG 1) set(SUPPORT_MULTI_LANG 1) elseif (MINIMUM_BUILD_APPLICATION) - message("[-] Build Minimum Application") + message("[+] Build Minimum Application") set(QT5_ENV_SUPPORT 1) set(BUILD_CORE 1) set(BUILD_UI 1) @@ -393,7 +394,7 @@ elseif (MINIMUM_BUILD_APPLICATION) set(BUILD_APPLICATION 1) set(BASIC_ENV_CONFIG 1) elseif (STABLE_BUILD_APPLICATION) - message("[-] Build Stable Application") + message("[+] Build Stable Application") set(QT5_ENV_SUPPORT 1) set(BUILD_CORE 1) set(BUILD_UI 1) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index f828b763..1cbe04c0 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -86,17 +86,17 @@ if (BUILD_APPLICATION) endif () if (BUILD_CORE) - message("[*] Build Core") + message("[+] Build Core") add_subdirectory(core) endif () if (BUILD_UI) - message("[*] Build UI") + message("[+] Build UI") add_subdirectory(ui) endif () if (BUILD_MODULE) - message("[*] Build Module") + message("[+] Build Module") add_subdirectory(module) endif () diff --git a/src/core/GpgContext.cpp b/src/core/GpgContext.cpp index 5a681fa7..6e6cf4dd 100644 --- a/src/core/GpgContext.cpp +++ b/src/core/GpgContext.cpp @@ -234,7 +234,7 @@ void GpgContext::post_init_ctx() { // preload info auto &info = GetInfo(); - // use custom qt dialog to replace pinentry + // // use custom qt dialog to replace pinentry if (!args_.use_pinentry) { SetPassphraseCb(custom_passphrase_cb); } diff --git a/src/core/GpgCoreInit.cpp b/src/core/GpgCoreInit.cpp index 261dd2fc..ad720d1d 100644 --- a/src/core/GpgCoreInit.cpp +++ b/src/core/GpgCoreInit.cpp @@ -70,7 +70,7 @@ void InitCoreLoggingSystem() { auto core_logger = std::make_shared<spdlog::async_logger>( "core", begin(sinks), end(sinks), spdlog::thread_pool()); core_logger->set_pattern( - "[%H:%M:%S.%e] [T:%t] [%=4n] %^[%=8l]%$ [%s:%#] [%!] -> %v (+%ius)"); + "[%H:%M:%S.%e] [T:%t] [%=6n] %^[%=8l]%$ [%s:%#] [%!] -> %v (+%ius)"); #ifdef DEBUG core_logger->set_level(spdlog::level::trace); diff --git a/src/core/function/gpg/GpgCommandExecutor.cpp b/src/core/function/gpg/GpgCommandExecutor.cpp index c367bd72..ba2b7e02 100644 --- a/src/core/function/gpg/GpgCommandExecutor.cpp +++ b/src/core/function/gpg/GpgCommandExecutor.cpp @@ -27,12 +27,11 @@ */ #include "GpgCommandExecutor.h" -#include <memory> -#include <string> +#include <boost/format.hpp> #include "GpgFunctionObject.h" +#include "core/thread/DataObject.h" #include "core/thread/TaskRunnerGetter.h" -#include "thread/DataObject.h" namespace GpgFrontend { @@ -196,8 +195,15 @@ Thread::Task *GpgCommandExecutor::build_task(const ExecuteContext &context) { return 0; }; + const std::string joined_argument = std::accumulate( + std::begin(arguments), std::end(arguments), std::string(), + [](const std::string &a, const std::string &b) -> std::string { + return a + (a.length() > 0 ? " " : "") + b; + }); + return new Thread::Task( - std::move(runner), fmt::format("Execute/{}", cmd), + std::move(runner), + (boost::format("Execute(%1%){%2%}") % cmd % joined_argument).str(), Thread::TransferParams(cmd, arguments, interact_function, callback), std::move(result_callback)); } diff --git a/src/core/module/GlobalModuleContext.cpp b/src/core/module/GlobalModuleContext.cpp index de1e244b..919c744a 100644 --- a/src/core/module/GlobalModuleContext.cpp +++ b/src/core/module/GlobalModuleContext.cpp @@ -120,6 +120,7 @@ class GlobalModuleContext::Impl { register_info.task_runner->Start(); // move module to its task runner' thread + register_info.module->setParent(nullptr); register_info.module->moveToThread(register_info.task_runner->GetThread()); // Register the module with its identifier. diff --git a/src/core/thread/Task.cpp b/src/core/thread/Task.cpp index 6e545d81..b1c8135a 100644 --- a/src/core/thread/Task.cpp +++ b/src/core/thread/Task.cpp @@ -149,6 +149,9 @@ class Task::Impl : public QObject { DataObjectPtr data_object_ = nullptr; ///< void init() { + SPDLOG_TRACE("task {} created, parent: {}, impl: {}", name_, + (void *)parent_, (void *)this); + // HoldOnLifeCycle(false); diff --git a/src/core/thread/TaskRunner.cpp b/src/core/thread/TaskRunner.cpp index 2035fe67..8250bb5b 100644 --- a/src/core/thread/TaskRunner.cpp +++ b/src/core/thread/TaskRunner.cpp @@ -28,6 +28,7 @@ #include "core/thread/TaskRunner.h" +#include <qobject.h> #include <qobjectdefs.h> #include <qthread.h> #include <qthreadpool.h> @@ -41,6 +42,11 @@ namespace GpgFrontend::Thread { class TaskRunner::Impl : public QThread { public: + Impl() { + SPDLOG_TRACE("task runner created, thread id: {}", + QThread::currentThread()->currentThreadId()); + } + void PostTask(Task* task) { if (task == nullptr) { SPDLOG_ERROR("task posted is null"); diff --git a/src/init.cpp b/src/init.cpp index 5e384f86..b6ae32b5 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -65,7 +65,7 @@ void init_logging_system() { auto main_logger = std::make_shared<spdlog::async_logger>( "main", begin(sinks), end(sinks), spdlog::thread_pool()); main_logger->set_pattern( - "[%H:%M:%S.%e] [T:%t] [%=4n] %^[%=8l]%$ [%s:%#] [%!] -> %v (+%ius)"); + "[%H:%M:%S.%e] [T:%t] [%=6n] %^[%=8l]%$ [%s:%#] [%!] -> %v (+%ius)"); #ifdef DEBUG main_logger->set_level(spdlog::level::trace); diff --git a/src/module/GpgFrontendModuleInit.cpp b/src/module/GpgFrontendModuleInit.cpp index 1afa5552..cd874817 100644 --- a/src/module/GpgFrontendModuleInit.cpp +++ b/src/module/GpgFrontendModuleInit.cpp @@ -37,17 +37,17 @@ namespace GpgFrontend::Module { void LoadGpgFrontendModules() { - InitModuleLoggingSystem(); + SDK::InitModuleLoggingSystem(); - SPDLOG_INFO("loading integrated module..."); + MODULE_LOG_INFO("loading integrated module..."); // VersionCheckingModule RegisterAndActivateModule< Integrated::VersionCheckingModule::VersionCheckingModule>(); - SPDLOG_INFO("load integrated module done."); + MODULE_LOG_INFO("load integrated module done."); } -void ShutdownGpgFrontendModules() { ShutdownModuleLoggingSystem(); } +void ShutdownGpgFrontendModules() { SDK::ShutdownModuleLoggingSystem(); } } // namespace GpgFrontend::Module
\ No newline at end of file diff --git a/src/module/integrated/version_checking_module/SoftwareVersion.cpp b/src/module/integrated/version_checking_module/SoftwareVersion.cpp index f2748946..f77687d5 100644 --- a/src/module/integrated/version_checking_module/SoftwareVersion.cpp +++ b/src/module/integrated/version_checking_module/SoftwareVersion.cpp @@ -42,8 +42,8 @@ int VersionCheckingModule::SoftwareVersion::version_compare( std::string real_version_a = remove_prefix(a); std::string real_version_b = remove_prefix(b); - SPDLOG_DEBUG("real version a: {}", real_version_a); - SPDLOG_DEBUG("real version b: {}", real_version_b); + MODULE_LOG_DEBUG("real version a: {}", real_version_a); + MODULE_LOG_DEBUG("real version b: {}", real_version_b); std::vector<std::string> split_a, split_b; boost::split(split_a, real_version_a, boost::is_any_of(".")); @@ -75,12 +75,12 @@ int VersionCheckingModule::SoftwareVersion::version_compare( } bool VersionCheckingModule::SoftwareVersion::NeedUpgrade() const { - SPDLOG_DEBUG("compair version current {} latest {}, result {}", - current_version, latest_version, - version_compare(current_version, latest_version)); + MODULE_LOG_DEBUG("compair version current {} latest {}, result {}", + current_version, latest_version, + version_compare(current_version, latest_version)); - SPDLOG_DEBUG("load done: {}, pre-release: {}, draft: {}", load_info_done, - latest_prerelease, latest_draft); + MODULE_LOG_DEBUG("load done: {}, pre-release: {}, draft: {}", load_info_done, + latest_prerelease, latest_draft); return load_info_done && !latest_prerelease && !latest_draft && version_compare(current_version, latest_version) < 0; } diff --git a/src/module/integrated/version_checking_module/VersionCheckTask.cpp b/src/module/integrated/version_checking_module/VersionCheckTask.cpp index f709af68..163bae6f 100644 --- a/src/module/integrated/version_checking_module/VersionCheckTask.cpp +++ b/src/module/integrated/version_checking_module/VersionCheckTask.cpp @@ -51,7 +51,7 @@ VersionCheckTask::VersionCheckTask() void VersionCheckTask::Run() { try { using namespace nlohmann; - SPDLOG_DEBUG("current version: {}", current_version_); + MODULE_LOG_DEBUG("current version: {}", current_version_); std::string latest_version_url = "https://api.github.com/repos/saturneric/gpgfrontend/releases/latest"; @@ -65,7 +65,7 @@ void VersionCheckTask::Run() { version_.load_info_done = true; } catch (...) { - SPDLOG_ERROR("unknown error occurred"); + MODULE_LOG_ERROR("unknown error occurred"); emit SignalTaskShouldEnd(-1); } } @@ -76,7 +76,7 @@ void VersionCheckTask::slot_parse_latest_version_info() { try { if (latest_reply_ == nullptr || latest_reply_->error() != QNetworkReply::NoError) { - SPDLOG_ERROR("latest version request error"); + MODULE_LOG_ERROR("latest version request error"); version_.latest_version = current_version_; } else { latest_reply_bytes_ = latest_reply_->readAll(); @@ -86,13 +86,13 @@ void VersionCheckTask::slot_parse_latest_version_info() { std::string latest_version = latest_reply_json["tag_name"]; - SPDLOG_INFO("latest version from Github: {}", latest_version); + MODULE_LOG_INFO("latest version from Github: {}", latest_version); QRegularExpression re(R"(^[vV](\d+\.)?(\d+\.)?(\*|\d+))"); auto version_match = re.match(latest_version.c_str()); if (version_match.hasMatch()) { latest_version = version_match.captured(0).toStdString(); - SPDLOG_DEBUG("latest version matched: {}", latest_version); + MODULE_LOG_DEBUG("latest version matched: {}", latest_version); } else { latest_version = current_version_; SPDLOG_WARN("latest version unknown"); @@ -109,7 +109,7 @@ void VersionCheckTask::slot_parse_latest_version_info() { version_.release_note = release_note; } } catch (...) { - SPDLOG_ERROR("unknown error occurred"); + MODULE_LOG_ERROR("unknown error occurred"); version_.load_info_done = false; } @@ -129,7 +129,7 @@ void VersionCheckTask::slot_parse_latest_version_info() { connect(current_reply_, &QNetworkReply::finished, this, &VersionCheckTask::slot_parse_current_version_info); } catch (...) { - SPDLOG_ERROR("current version request create error"); + MODULE_LOG_ERROR("current version request create error"); emit SignalTaskShouldEnd(-1); } } @@ -139,10 +139,10 @@ void VersionCheckTask::slot_parse_current_version_info() { if (current_reply_ == nullptr || current_reply_->error() != QNetworkReply::NoError) { if (current_reply_ != nullptr) { - SPDLOG_ERROR("current version request network error: {}", - current_reply_->errorString().toStdString()); + MODULE_LOG_ERROR("current version request network error: {}", + current_reply_->errorString().toStdString()); } else { - SPDLOG_ERROR( + MODULE_LOG_ERROR( "current version request network error, null reply object"); } @@ -151,7 +151,7 @@ void VersionCheckTask::slot_parse_current_version_info() { } else { version_.current_version_found = true; current_reply_bytes_ = current_reply_->readAll(); - SPDLOG_DEBUG("current version: {}", current_reply_bytes_.size()); + MODULE_LOG_DEBUG("current version: {}", current_reply_bytes_.size()); auto current_reply_json = nlohmann::json::parse(current_reply_bytes_.toStdString()); bool current_prerelease = current_reply_json["prerelease"], @@ -161,12 +161,12 @@ void VersionCheckTask::slot_parse_current_version_info() { version_.load_info_done = true; } } catch (...) { - SPDLOG_ERROR("unknown error occurred"); + MODULE_LOG_ERROR("unknown error occurred"); version_.load_info_done = false; } - SPDLOG_DEBUG("current version parse done: {}", - version_.current_version_found); + MODULE_LOG_DEBUG("current version parse done: {}", + version_.current_version_found); if (current_reply_ != nullptr) { current_reply_->deleteLater(); diff --git a/src/module/integrated/version_checking_module/VersionCheckingModule.cpp b/src/module/integrated/version_checking_module/VersionCheckingModule.cpp index 7207d734..7ab02ef2 100644 --- a/src/module/integrated/version_checking_module/VersionCheckingModule.cpp +++ b/src/module/integrated/version_checking_module/VersionCheckingModule.cpp @@ -38,19 +38,19 @@ VersionCheckingModule::VersionCheckingModule() {"author", "saturneric"}}) {} bool VersionCheckingModule::Register() { - SPDLOG_INFO("version checking module registering"); + MODULE_LOG_INFO("version checking module registering"); listenEvent("APPLICATION_LOADED"); return true; } bool VersionCheckingModule::Active() { - SPDLOG_INFO("version checking module activating"); + MODULE_LOG_INFO("version checking module activating"); return true; } int VersionCheckingModule::Exec(EventRefrernce event) { - SPDLOG_INFO("version checking module executing, event id: {}", - event->GetIdentifier()); + MODULE_LOG_INFO("version checking module executing, event id: {}", + event->GetIdentifier()); getTaskRunner()->PostTask(new VersionCheckTask()); return 0; diff --git a/src/module/sdk/Log.cpp b/src/module/sdk/Log.cpp index ffc50402..e225259b 100644 --- a/src/module/sdk/Log.cpp +++ b/src/module/sdk/Log.cpp @@ -33,10 +33,10 @@ #include <spdlog/sinks/rotating_file_sink.h> #include <spdlog/sinks/stdout_color_sinks.h> -#include <memory> - #include "core/function/GlobalSettingStation.h" +namespace GpgFrontend::Module::SDK { + void InitModuleLoggingSystem() { // get the log directory auto log_file_path = @@ -56,7 +56,7 @@ void InitModuleLoggingSystem() { auto module_logger = std::make_shared<spdlog::async_logger>( "module", begin(sinks), end(sinks), spdlog::thread_pool()); module_logger->set_pattern( - "[%H:%M:%S.%e] [T:%t] [%=4n] %^[%=8l]%$ [%s:%#] [%!] -> %v (+%ius)"); + "[%H:%M:%S.%e] [T:%t] [%=6n] %^[%=8l]%$ [%s:%#] [%!] -> %v (+%ius)"); #ifdef DEBUG module_logger->set_level(spdlog::level::trace); @@ -68,7 +68,6 @@ void InitModuleLoggingSystem() { module_logger->flush_on(spdlog::level::err); spdlog::flush_every(std::chrono::seconds(5)); - spdlog::register_logger(module_logger); // register it as default logger spdlog::set_default_logger(module_logger); } @@ -82,9 +81,8 @@ void ShutdownModuleLoggingSystem() { #endif } -Logger GetModuleLogger() { - static bool log_system_inited = false; - if (!log_system_inited) log_system_inited = true; - +std::shared_ptr<spdlog::logger> GetModuleLogger() { return spdlog::get("module"); } + +} // namespace GpgFrontend::Module::SDK diff --git a/src/module/sdk/Log.h b/src/module/sdk/Log.h index 57cd3cf8..bc298688 100644 --- a/src/module/sdk/Log.h +++ b/src/module/sdk/Log.h @@ -28,37 +28,42 @@ #pragma once -#include "module/GpgFrontendModule.h" +#include "module/sdk/GpgFrontendModuleSDK.h" + +#define MODULE_LOG_TRACE(...) \ + SPDLOG_LOGGER_TRACE(GpgFrontend::Module::SDK::GetModuleLogger(), __VA_ARGS__) +#define MODULE_LOG_DEBUG(...) \ + SPDLOG_LOGGER_DEBUG(GpgFrontend::Module::SDK::GetModuleLogger(), __VA_ARGS__) +#define MODULE_LOG_INFO(...) \ + SPDLOG_LOGGER_INFO(GpgFrontend::Module::SDK::GetModuleLogger(), __VA_ARGS__) +#define MODULE_LOG_WARN(...) \ + SPDLOG_LOGGER_WARN(GpgFrontend::Module::SDK::GetModuleLogger(), __VA_ARGS__) +#define MODULE_LOG_ERROR(...) \ + SPDLOG_LOGGER_ERROR(GpgFrontend::Module::SDK::GetModuleLogger(), __VA_ARGS__) namespace spdlog { class logger; } -using Logger = std::shared_ptr<spdlog::logger>; +namespace GpgFrontend::Module::SDK { /** * @brief * */ -void GPGFRONTEND_MODULE_EXPORT InitModuleLoggingSystem(); +void GPGFRONTEND_MODULE_SDK_EXPORT InitModuleLoggingSystem(); /** * @brief * */ -void GPGFRONTEND_MODULE_EXPORT ShutdownModuleLoggingSystem(); +void GPGFRONTEND_MODULE_SDK_EXPORT ShutdownModuleLoggingSystem(); /** * @brief * */ -Logger GetModuleLogger(); - -#define MODULE_LOG_TRACE(...) SPDLOG_LOGGER_TRACE(GetModuleLogger, ...) -#define MODULE_LOG_DEBUG(...) SPDLOG_LOGGER_DEBUG(GetModuleLogger, ...) -#define MODULE_LOG_INFO(...) SPDLOG_LOGGER_INFO(GetModuleLogger, ...) -#define MODULE_LOG_WARN(...) SPDLOG_LOGGER_WARN(GetModuleLogger, ...) -#define MODULE_LOG_ERROR(...) SPDLOG_LOGGER_ERROR(GetModuleLogger, ...) +std::shared_ptr<spdlog::logger> GPGFRONTEND_MODULE_SDK_EXPORT GetModuleLogger(); template <typename... Args> void ModuleLogTrace(const char* fmt, const Args&... args) { @@ -84,3 +89,5 @@ template <typename... Args> void ModuleLogError(const char* fmt, const Args&... args) { SPDLOG_LOGGER_ERROR(GetModuleLogger(), fmt, args...); } + +} // namespace GpgFrontend::Module::SDK diff --git a/src/ui/GpgFrontendUIInit.cpp b/src/ui/GpgFrontendUIInit.cpp index 49bc01fb..579baebe 100644 --- a/src/ui/GpgFrontendUIInit.cpp +++ b/src/ui/GpgFrontendUIInit.cpp @@ -220,7 +220,7 @@ void InitUILoggingSystem() { auto ui_logger = std::make_shared<spdlog::async_logger>( "ui", begin(sinks), end(sinks), spdlog::thread_pool()); ui_logger->set_pattern( - "[%H:%M:%S.%e] [T:%t] [%=4n] %^[%=8l]%$ [%s:%#] [%!] -> %v (+%ius)"); + "[%H:%M:%S.%e] [T:%t] [%=6n] %^[%=8l]%$ [%s:%#] [%!] -> %v (+%ius)"); #ifdef DEBUG ui_logger->set_level(spdlog::level::trace); |