Covalent Bond  0.0.1-alpha
'covalent bond' is a data middle office. As a 2022-2023 Fall SWE final project.
sysStatus.hpp
Go to the documentation of this file.
1 
13 #ifndef __UTILS_SYS_STATUS_HPP_
14 #define __UTILS_SYS_STATUS_HPP_
15 
16 #ifdef _WIN32
17 #if _MSC_VER > 1000
18 #pragma once
19 #endif
20 #endif
21 
22 #if defined(__unix__) && defined(__clang__)
23 #pragma once
24 #endif
25 
26 #include "../pch.hpp"
27 
28 #define __DESCRIBE_CHAR_MAX_NUMS 512
29 #define __DESCRIBE_CHAR_MAX_NUMS_DOUBLE 1024
30 #define COVER_KB2MB(x) ((float)x / 1024.f)
31 #define COVER_KB2GB(x) (COVER_KB2MB(x) / 1024.f)
32 
33 namespace cb {
34 namespace utils {
35 
36 struct sysInfo {
37  int32_t m_memAll; // kB
38  int32_t m_memFree; // kB
41  // TODO get IP/MAC/etc.
42 };
43 
44 #if defined(_WIN32)
45 #elif defined(__unix__)
46 
52 void getMemoryInfo(sysInfo& si);
53 
59 void getOsInfo(sysInfo& si);
60 
61 #endif
62 
63 #undef __DESCRIBE_CHAR_MAX_NUMS
64 
65 } // namespace utils
66 } // namespace cb
67 
68 #endif //! __UTILS_SYS_STATUS_HPP_
cb::utils::sysInfo::m_netCardType
char m_netCardType[__DESCRIBE_CHAR_MAX_NUMS]
Definition: sysStatus.hpp:40
__DESCRIBE_CHAR_MAX_NUMS_DOUBLE
#define __DESCRIBE_CHAR_MAX_NUMS_DOUBLE
Definition: sysStatus.hpp:29
cb::utils::sysInfo::m_memFree
int32_t m_memFree
Definition: sysStatus.hpp:38
cb
_WIN32
Definition: api.cpp:4
cb::utils::sysInfo::m_memAll
int32_t m_memAll
Definition: sysStatus.hpp:37
cb::utils::getOsInfo
void getOsInfo(sysInfo &si)
Definition: sysStatus.cpp:17
cb::utils::sysInfo
Definition: sysStatus.hpp:36
__DESCRIBE_CHAR_MAX_NUMS
#define __DESCRIBE_CHAR_MAX_NUMS
_WIN32
Definition: sysStatus.hpp:28
cb::utils::sysInfo::m_osInfo
char m_osInfo[__DESCRIBE_CHAR_MAX_NUMS_DOUBLE]
Definition: sysStatus.hpp:39
cb::utils::getMemoryInfo
void getMemoryInfo(sysInfo &si)
Definition: sysStatus.cpp:6