From ce784ab38332aa88f382dd8cb445c3f40686c0fd Mon Sep 17 00:00:00 2001 From: sithlord48 Date: Tue, 29 Oct 2024 16:52:34 -0400 Subject: [PATCH] refactor: CoreTool use arch classes directly --- src/lib/gui/core/CoreTool.cpp | 46 ++++++++++++++++++++--------------- src/lib/gui/core/CoreTool.h | 1 - 2 files changed, 26 insertions(+), 21 deletions(-) diff --git a/src/lib/gui/core/CoreTool.cpp b/src/lib/gui/core/CoreTool.cpp index a4d9276912..5f8fa88fd7 100644 --- a/src/lib/gui/core/CoreTool.cpp +++ b/src/lib/gui/core/CoreTool.cpp @@ -1,5 +1,6 @@ /* * Deskflow -- mouse and keyboard sharing utility + * Copyright (C) 2024 Chris Rizzitello * Copyright (C) 2015 Symless Ltd. * * This package is free software; you can redistribute it and/or @@ -17,37 +18,42 @@ #include "gui/core/CoreTool.h" -#include "CommandProcess.h" +#if defined(Q_OS_UNIX) +#include "arch/unix/ArchFileUnix.h" +#include "arch/unix/ArchSystemUnix.h" +#elif defined(Q_OS_WIN) +#include "arch/win32/ArchFileWindows.h" +#include "arch/win32/ArchSystemWindows.h" +#endif -#include #include -#include -#include - -static const char kCoreBinary[] = LEGACY_BINARY_NAME; QString CoreTool::getProfileDir() const { - QStringList args("--get-profile-dir"); - return QDir::cleanPath(run(args)); +#if defined Q_OS_UNIX + ArchFileUnix sysInfo; +#elif defined Q_OS_WIN + ArchFileWindows sysInfo; +#endif + return QDir::cleanPath(QString::fromUtf8(sysInfo.getProfileDirectory())); } QString CoreTool::getInstalledDir() const { - QStringList args("--get-installed-dir"); - return QDir::cleanPath(run(args)); +#if defined Q_OS_UNIX + ArchFileUnix sysInfo; +#elif defined Q_OS_WIN + ArchFileWindows sysInfo; +#endif + return QDir::cleanPath(QString::fromUtf8(sysInfo.getInstalledDirectory())); } QString CoreTool::getArch() const { - QStringList args("--get-arch"); - return run(args); -} - -QString CoreTool::run(const QStringList &args, const QString &input) const -{ - QString program(QCoreApplication::applicationDirPath() + "/" + kCoreBinary); - - CommandProcess commandProcess(program, args, input); - return commandProcess.run(); +#if defined Q_OS_UNIX + ArchSystemUnix sysInfo; +#elif defined Q_OS_WIN + ArchSystemWindows sysInfo; +#endif + return QString::fromUtf8(sysInfo.getPlatformName()); } diff --git a/src/lib/gui/core/CoreTool.h b/src/lib/gui/core/CoreTool.h index 228e1fe276..8671a1b21c 100644 --- a/src/lib/gui/core/CoreTool.h +++ b/src/lib/gui/core/CoreTool.h @@ -25,5 +25,4 @@ public: QString getProfileDir() const; QString getInstalledDir() const; QString getArch() const; - QString run(const QStringList &args, const QString &input = "") const; };