RaftLib  0.3a
C++ Stream Processing Template Library
systeminfo.hpp
1 
20 #ifndef _SYSTEMINFO_HPP_
21 #define _SYSTEMINFO_HPP_ 1
22 #include <string>
23 
30 namespace si{
31 enum Trait {
32  LevelOneICacheSize = 0,
33  LevelOneICacheAssociativity,
34  LevelOneICacheLineSize,
35  LevelOneDCacheSize,
36  LevelOneDCacheAssociativity,
37  LevelOneDCacheLineSize,
38  LevelTwoCacheSize,
39  LevelTwoCacheAssociativity,
40  LevelTwoCacheLineSize,
41  LevelThreeCacheSize,
42  LevelThreeCacheAssociativity,
43  LevelThreeCacheLineSize,
44  LevelFourCacheSize,
45  LevelFourCacheAssociativity,
46  LevelFourCacheLineSize,
47  NumberOfProcessors,
48  ProcessorName,
49  ProcessorFrequency,
50  SystemName,
51  NodeName,
52  OSRelease,
53  OSVersion,
54  MachineName,
55  UpTime,
56  OneMinLoad,
57  FiveMinLoad,
58  FifteenMinLoad,
59  TotalMainMemory,
60  FreeRam,
61  SharedRam,
62  BufferRam,
63  TotalSwap,
64  FreeSwap,
65  NumberOfProcessesRunning,
66  TotalHighMemory,
67  FreeHighMemory,
68  MemoryUnit,
69  Scheduler,
70  Priority,
71  N
72 };
73 }
74 
76 {
77 public:
78  SystemInfo() = delete;
79  virtual ~SystemInfo() = delete;
80 
89  static std::string getSystemProperty( const si::Trait trait );
96  static std::string getName( const si::Trait trait );
102  static size_t getNumTraits();
103 protected:
110  static std::string getUTSNameInfo( const si::Trait t );
111 
112 };
113 #endif /* END _SYSTEMINFO_HPP_ */
Definition: systeminfo.hpp:30
static std::string getUTSNameInfo(const si::Trait t)
Definition: systeminfo.cpp:886
static std::string getSystemProperty(const si::Trait trait)
Definition: systeminfo.cpp:56
Definition: systeminfo.hpp:75
static size_t getNumTraits()
Definition: systeminfo.cpp:880
static std::string getName(const si::Trait trait)
Definition: systeminfo.cpp:833