00001 00002 00003 #ifndef LocDynamicInfo_HPP 00004 #define LocDynamicInfo_HPP 00005 00006 00007 #include "LocStaticInfo.hpp" 00008 #include "CpuUsage.hpp" 00009 00010 using namespace std; 00011 00012 #include <string> 00013 00030 class LocDynamicInfo{ 00031 00032 private: 00033 00034 long freeRAM; 00035 long freeSwap; 00036 long fsFree; 00037 long filesFree; 00038 long fsTotal; 00039 long filesTotal; 00041 float currCpuUsage; 00043 long prevFreeRAM; 00044 long prevFreeSwap; 00045 long prevFsFree; 00046 long prevFilesFree; 00047 long prevFsTotal; 00048 long prevFilesTotal; 00049 float prevCpuUsage; 00051 float threshold; 00053 LocStaticInfo & lsi; 00054 CpuUsage & cpuUsage; 00060 void update(); 00061 00065 void testChange(); 00066 00072 string strUtilization() const; 00073 00074 public: 00075 00076 00086 LocDynamicInfo(LocStaticInfo & _lsi, float threshold); 00087 00096 bool hadSignificantChange(); 00097 00098 00102 long getFreeRAM() const{ return freeRAM; } 00103 00107 long getFreeSwap() const{ return freeSwap; } 00108 00112 long getFsFree() const{ return fsFree; } 00113 00117 long getFilesFree() const{ return filesFree; } 00118 00122 long getFsTotal() const{ return fsTotal; } 00123 00127 long getFilesTotal() const{ return filesTotal; } 00128 00132 const char * getCpuUsage() const{ return strUtilization().c_str(); } 00133 00134 };//class 00135 00136 #endif//LocDynamicInfo_HPP