Manager: Put machine information fetching in separate functions
This commit is contained in:
+19
-4
@@ -12,6 +12,19 @@
|
||||
#include "util/file.h"
|
||||
|
||||
Machine::Machine(s)
|
||||
{
|
||||
fetchDistro();
|
||||
fetchHostname();
|
||||
fetchUsername();
|
||||
}
|
||||
|
||||
Machine::~Machine()
|
||||
{
|
||||
}
|
||||
|
||||
// -----------------------------------------
|
||||
|
||||
void Machine::fetchDistro()
|
||||
{
|
||||
Util::File osRelease("/etc/os-release");
|
||||
std::istringstream stream(osRelease.data());
|
||||
@@ -23,13 +36,19 @@ Machine::Machine(s)
|
||||
m_distroIdLike = line.substr(8);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Machine::fetchHostname()
|
||||
{
|
||||
char hostname[64] { 0 };
|
||||
if (gethostname(hostname, 64) < 0) {
|
||||
perror("\033[31;1mError:\033[0m gethostname");
|
||||
}
|
||||
m_hostname = hostname;
|
||||
}
|
||||
|
||||
void Machine::fetchUsername()
|
||||
{
|
||||
// Get the username logged in on the controlling terminal of the process
|
||||
char username[32] { 0 };
|
||||
if (getlogin_r(username, 32) != 0) {
|
||||
@@ -42,7 +61,3 @@ Machine::Machine(s)
|
||||
perror("\033[31;1mError:\033[0m getpwnam");
|
||||
}
|
||||
}
|
||||
|
||||
Machine::~Machine()
|
||||
{
|
||||
}
|
||||
|
||||
@@ -27,6 +27,10 @@ public:
|
||||
uint32_t gid() { return m_passwd->pw_gid; }
|
||||
|
||||
private:
|
||||
void fetchDistro();
|
||||
void fetchHostname();
|
||||
void fetchUsername();
|
||||
|
||||
std::string m_distroId;
|
||||
std::string m_distroIdLike;
|
||||
std::string m_hostname;
|
||||
|
||||
Reference in New Issue
Block a user