60 lines
1.3 KiB
C++
Executable File
60 lines
1.3 KiB
C++
Executable File
#pragma once
|
|
|
|
#include <ServiceManagement/scm_dtc.h> // for Core::RunningState
|
|
|
|
#include <QWidget>
|
|
|
|
|
|
namespace Ui
|
|
{
|
|
class ServiceWidget;
|
|
}
|
|
|
|
namespace ServiceManagement
|
|
{
|
|
class ServiceWidget : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
enum Status
|
|
{
|
|
UNKNOWN = 0,
|
|
STARTING,
|
|
STARTED,
|
|
STOPPING,
|
|
STOPPED,
|
|
};
|
|
|
|
ServiceWidget(int32_t id, long long pid, const QString &name,
|
|
const Core::RunningState &state, const QString &errorString, QWidget *parent = nullptr);
|
|
~ServiceWidget();
|
|
|
|
void setPid(long long pid);
|
|
void setName(const QString &name);
|
|
void setTimestamp(long long timestamp);
|
|
void setState(Core::RunningState state);
|
|
void setErrorString(const QString &errorString);
|
|
|
|
|
|
void setStatus(const Status status);
|
|
Status getStatus() const;
|
|
int32_t id() const { return m_id; }
|
|
|
|
private:
|
|
Ui::ServiceWidget *m_ui;
|
|
Status m_status;
|
|
int32_t m_id;
|
|
|
|
static QString greenStyleSheet() { return QLatin1String("background-color: rgb(124, 189, 124);"); }
|
|
static QString orangeStyleSheet() { return QLatin1String("background-color: rgb(212, 190, 128);"); }
|
|
static QString redStyleSheet() { return QLatin1String("background-color: rgb(202, 122, 122);"); }
|
|
|
|
signals:
|
|
void signalRestartService(int id);
|
|
|
|
private slots:
|
|
void slotRestartService();
|
|
};
|
|
} // namespace ServiceManagement
|