amnezia-client/service/server/tapcontroller_win.h
pokamest 0569c6411e
Release 1.1 (#5)
* Crash fix in management server

* Openvpn scripts fixes
some refactoring

* deploy fix

* Scripts fix for macos

* OpenVpn runtime error codes handling

* MacOS deploy script fix

* easyrsa scripts for MacOS

* Refactoring
Ui improvements
Bug fixes

* new server page fix

* Fix some warnings, fix installation scripts (macOS)

* Fix crash on fatal error, remove moc files from Windows installation

* ss files

* Fix issue with easyrsa

* ss files

* shadowsocks impl

* ss fix

* ui fix

* Macos doc icon

* travis scripts

* server scripts fix

* icon changed

* Server scripts fix

* travis fix

* Bug fixes:
- auto install tap
- share connectionState
- service crash fix

* travis release

* macos deploy
2021-01-27 00:57:02 +03:00

41 lines
1 KiB
C++

#ifndef TAPCONTROLLER_H
#define TAPCONTROLLER_H
#include <QObject>
#include <QString>
#include <QMap>
#define IPv6_DEBUG
//! The TapController class verifies Windows Tap Controller for existance on Windows platform.
class TapController
{
public:
static TapController& Instance();
static bool checkAndSetup();
static QString getOpenVpnPath();
bool checkInstaller();
static QStringList getTapList();
static bool enableTapAdapter(const QString &tapInstanceId);
static bool disableTapAdapter(const QString &tapInstanceId);
private:
explicit TapController();
TapController(TapController const &) = delete;
TapController& operator= (TapController const&) = delete;
static bool checkDriver(const QString& tapInstanceId);
static bool checkOpenVpn();
static QString getTapInstallPath();
static QString getTapDriverDir();
static bool setupDriver();
static bool setupDriverCertificate();
static bool removeDriver(const QString& tapInstanceId);
};
#endif // TAPCONTROLLER_H