1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #ifndef Prozess_H
- #define Prozess_H
- #include "Betriebssystem.h"
- #include "ReferenceCounter.h"
- #ifdef WIN32
- # pragma comment(lib, "Psapi.lib")
- #endif
- namespace Framework
- {
- #ifdef WIN32
- struct MemoryInfo; //! aus dieser Datei
- #endif
- class Prozess; //! aus dieser Datei
- #ifdef WIN32
- struct MemoryInfo
- {
- unsigned long ausgelagerteFehler;
- __int64 höchsteAusgelagerterSpeicher;
- __int64 ausgelagerterSpeicher;
- __int64 höchsterAusgelagerterPool;
- __int64 ausgelagerterPool;
- __int64 höchsterNichtAusgelagerterPool;
- __int64 nichtAusgelagerterPool;
- __int64 vorreservierterSpeicher;
- __int64 höchsterVorreservierterSpeicher;
- };
- #endif
- //! Diese Klasse findet informationen über einen laufenden Prozess heraus
- //! (CPU, MEM) Bei Ubuntu immer der eigene Prozess
- class Prozess : public virtual ReferenceCounter
- {
- private:
- #ifdef WIN32
- int numProcessors;
- ULARGE_INTEGER lastCPU, lastSysCPU, lastUserCPU;
- void* pHandle;
- #endif
- public:
- //! Konstruktor
- DLLEXPORT Prozess();
- //! nicht constant
- #ifdef WIN32
- //! Setzt den Prozess, der überwacht werden soll (Nur für Windows)
- DLLEXPORT void setProcess(void* pHandle);
- #endif
- //! Gibt den CPU verbrauch des Prozesses zurück
- DLLEXPORT double getCPU() const;
- //! Gibt den Speicherverbrauch des Prozesses zurück
- DLLEXPORT __int64 getMem() const;
- #ifdef WIN32
- //! Gibt detailierte Informationen über den Speicherverbrauch des
- //! Prozesses zurück (Nur für Windows)
- DLLEXPORT MemoryInfo getMemInfo() const;
- //! Gibt die Anzahl der Threads zurück (Nur für Windows)
- DLLEXPORT int getThreadAnzahl() const;
- #endif
- };
- } // namespace Framework
- #endif
|