| 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 hoechsteAusgelagerterSpeicher;
- __int64 ausgelagerterSpeicher;
- __int64 hoechsterAusgelagerterPool;
- __int64 ausgelagerterPool;
- __int64 hoechsterNichtAusgelagerterPool;
- __int64 nichtAusgelagerterPool;
- __int64 vorreservierterSpeicher;
- __int64 hoechsterVorreservierterSpeicher;
- };
- #endif
- //! Diese Klasse findet informationen ueber 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 ueberwacht werden soll (Nur fuer Windows)
- DLLEXPORT void setProcess(void* pHandle);
- #endif
- //! Gibt den CPU verbrauch des Prozesses zurueck
- DLLEXPORT double getCPU() const;
- //! Gibt den Speicherverbrauch des Prozesses zurueck
- DLLEXPORT __int64 getMem() const;
- #ifdef WIN32
- //! Gibt detailierte Informationen ueber den Speicherverbrauch des
- //! Prozesses zurueck (Nur fuer Windows)
- DLLEXPORT MemoryInfo getMemInfo() const;
- //! Gibt die Anzahl der Threads zurueck (Nur fuer Windows)
- DLLEXPORT int getThreadAnzahl() const;
- #endif
- };
- } // namespace Framework
- #endif
|