amnezia-client/client/ui/pages_logic/protocols/OpenVpnLogic.h
2022-08-25 12:47:02 +03:00

50 lines
1.5 KiB
C++

#ifndef OPENVPN_LOGIC_H
#define OPENVPN_LOGIC_H
#include "PageProtocolLogicBase.h"
class UiLogic;
class OpenVpnLogic : public PageProtocolLogicBase
{
Q_OBJECT
AUTO_PROPERTY(QString, lineEditSubnetText)
AUTO_PROPERTY(bool, radioButtonTcpEnabled)
AUTO_PROPERTY(bool, radioButtonUdpEnabled)
AUTO_PROPERTY(bool, radioButtonTcpChecked)
AUTO_PROPERTY(bool, radioButtonUdpChecked)
AUTO_PROPERTY(bool, checkBoxAutoEncryptionChecked)
AUTO_PROPERTY(QString, comboBoxVpnCipherText)
AUTO_PROPERTY(QString, comboBoxVpnHashText)
AUTO_PROPERTY(bool, checkBoxBlockDnsChecked)
AUTO_PROPERTY(QString, lineEditPortText)
AUTO_PROPERTY(bool, checkBoxTlsAuthChecked)
AUTO_PROPERTY(bool, pushButtonSaveVisible)
AUTO_PROPERTY(bool, progressBarResetVisible)
AUTO_PROPERTY(bool, lineEditPortEnabled)
AUTO_PROPERTY(bool, labelProtoOpenVpnInfoVisible)
AUTO_PROPERTY(QString, labelProtoOpenVpnInfoText)
AUTO_PROPERTY(int, progressBarResetValue)
AUTO_PROPERTY(int, progressBarResetMaximium)
public:
Q_INVOKABLE void onPushButtonProtoOpenVpnSaveClicked();
public:
explicit OpenVpnLogic(UiLogic *uiLogic, QObject *parent = nullptr);
~OpenVpnLogic() = default;
void updateProtocolPage(const QJsonObject &openvpnConfig, DockerContainer container, bool haveAuthData) override;
QJsonObject getProtocolConfigFromPage(QJsonObject oldConfig) override;
private:
UiLogic *m_uiLogic;
};
#endif // OPENVPN_LOGIC_H