d73f344aed14d0d449a36348374b0a63dde1ce3d
[openvpnui.git] / src / vpncontrol.h
1 #ifndef VPNCONTROL_H
2 #define VPNCONTROL_H
3
4 #include <QObject>
5 #include <QProcess>
6
7 enum VPNSTATUS {
8 VPNSTATUS_INVALID = -1,
9
10 VPNSTATUS_UNINITIALISED,
11 VPNSTATUS_INITIALISING,
12 VPNSTATUS_CONNECTING,
13 VPNSTATUS_CONNECTED,
14 VPNSTATUS_DISCONNECTING,
15
16 VPNSTATUS_NUM
17 };
18
19 class VPNControl : public QObject
20 {
21 Q_OBJECT
22 private:
23 QProcess * vpnProcess;
24 VPNSTATUS vpnStatus;
25 void setStatus (VPNSTATUS newStatus);
26
27 public:
28 explicit VPNControl(QObject *parent = 0);
29 void initialise();
30
31 signals:
32 void statusChanged(int status);
33
34 public slots:
35 void vpnConnect ();
36 void vpnDisconnect ();
37 void readData ();
38 void started ();
39 void finished (int code);
40 void readError (QProcess::ProcessError error);
41 };
42
43 #endif // VPNCONTROL_H