mirror of
https://github.com/amnezia-vpn/amnezia-client.git
synced 2026-05-08 14:33:23 +00:00
36 lines
988 B
C++
36 lines
988 B
C++
#ifndef APICONFIGSCONTROLLER_H
|
|
#define APICONFIGSCONTROLLER_H
|
|
|
|
#include <QObject>
|
|
|
|
#include "configurators/openvpn_configurator.h"
|
|
#include "ui/models/servers_model.h"
|
|
|
|
class ApiConfigsController : public QObject
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
ApiConfigsController(const QSharedPointer<ServersModel> &serversModel, const std::shared_ptr<Settings> &settings,
|
|
QObject *parent = nullptr);
|
|
|
|
public slots:
|
|
void exportNativeConfig(const QString &serverCountryCode, const QString &fileName);
|
|
|
|
private:
|
|
struct ApiPayloadData
|
|
{
|
|
OpenVpnConfigurator::ConnectionData certRequest;
|
|
|
|
QString wireGuardClientPrivKey;
|
|
QString wireGuardClientPubKey;
|
|
};
|
|
|
|
ApiPayloadData generateApiPayloadData(const QString &protocol);
|
|
QJsonObject fillApiPayload(const QString &protocol, const ApiPayloadData &apiPayloadData);
|
|
|
|
QSharedPointer<ServersModel> m_serversModel;
|
|
std::shared_ptr<Settings> m_settings;
|
|
};
|
|
|
|
#endif // APICONFIGSCONTROLLER_H
|