From f7cb927a7ecac5e86506e91cff6b9aa23b02f27f Mon Sep 17 00:00:00 2001 From: Drath Date: Mon, 22 Sep 2025 21:08:41 +0200 Subject: [PATCH] make it pointy, idk if i like the names --- include/sys.hpp | 15 ++++++++++----- main.cpp | 8 ++++---- src/sys.cpp | 24 +++++++++++------------- 3 files changed, 25 insertions(+), 22 deletions(-) diff --git a/include/sys.hpp b/include/sys.hpp index ea69e94..d35eb8c 100644 --- a/include/sys.hpp +++ b/include/sys.hpp @@ -8,15 +8,20 @@ #include #include -struct mem_usage_t { +std::string getAvgs(); +std::array getTimeDate(); + +namespace sys { + +struct Memory { uint64_t free = 0; uint64_t used = 0; uint64_t total = 0; }; -std::string getAvgs(); -std::array getTimeDate(); -mem_usage_t getDisk(std::string mount); -mem_usage_t getRam(); +void getDisk(Memory* disk, std::string mount); +void getRam(Memory* mem); + +} // namespace sys #endif \ No newline at end of file diff --git a/main.cpp b/main.cpp index ba7d266..e6ec5a2 100644 --- a/main.cpp +++ b/main.cpp @@ -33,8 +33,8 @@ std::binary_semaphore main{0}; struct Sensors { std::array td; std::string loadavg; - mem_usage_t ram; - mem_usage_t home; + sys::Memory ram; + sys::Memory home; cpu::sensors cpu; gpu::sensors gpu; float hass_state = 0.0f; @@ -76,8 +76,8 @@ void sensorsThread(std::stop_token st, Sensors* s) { // maybe make these take pointers too s->td = getTimeDate(); s->loadavg = getAvgs(); - s->ram = getRam(); - s->home = getDisk("/home/drath"); + sys::getRam(&s->ram); + sys::getDisk(&s->home, "/home/drath"); cpu::update(&s->cpu); gpu::update(&s->gpu); } diff --git a/src/sys.cpp b/src/sys.cpp index d0024dd..ed9dfac 100644 --- a/src/sys.cpp +++ b/src/sys.cpp @@ -25,26 +25,24 @@ std::array getTimeDate() { return {time.str(), date.str()}; } -mem_usage_t getRam() { - mem_usage_t mem; +void sys::getRam(Memory* mem) { std::ifstream proc_meminfo("/proc/meminfo"); if (proc_meminfo.good()) { std::string content((std::istreambuf_iterator(proc_meminfo)), std::istreambuf_iterator()); - mem.free = get_val("MemAvailable:", content); - mem.total = get_val("MemTotal:", content); - mem.used = mem.total - mem.free; + mem->free = get_val("MemAvailable:", content); + mem->total = get_val("MemTotal:", content); + mem->used = mem->total - mem->free; } proc_meminfo.close(); - return mem; + return; } -mem_usage_t getDisk(std::string mount) { - mem_usage_t disk; +void sys::getDisk(Memory* disk, std::string mount) { struct statvfs diskData; statvfs(mount.c_str(), &diskData); - disk.free = diskData.f_bfree * diskData.f_frsize; - disk.used = (diskData.f_blocks - diskData.f_bfree) * diskData.f_frsize; - disk.total = diskData.f_blocks * diskData.f_frsize; - return disk; -} + disk->free = diskData.f_bfree * diskData.f_frsize; + disk->used = (diskData.f_blocks - diskData.f_bfree) * diskData.f_frsize; + disk->total = diskData.f_blocks * diskData.f_frsize; + return; +} \ No newline at end of file