-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpersistantservice.h
64 lines (56 loc) · 1.62 KB
/
persistantservice.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#ifndef PERSISTANTSERVICE_H
#define PERSISTANTSERVICE_H
#include <QObject>
#include <QProcess>
#include <QStringList>
#include <QTimer>
#include <QFile>
#include <QJsonDocument>
#include <QJsonObject>
class PersistantService : public QObject
{
Q_OBJECT
public:
explicit PersistantService(QObject *parent = 0);
signals:
void ovsStarted();
void bridgeFound(QString);
void portFound(QString, QString);
void interfaceFound(QString, QString, QString);
void interfaceTypeFound(QString, QString, QString, QString);
void interfaceAttrFound(QString, QString, QString, QString, QString);
void execErrorFound(QString);
void needRefresh();
public:
void startOvs();
void listStatus();
void addBridge(QString bridgeName);
void deleteBridge(QString bridgeName);
void addPort(QString bridgeName, QString portName);
void deletePort(QString bridgeName, QString portName);
void setPort(QString type, QStringList optionList);
void setInterface(QString interfaceName, QMap<QString, QString> attrMap);
void listInterfaceAttr(QString interfaceName);
QJsonObject readJson(QString path);
public slots:
private slots:
//common
void wakeWatchDog();
void killProcess();
void onNormalProcessEnd();
//startOvs
void onOvsServerStarted();
void onOvsVswitchdStarted();
//listStatus()
void readStatus();
void onListStatusEnd();
void readInterfaceAttr();
void onListInterfaceAttrEnd();
private:
QProcess * process;
QTimer * watchDog;
QString currentBridge;
QString currentPort;
QString currentInterface;
};
#endif // PERSISTANTSERVICE_H