-
Notifications
You must be signed in to change notification settings - Fork 3
/
openvpn.h
156 lines (120 loc) · 3.73 KB
/
openvpn.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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
#ifndef OPENVPN_H
#define OPENVPN_H
#include <QtGui>
#include <QDir>
#include <QDialog>
#include <QSystemTrayIcon>
#include <QTimer>
#include <QTime>
#include <QDate>
#include "vpnlog.h"
#include "settings.h"
#include "qthreadexec.h"
class OpenVpn : public QObject
{
Q_OBJECT
public:
OpenVpn();
virtual ~OpenVpn() {}
//Methoden
QString getErrorString ();
QString getConnectionIP ();
QString getScript (const QString &type);
QString getAdvName ();
void setId (int id);
bool hasCrediantials (int type = -1);
QString getSavedUserData (int type);
void runScript (const QString &type);
void runDelayStartScript ();
void setObjectToConnected ();
void connectToVpn (bool openLog=false);
void setConnectedIP (const QString &ip);
void setIsConnected (bool flag);
void setIsError (bool flag);
void setErrorString (const QString &errMes);
void setIsConnecting (bool flag);
void setAdvName (const QString &name);
void setConnectedSinceTime (const QTime &since);
void setConnectedSinceDate (const QDate &since);
void enableAllMenus ();
void disableMenues ();
bool isConnecting ();
bool isError ();
bool isConnectionStable ();
bool isOnConnect ();
void testCloseOpenVPN ();
QAction *menu;
int id() const;
QTime getConnectedSinceTime ();
QDate getConnectedSinceDate ();
QString getConfigFullPath () const;
QString getConfigPath () const;
QString getConfigName () const;
bool isConnectionStable () const;
bool isConfigLinked () const;
void setConfigName (const QString &name);
void setConfigPath (const QString &path);
void setConfigLinked (const bool &flag);
void setConfigStable (const bool &flag);
QStringList makeProxyString ();
void setDelay (const bool &flag);
bool isDelayed () const;
private slots:
void showProcessError (QProcess::ProcessError error);
void showProcessScriptError (QProcess::ProcessError error);
void processFinished (int exitCode, QProcess::ExitStatus exitStatus);
void readProcessData ();
void startAfterConnectDelayed ();
void getCryptKey (QString key);
public slots:
void openConnect ();
void disconnectVpn ();
void openVpnLog ();
void openEditConfig ();
void openExport ();
void openManageConnection ();
void writeUserData (QString data);
void saveUserData (int id, int type, QString value, bool save);
void removeCredentials (bool refresh = true);
private:
// Methoden
int _id;
void setDisconnected ();
void showTrayMessage (const QString &message);
bool onDisconnect;
bool onConnect;
bool errorHasOccurred;
QString errMessage;
// Member
QProcess proc;
QProcess *procScripts;
QList<QString> openVpnLogData;
QSystemTrayIcon *appIcon;
QList<QAction*> menuChildList;
QString connectionIP;
QString advName;
QDate connectedSinceDate;
QTime connectedSinceTime;
// Public Member
QString configName;
QString configPath;
QString configPwd;
QString configUser;
bool connectionStable;
bool isLinked;
bool runAsService;
volatile bool waitForCryptKey;
// Forms
VpnLog mLog;
void userDataIsNeeded (int type);
bool delayed;
signals:
void configSignalIsChanged ();
void errorOccuredSig (QString message);
void connectionIsStableSig (QString ip);
void connectionIsDisconnectedSig ();
void connectionReconnectFromOpenVPNSig ();
void needUserInput (int id, int type);
void closeDialog ();
};
#endif // OPENVPN_H