From 38a74d7d0f2a1882deb38f4bf93fa5aac88bc3eb Mon Sep 17 00:00:00 2001 From: sithlord48 Date: Wed, 10 Sep 2025 15:09:57 -0400 Subject: [PATCH] refactor: Arch::getHostName(), use QSysInfo::machineHostname in place of system specific impl --- src/lib/arch/Arch.cpp | 7 +++++++ src/lib/arch/Arch.h | 6 ++++++ src/lib/arch/IArchNetwork.h | 3 --- src/lib/arch/unix/ArchNetworkBSD.cpp | 11 ----------- src/lib/arch/unix/ArchNetworkBSD.h | 1 - src/lib/arch/win32/ArchNetworkWinsock.cpp | 11 ----------- src/lib/arch/win32/ArchNetworkWinsock.h | 1 - src/lib/deskflow/ArgParser.cpp | 2 +- 8 files changed, 14 insertions(+), 28 deletions(-) diff --git a/src/lib/arch/Arch.cpp b/src/lib/arch/Arch.cpp index a8ffb7917..8c280e1ca 100644 --- a/src/lib/arch/Arch.cpp +++ b/src/lib/arch/Arch.cpp @@ -8,6 +8,8 @@ #include "arch/Arch.h" +#include + #include #if SYSAPI_WIN32 @@ -60,3 +62,8 @@ double Arch::time() auto uSecSinceEpoch = std::chrono::duration_cast(sinceEpoch).count(); return double(uSecSinceEpoch / 1000000); } + +QString Arch::hostName() +{ + return QSysInfo::machineHostName(); +} diff --git a/src/lib/arch/Arch.h b/src/lib/arch/Arch.h index bd014cf92..ac473eb0d 100644 --- a/src/lib/arch/Arch.h +++ b/src/lib/arch/Arch.h @@ -104,6 +104,12 @@ public: */ static double time(); + /** + * @brief hostName + * @return Return local host's name + */ + static QString hostName(); + private: static Arch *s_instance; }; diff --git a/src/lib/arch/IArchNetwork.h b/src/lib/arch/IArchNetwork.h index 0ae897d67..06a073c10 100644 --- a/src/lib/arch/IArchNetwork.h +++ b/src/lib/arch/IArchNetwork.h @@ -232,9 +232,6 @@ public: */ virtual bool setReuseAddrOnSocket(ArchSocket, bool reuse) = 0; - //! Return local host's name - virtual std::string getHostName() = 0; - //! Create an "any" network address virtual ArchNetAddress newAnyAddr(AddressFamily) = 0; diff --git a/src/lib/arch/unix/ArchNetworkBSD.cpp b/src/lib/arch/unix/ArchNetworkBSD.cpp index 21fd9c77a..02162f330 100644 --- a/src/lib/arch/unix/ArchNetworkBSD.cpp +++ b/src/lib/arch/unix/ArchNetworkBSD.cpp @@ -457,17 +457,6 @@ bool ArchNetworkBSD::setReuseAddrOnSocket(ArchSocket s, bool reuse) return (oflag != 0); } -std::string ArchNetworkBSD::getHostName() -{ - char name[256]; - if (gethostname(name, sizeof(name)) == -1) { - name[0] = '\0'; - } else { - name[sizeof(name) - 1] = '\0'; - } - return name; -} - ArchNetAddress ArchNetworkBSD::newAnyAddr(AddressFamily family) { using enum AddressFamily; diff --git a/src/lib/arch/unix/ArchNetworkBSD.h b/src/lib/arch/unix/ArchNetworkBSD.h index 5cbf35b3a..eef579682 100644 --- a/src/lib/arch/unix/ArchNetworkBSD.h +++ b/src/lib/arch/unix/ArchNetworkBSD.h @@ -87,7 +87,6 @@ public: void throwErrorOnSocket(ArchSocket) override; bool setNoDelayOnSocket(ArchSocket, bool noDelay) override; bool setReuseAddrOnSocket(ArchSocket, bool reuse) override; - std::string getHostName() override; ArchNetAddress newAnyAddr(AddressFamily) override; ArchNetAddress copyAddr(ArchNetAddress) override; std::vector nameToAddr(const std::string &) override; diff --git a/src/lib/arch/win32/ArchNetworkWinsock.cpp b/src/lib/arch/win32/ArchNetworkWinsock.cpp index 5c8afc558..c2e5a2038 100644 --- a/src/lib/arch/win32/ArchNetworkWinsock.cpp +++ b/src/lib/arch/win32/ArchNetworkWinsock.cpp @@ -625,17 +625,6 @@ bool ArchNetworkWinsock::setReuseAddrOnSocket(ArchSocket s, bool reuse) return (oflag != 0); } -std::string ArchNetworkWinsock::getHostName() -{ - char name[256]; - if (gethostname_winsock(name, sizeof(name)) == -1) { - name[0] = '\0'; - } else { - name[sizeof(name) - 1] = '\0'; - } - return name; -} - ArchNetAddress ArchNetworkWinsock::newAnyAddr(AddressFamily family) { ArchNetAddressImpl *addr = nullptr; diff --git a/src/lib/arch/win32/ArchNetworkWinsock.h b/src/lib/arch/win32/ArchNetworkWinsock.h index a1785ff2a..7b36f6b6f 100644 --- a/src/lib/arch/win32/ArchNetworkWinsock.h +++ b/src/lib/arch/win32/ArchNetworkWinsock.h @@ -74,7 +74,6 @@ public: void throwErrorOnSocket(ArchSocket) override; bool setNoDelayOnSocket(ArchSocket, bool noDelay) override; bool setReuseAddrOnSocket(ArchSocket, bool reuse) override; - std::string getHostName() override; ArchNetAddress newAnyAddr(AddressFamily) override; ArchNetAddress copyAddr(ArchNetAddress) override; std::vector nameToAddr(const std::string &) override; diff --git a/src/lib/deskflow/ArgParser.cpp b/src/lib/deskflow/ArgParser.cpp index 2c0872de4..9fb3dc07d 100644 --- a/src/lib/deskflow/ArgParser.cpp +++ b/src/lib/deskflow/ArgParser.cpp @@ -332,7 +332,7 @@ std::string ArgParser::assembleCommand( void ArgParser::updateCommonArgs(const char *const *argv) const { - argsBase().m_name = ARCH->getHostName(); + argsBase().m_name = ARCH->hostName().toStdString(); argsBase().m_pname = QFileInfo(argv[0]).fileName().toLocal8Bit().constData(); }