12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- #ifndef Prozess_H
- #define Prozess_H
- #include "Betriebssystem.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
- {
- private:
- #ifdef WIN32
- int numProcessors;
- ULARGE_INTEGER lastCPU, lastSysCPU, lastUserCPU;
- void *pHandle;
- #endif
- int ref;
- public:
- // Konstruktor
- __declspec( dllexport ) Prozess();
- // nicht constant
- #ifdef WIN32
- // Setzt den Prozess, der überwacht werden soll (Nur für Windows)
- __declspec( dllexport ) void setProcess( void *pHandle );
- #endif
- // Gibt den CPU verbrauch des Prozesses zurück
- __declspec( dllexport ) double getCPU() const;
- // Gibt den Speicherverbrauch des Prozesses zurück
- __declspec( dllexport ) __int64 getMem() const;
- #ifdef WIN32
- // Gibt detailierte Informationen über den Speicherverbrauch des Prozesses zurück (Nur für Windows)
- __declspec( dllexport ) MemoryInfo getMemInfo() const;
- // Gibt die Anzahl der Threads zurück (Nur für Windows)
- __declspec( dllexport ) int getThreadAnzahl() const;
- #endif
- // Erhöht den Reference Counting Zähler.
- // return: this.
- __declspec( dllexport ) Prozess *getThis();
- // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Zeichnung automatisch gelöscht.
- // return: 0.
- __declspec( dllexport ) Prozess *release();
- };
- }
- #endif
|