2021-09-06 13:41:45 +03:00
|
|
|
#ifndef OPENVPN_LOGIC_H
|
|
|
|
|
#define OPENVPN_LOGIC_H
|
|
|
|
|
|
2021-09-16 16:19:14 +03:00
|
|
|
#include "PageProtocolLogicBase.h"
|
2021-09-06 13:41:45 +03:00
|
|
|
|
|
|
|
|
class UiLogic;
|
|
|
|
|
|
2021-09-16 16:19:14 +03:00
|
|
|
class OpenVpnLogic : public PageProtocolLogicBase
|
2021-09-06 13:41:45 +03:00
|
|
|
{
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
2021-09-28 02:19:52 +03:00
|
|
|
AUTO_PROPERTY(QString, lineEditSubnetText)
|
2021-09-16 19:49:50 +03:00
|
|
|
|
2021-09-28 02:19:52 +03:00
|
|
|
AUTO_PROPERTY(bool, radioButtonTcpEnabled)
|
|
|
|
|
AUTO_PROPERTY(bool, radioButtonUdpEnabled)
|
|
|
|
|
AUTO_PROPERTY(bool, radioButtonTcpChecked)
|
|
|
|
|
AUTO_PROPERTY(bool, radioButtonUdpChecked)
|
2021-09-16 19:49:50 +03:00
|
|
|
|
2021-09-28 02:19:52 +03:00
|
|
|
AUTO_PROPERTY(bool, checkBoxAutoEncryptionChecked)
|
|
|
|
|
AUTO_PROPERTY(QString, comboBoxVpnCipherText)
|
|
|
|
|
AUTO_PROPERTY(QString, comboBoxVpnHashText)
|
|
|
|
|
AUTO_PROPERTY(bool, checkBoxBlockDnsChecked)
|
|
|
|
|
AUTO_PROPERTY(QString, lineEditPortText)
|
|
|
|
|
AUTO_PROPERTY(bool, checkBoxTlsAuthChecked)
|
2022-10-26 09:36:58 +03:00
|
|
|
AUTO_PROPERTY(QString, textAreaAdditionalClientConfig)
|
|
|
|
|
AUTO_PROPERTY(QString, textAreaAdditionalServerConfig)
|
2021-09-08 14:23:02 +03:00
|
|
|
|
2021-09-28 02:19:52 +03:00
|
|
|
AUTO_PROPERTY(bool, pushButtonSaveVisible)
|
|
|
|
|
AUTO_PROPERTY(bool, progressBarResetVisible)
|
2021-09-16 19:49:50 +03:00
|
|
|
|
2021-09-28 02:19:52 +03:00
|
|
|
AUTO_PROPERTY(bool, lineEditPortEnabled)
|
2021-09-08 14:23:02 +03:00
|
|
|
|
|
|
|
|
AUTO_PROPERTY(bool, labelProtoOpenVpnInfoVisible)
|
|
|
|
|
AUTO_PROPERTY(QString, labelProtoOpenVpnInfoText)
|
2021-09-28 02:19:52 +03:00
|
|
|
AUTO_PROPERTY(int, progressBarResetValue)
|
2023-04-11 09:50:44 -04:00
|
|
|
AUTO_PROPERTY(int, progressBarResetMaximum)
|
2023-01-01 21:48:20 +03:00
|
|
|
AUTO_PROPERTY(bool, progressBarTextVisible)
|
|
|
|
|
AUTO_PROPERTY(QString, progressBarText)
|
|
|
|
|
|
|
|
|
|
AUTO_PROPERTY(bool, labelServerBusyVisible)
|
|
|
|
|
AUTO_PROPERTY(QString, labelServerBusyText)
|
2021-09-06 13:41:45 +03:00
|
|
|
|
2023-01-02 17:32:27 +03:00
|
|
|
AUTO_PROPERTY(bool, pushButtonCancelVisible)
|
|
|
|
|
|
2022-11-01 23:12:42 +03:00
|
|
|
AUTO_PROPERTY(QString, openVpnLastConfigText)
|
|
|
|
|
AUTO_PROPERTY(bool, isThirdPartyConfig)
|
|
|
|
|
|
2021-09-08 13:52:36 +03:00
|
|
|
public:
|
2023-01-02 17:32:27 +03:00
|
|
|
Q_INVOKABLE void onPushButtonSaveClicked();
|
|
|
|
|
Q_INVOKABLE void onPushButtonCancelClicked();
|
2021-09-06 14:35:57 +03:00
|
|
|
|
2021-09-06 13:41:45 +03:00
|
|
|
public:
|
|
|
|
|
explicit OpenVpnLogic(UiLogic *uiLogic, QObject *parent = nullptr);
|
|
|
|
|
~OpenVpnLogic() = default;
|
|
|
|
|
|
2021-09-16 16:19:14 +03:00
|
|
|
void updateProtocolPage(const QJsonObject &openvpnConfig, DockerContainer container, bool haveAuthData) override;
|
|
|
|
|
QJsonObject getProtocolConfigFromPage(QJsonObject oldConfig) override;
|
2021-09-06 13:41:45 +03:00
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
UiLogic *m_uiLogic;
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
#endif // OPENVPN_LOGIC_H
|