aboutsummaryrefslogtreecommitdiffstats
path: root/app/taskmanager.h
diff options
context:
space:
mode:
Diffstat (limited to 'app/taskmanager.h')
-rw-r--r--app/taskmanager.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/app/taskmanager.h b/app/taskmanager.h
new file mode 100644
index 0000000..08d0027
--- /dev/null
+++ b/app/taskmanager.h
@@ -0,0 +1,40 @@
+#include <QObject>
+#include <QString>
+#include <QSharedPointer>
+#include <QStringList>
+#include <QVector>
+#include <QtCore>
+#include <QWebSocket>
+#include "procinfo.h"
+
+#ifndef TASKMANAGER_H
+#define TASKMANAGER_H
+
+class TaskManager : public QObject
+{
+ Q_OBJECT
+
+public:
+ explicit TaskManager(QObject* parent = nullptr);
+
+ Q_INVOKABLE void open(const QUrl& url);
+ QTimer *timer;
+
+signals:
+ void updateProcess(const QString& cmd_, int tid_, int euid_, double scpu_, double ucpu_, double resident_memory_, const QString& state_);
+ void addProcess(const QString& cmd_, int tid_, int euid_, double scpu_, double ucpu_, double resident_memory_, const QString& state_);
+ void removeProcess(int tid_);
+
+private slots:
+ void callService();
+ void onSocketTextReceived(QString msg);
+
+private:
+ QWebSocket m_socket;
+ int m_nextCallId;
+ std::vector<ProcInfo> m_procinfos;
+
+ void ProcessResponse(bool r, const QJsonValue &val);
+};
+
+#endif // TASKMANAGER_H