#ifndef OPENVPNOVERCLOAKPROTOCOL_H #define OPENVPNOVERCLOAKPROTOCOL_H #include "openvpnprotocol.h" #include "QProcess" class OpenVpnOverCloakProtocol : public OpenVpnProtocol { public: OpenVpnOverCloakProtocol(const QJsonObject& configuration, QObject* parent = nullptr); virtual ~OpenVpnOverCloakProtocol() override; ErrorCode start() override; void stop() override; protected: void readCloakConfiguration(const QJsonObject &configuration); protected: QJsonObject m_cloakConfig; private: static QString cloakExecPath(); private: #ifndef Q_OS_IOS QProcess m_ckProcess; #endif QTemporaryFile m_cloakCfgFile; QMetaObject::Connection m_errorHandlerConnection; }; #endif // OPENVPNOVERCLOAKPROTOCOL_H