amnezia-client/client/ui/pages_logic/ShareConnectionLogic.h
pokamest 25428c9165 Share WireGuard page
Share IKEv2 page
2021-11-15 18:17:28 +03:00

56 lines
1.8 KiB
C++

#ifndef SHARE_CONNECTION_LOGIC_H
#define SHARE_CONNECTION_LOGIC_H
#include "PageLogicBase.h"
#include "3rd/QRCodeGenerator/QRCodeGenerator.h"
class UiLogic;
class ShareConnectionLogic: public PageLogicBase
{
Q_OBJECT
public:
AUTO_PROPERTY(bool, shareFullAccess)
AUTO_PROPERTY(QString, textEditShareAmneziaCodeText)
AUTO_PROPERTY(QString, shareAmneziaQrCodeText)
AUTO_PROPERTY(QString, textEditShareOpenVpnCodeText)
AUTO_PROPERTY(QString, textEditShareShadowSocksText)
AUTO_PROPERTY(QString, lineEditShareShadowSocksStringText)
AUTO_PROPERTY(QString, shareShadowSocksQrCodeText)
AUTO_PROPERTY(QString, textEditShareCloakText)
AUTO_PROPERTY(QString, textEditShareWireGuardCodeText)
AUTO_PROPERTY(QString, shareWireGuardQrCodeText)
AUTO_PROPERTY(QString, textEditShareIkev2CertText)
AUTO_PROPERTY(QString, textEditShareIkev2MobileConfigText)
AUTO_PROPERTY(QString, textEditShareIkev2StrongSwanConfigText)
public:
Q_INVOKABLE void onPushButtonShareAmneziaGenerateClicked();
Q_INVOKABLE void onPushButtonShareOpenVpnGenerateClicked();
Q_INVOKABLE void onPushButtonShareShadowSocksGenerateClicked();
Q_INVOKABLE void onPushButtonShareCloakGenerateClicked();
Q_INVOKABLE void onPushButtonShareWireGuardGenerateClicked();
Q_INVOKABLE void onPushButtonShareIkev2GenerateClicked();
Q_INVOKABLE virtual void onUpdatePage() override;
public:
explicit ShareConnectionLogic(UiLogic *uiLogic, QObject *parent = nullptr);
~ShareConnectionLogic() = default;
void updateSharingPage(int serverIndex, DockerContainer container);
QImage updateQRCodeImage(const QByteArray &data);
QString imageToBase64(const QImage &image);
private:
CQR_Encode m_qrEncode;
};
#endif // SHARE_CONNECTION_LOGIC_H