#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