refactor: Arch::getHostName(), use QSysInfo::machineHostname in place of system specific impl

This commit is contained in:
sithlord48
2025-09-10 15:09:57 -04:00
committed by Nick Bolton
parent 949f1d6534
commit 38a74d7d0f
8 changed files with 14 additions and 28 deletions

View File

@ -8,6 +8,8 @@
#include "arch/Arch.h"
#include <QSysInfo>
#include <thread>
#if SYSAPI_WIN32
@ -60,3 +62,8 @@ double Arch::time()
auto uSecSinceEpoch = std::chrono::duration_cast<std::chrono::microseconds>(sinceEpoch).count();
return double(uSecSinceEpoch / 1000000);
}
QString Arch::hostName()
{
return QSysInfo::machineHostName();
}

View File

@ -104,6 +104,12 @@ public:
*/
static double time();
/**
* @brief hostName
* @return Return local host's name
*/
static QString hostName();
private:
static Arch *s_instance;
};

View File

@ -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;

View File

@ -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;

View File

@ -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<ArchNetAddress> nameToAddr(const std::string &) override;

View File

@ -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;

View File

@ -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<ArchNetAddress> nameToAddr(const std::string &) override;

View File

@ -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();
}