12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- #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
- };
- }
- #endif
|