X-Git-Url: https://www.flypig.org.uk/git/?a=blobdiff_plain;f=src%2Fvpncontrol.h;h=542ec95b250ff1a1d1514b2db77a4171306c7b6a;hb=ee3968ffa08d4e0fcbad87765efa3aeb32ff0554;hp=d73f344aed14d0d449a36348374b0a63dde1ce3d;hpb=3aba2d3bed67a9d91350393dd4772f566aca7db1;p=openvpnui.git diff --git a/src/vpncontrol.h b/src/vpncontrol.h index d73f344..542ec95 100644 --- a/src/vpncontrol.h +++ b/src/vpncontrol.h @@ -19,17 +19,50 @@ enum VPNSTATUS { class VPNControl : public QObject { Q_OBJECT + + Q_PROPERTY (QString server READ getServer WRITE setServer NOTIFY serverChanged) + Q_PROPERTY (unsigned int port READ getPort WRITE setPort NOTIFY portChanged) + Q_PROPERTY (bool compressed READ getCompressed WRITE setCompressed NOTIFY compressedChanged) + Q_PROPERTY (bool useTLS READ getUseTLS WRITE setUseTLS NOTIFY useTLSChanged) + Q_PROPERTY (int tlsDirection READ getTlsDirection WRITE setTlsDirection NOTIFY tlsDirectionChanged) + private: QProcess * vpnProcess; VPNSTATUS vpnStatus; + QStringList arguments; + + // Configuration options + QString server; + unsigned int port; + bool compressed; + bool useTLS; + int tlsDirection; + + void collectArguments (); void setStatus (VPNSTATUS newStatus); + void addArgument (QString key, QString value); + void addArgument (QString key); + void addOption (QString key, bool add); + void addValue (QString key); + void settingsSetValue (QString key, QString value); + void settingsSetValue (QString key, int value); public: explicit VPNControl(QObject *parent = 0); void initialise(); + QString getServer() const; + unsigned int getPort() const; + bool getCompressed() const; + bool getUseTLS() const; + int getTlsDirection() const; signals: void statusChanged(int status); + void serverChanged(QString server); + void portChanged(unsigned int port); + void compressedChanged(bool compressed); + void useTLSChanged(bool useTLS); + void tlsDirectionChanged (int direction); public slots: void vpnConnect (); @@ -38,6 +71,12 @@ public slots: void started (); void finished (int code); void readError (QProcess::ProcessError error); + void updateConfiguration (); + void setServer(const QString &value); + void setPort(unsigned int value); + void setCompressed(bool value); + void setUseTLS(bool value); + void setTlsDirection(int value); }; #endif // VPNCONTROL_H