60 lines
1.5 KiB
C++
Executable File
60 lines
1.5 KiB
C++
Executable File
#pragma once
|
|
|
|
#include "scm_dialog_service.h"
|
|
|
|
#include <QWidget>
|
|
#include <QVector>
|
|
|
|
|
|
namespace Ui
|
|
{
|
|
class GroupWidget;
|
|
}
|
|
|
|
namespace ServiceManagement
|
|
{
|
|
class GroupWidget : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
GroupWidget(const Core::ServiceGroupType &groupType, int server, int exercise,
|
|
int32_t replayPartitionId,
|
|
const QString &groupName, long long timestamp,
|
|
const QVector<int> &neededServices, QWidget *parent = nullptr);
|
|
~GroupWidget();
|
|
|
|
void addService(ServiceWidget *service);
|
|
|
|
void setType(Core::ServiceGroupType type); // sets group name
|
|
void setServer(int server);
|
|
void setExercise(int exercise);
|
|
void setTimestamp(long long timestamp);
|
|
|
|
ServiceWidget::Status getStatus() const;
|
|
void setStatus(ServiceWidget::Status status);
|
|
|
|
void checkStatus();
|
|
|
|
private:
|
|
Ui::GroupWidget *m_ui;
|
|
ServiceWidget::Status m_status;
|
|
Core::ServiceGroupType m_groupType;
|
|
int m_server;
|
|
int m_exercise;
|
|
QString m_groupName;
|
|
int32_t m_replayPartitionId;
|
|
QVector<int> m_neededServices;
|
|
|
|
private slots:
|
|
void slotRestartGroup();
|
|
void slotStartGroup();
|
|
void slotStopGroup();
|
|
|
|
signals:
|
|
void signalRestartGroup(const Core::ServiceGroupType &groupType, int, int, int32_t replayPartitionId);
|
|
void signalStartGroup(const Core::ServiceGroupType &groupType, int, int, const int32_t replayPartitionId);
|
|
void signalStopGroup(const Core::ServiceGroupType &groupType, int, int, const int32_t replayPartitionId);
|
|
};
|
|
} // namespace ServiceManagement
|