proc-api/src/components/memory.cpp

31 lines
869 B
C++

///////////////////////////////////////////////////////////////////////////////
// Tyler Perkins
// 28-4-22
// memory functions implementation
//
#include "memory.hpp"
void memory::getProcMem(crow::json::wvalue& ret){
std::ifstream f ("/proc/meminfo");
std::string line;
if(f.is_open()){
while(std::getline(f, line)){
size_t colon;
int last_space = -1;
for(int i = 0; line[i] != '\0' ; ++i){
if(line[i] == ':')
colon = i;
else if(line[i-1] == ' ' && line[i] != ' ' && last_space == -1)
last_space = i;
}
std::cerr << colon << " " << last_space << std::endl;
ret[line.substr(0,colon)] = line.substr(last_space);
}
} else {
ret["message"] = "Failed to open proc filesystem";
}
}