2025-02-06 15:26:47 +07:00
|
|
|
#ifndef APISETTINGSCONTROLLER_H
|
|
|
|
|
#define APISETTINGSCONTROLLER_H
|
|
|
|
|
|
|
|
|
|
#include <QObject>
|
|
|
|
|
|
|
|
|
|
#include "ui/models/api/apiAccountInfoModel.h"
|
2025-02-15 15:29:53 +07:00
|
|
|
#include "ui/models/api/apiCountryModel.h"
|
2025-02-28 18:17:43 +03:00
|
|
|
#include "ui/models/api/apiDevicesModel.h"
|
2025-02-06 15:26:47 +07:00
|
|
|
#include "ui/models/servers_model.h"
|
|
|
|
|
|
|
|
|
|
class ApiSettingsController : public QObject
|
|
|
|
|
{
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
public:
|
|
|
|
|
ApiSettingsController(const QSharedPointer<ServersModel> &serversModel, const QSharedPointer<ApiAccountInfoModel> &apiAccountInfoModel,
|
2025-02-28 18:17:43 +03:00
|
|
|
const QSharedPointer<ApiCountryModel> &apiCountryModel, const QSharedPointer<ApiDevicesModel> &apiDevicesModel,
|
|
|
|
|
const std::shared_ptr<Settings> &settings, QObject *parent = nullptr);
|
2025-02-06 15:26:47 +07:00
|
|
|
~ApiSettingsController();
|
|
|
|
|
|
|
|
|
|
public slots:
|
2025-02-22 14:42:09 +07:00
|
|
|
bool getAccountInfo(bool reload);
|
2025-02-07 22:22:14 +07:00
|
|
|
void updateApiCountryModel();
|
2025-02-28 18:17:43 +03:00
|
|
|
void updateApiDevicesModel();
|
2026-03-24 17:45:02 +03:00
|
|
|
void getRenewalLink();
|
2025-02-06 15:26:47 +07:00
|
|
|
|
2025-02-10 15:10:59 +07:00
|
|
|
signals:
|
|
|
|
|
void errorOccurred(ErrorCode errorCode);
|
2026-03-24 17:45:02 +03:00
|
|
|
void renewalLinkReceived(const QString &url);
|
2025-02-10 15:10:59 +07:00
|
|
|
|
2025-02-06 15:26:47 +07:00
|
|
|
private:
|
|
|
|
|
QSharedPointer<ServersModel> m_serversModel;
|
|
|
|
|
QSharedPointer<ApiAccountInfoModel> m_apiAccountInfoModel;
|
2025-02-07 22:22:14 +07:00
|
|
|
QSharedPointer<ApiCountryModel> m_apiCountryModel;
|
2025-02-28 18:17:43 +03:00
|
|
|
QSharedPointer<ApiDevicesModel> m_apiDevicesModel;
|
2025-02-06 15:26:47 +07:00
|
|
|
|
|
|
|
|
std::shared_ptr<Settings> m_settings;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif // APISETTINGSCONTROLLER_H
|