2021-09-03 20:17:13 +03:00
|
|
|
#ifndef SHARE_CONNECTION_LOGIC_H
|
|
|
|
|
#define SHARE_CONNECTION_LOGIC_H
|
|
|
|
|
|
2021-09-07 21:01:56 +03:00
|
|
|
#include "PageLogicBase.h"
|
2022-08-25 17:35:28 +03:00
|
|
|
#include "containers/containers_defs.h"
|
2021-09-03 20:17:13 +03:00
|
|
|
|
|
|
|
|
class UiLogic;
|
|
|
|
|
|
2021-09-07 21:01:56 +03:00
|
|
|
class ShareConnectionLogic: public PageLogicBase
|
2021-09-03 20:17:13 +03:00
|
|
|
{
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
2021-09-04 11:26:16 +03:00
|
|
|
public:
|
2021-11-13 16:09:08 +03:00
|
|
|
AUTO_PROPERTY(bool, shareFullAccess)
|
|
|
|
|
|
|
|
|
|
AUTO_PROPERTY(QString, textEditShareAmneziaCodeText)
|
2021-12-20 02:29:23 +03:00
|
|
|
AUTO_PROPERTY(QStringList, shareAmneziaQrCodeTextSeries)
|
|
|
|
|
AUTO_PROPERTY(int, shareAmneziaQrCodeTextSeriesLength)
|
2021-11-13 16:09:08 +03:00
|
|
|
|
2021-09-08 14:23:02 +03:00
|
|
|
AUTO_PROPERTY(QString, textEditShareOpenVpnCodeText)
|
2021-11-13 16:09:08 +03:00
|
|
|
|
2021-11-15 18:17:28 +03:00
|
|
|
AUTO_PROPERTY(QString, textEditShareShadowSocksText)
|
2021-09-08 14:23:02 +03:00
|
|
|
AUTO_PROPERTY(QString, lineEditShareShadowSocksStringText)
|
2021-11-13 16:09:08 +03:00
|
|
|
AUTO_PROPERTY(QString, shareShadowSocksQrCodeText)
|
|
|
|
|
|
|
|
|
|
AUTO_PROPERTY(QString, textEditShareCloakText)
|
2021-09-04 11:26:16 +03:00
|
|
|
|
2021-11-15 18:17:28 +03:00
|
|
|
AUTO_PROPERTY(QString, textEditShareWireGuardCodeText)
|
|
|
|
|
AUTO_PROPERTY(QString, shareWireGuardQrCodeText)
|
|
|
|
|
|
|
|
|
|
AUTO_PROPERTY(QString, textEditShareIkev2CertText)
|
|
|
|
|
AUTO_PROPERTY(QString, textEditShareIkev2MobileConfigText)
|
|
|
|
|
AUTO_PROPERTY(QString, textEditShareIkev2StrongSwanConfigText)
|
|
|
|
|
|
2021-09-03 20:17:13 +03:00
|
|
|
public:
|
2021-09-04 11:26:16 +03:00
|
|
|
Q_INVOKABLE void onPushButtonShareAmneziaGenerateClicked();
|
2021-09-08 14:23:02 +03:00
|
|
|
Q_INVOKABLE void onPushButtonShareOpenVpnGenerateClicked();
|
2021-11-15 18:17:28 +03:00
|
|
|
Q_INVOKABLE void onPushButtonShareShadowSocksGenerateClicked();
|
|
|
|
|
Q_INVOKABLE void onPushButtonShareCloakGenerateClicked();
|
|
|
|
|
Q_INVOKABLE void onPushButtonShareWireGuardGenerateClicked();
|
|
|
|
|
Q_INVOKABLE void onPushButtonShareIkev2GenerateClicked();
|
2021-11-13 16:09:08 +03:00
|
|
|
|
|
|
|
|
Q_INVOKABLE virtual void onUpdatePage() override;
|
2021-09-03 20:17:13 +03:00
|
|
|
|
2021-09-08 13:52:36 +03:00
|
|
|
public:
|
|
|
|
|
explicit ShareConnectionLogic(UiLogic *uiLogic, QObject *parent = nullptr);
|
|
|
|
|
~ShareConnectionLogic() = default;
|
2021-09-03 20:17:13 +03:00
|
|
|
|
2021-11-15 18:17:28 +03:00
|
|
|
void updateSharingPage(int serverIndex, DockerContainer container);
|
2021-12-20 02:29:23 +03:00
|
|
|
QList<QString> genQrCodeImageSeries(const QByteArray &data);
|
|
|
|
|
|
2022-09-07 09:51:03 +03:00
|
|
|
QString svgToBase64(const QString &image);
|
2021-09-04 11:26:16 +03:00
|
|
|
|
2021-09-03 20:17:13 +03:00
|
|
|
};
|
|
|
|
|
#endif // SHARE_CONNECTION_LOGIC_H
|