|
|
@ -12,6 +12,19 @@ |
|
|
|
#include "util/file.h" |
|
|
|
#include "util/file.h" |
|
|
|
|
|
|
|
|
|
|
|
Machine::Machine(s) |
|
|
|
Machine::Machine(s) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
fetchDistro(); |
|
|
|
|
|
|
|
fetchHostname(); |
|
|
|
|
|
|
|
fetchUsername(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Machine::~Machine() |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// -----------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void Machine::fetchDistro() |
|
|
|
{ |
|
|
|
{ |
|
|
|
Util::File osRelease("/etc/os-release"); |
|
|
|
Util::File osRelease("/etc/os-release"); |
|
|
|
std::istringstream stream(osRelease.data()); |
|
|
|
std::istringstream stream(osRelease.data()); |
|
|
@ -23,13 +36,19 @@ Machine::Machine(s) |
|
|
|
m_distroIdLike = line.substr(8); |
|
|
|
m_distroIdLike = line.substr(8); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void Machine::fetchHostname() |
|
|
|
|
|
|
|
{ |
|
|
|
char hostname[64] { 0 }; |
|
|
|
char hostname[64] { 0 }; |
|
|
|
if (gethostname(hostname, 64) < 0) { |
|
|
|
if (gethostname(hostname, 64) < 0) { |
|
|
|
perror("\033[31;1mError:\033[0m gethostname"); |
|
|
|
perror("\033[31;1mError:\033[0m gethostname"); |
|
|
|
} |
|
|
|
} |
|
|
|
m_hostname = hostname; |
|
|
|
m_hostname = hostname; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void Machine::fetchUsername() |
|
|
|
|
|
|
|
{ |
|
|
|
// Get the username logged in on the controlling terminal of the process
|
|
|
|
// Get the username logged in on the controlling terminal of the process
|
|
|
|
char username[32] { 0 }; |
|
|
|
char username[32] { 0 }; |
|
|
|
if (getlogin_r(username, 32) != 0) { |
|
|
|
if (getlogin_r(username, 32) != 0) { |
|
|
@ -42,7 +61,3 @@ Machine::Machine(s) |
|
|
|
perror("\033[31;1mError:\033[0m getpwnam"); |
|
|
|
perror("\033[31;1mError:\033[0m getpwnam"); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
Machine::~Machine() |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|