Files
amnezia-client/client/ui/controllers/api/apiNewsController.h
T

35 lines
933 B
C++
Raw Normal View History

2025-10-06 08:06:36 +04:00
#ifndef APINEWSCONTROLLER_H
#define APINEWSCONTROLLER_H
#include <QJsonArray>
#include <QObject>
#include <QSharedPointer>
#include <memory>
#include "core/api/apiDefs.h"
#include "core/controllers/gatewayController.h"
#include "settings.h"
#include "ui/models/newsModel.h"
#include "ui/models/servers_model.h"
class ApiNewsController : public QObject
{
Q_OBJECT
public:
explicit ApiNewsController(const QSharedPointer<NewsModel> &newsModel, const std::shared_ptr<Settings> &settings,
const QSharedPointer<ServersModel> &serversModel, QObject *parent = nullptr);
2025-11-18 00:21:02 +08:00
Q_INVOKABLE void fetchNews(bool showError);
2025-10-06 08:06:36 +04:00
signals:
2025-11-18 00:21:02 +08:00
void errorOccurred(ErrorCode errorCode, bool showError);
void fetchNewsFinished();
2025-10-06 08:06:36 +04:00
private:
QSharedPointer<NewsModel> m_newsModel;
std::shared_ptr<Settings> m_settings;
QSharedPointer<ServersModel> m_serversModel;
};
#endif // APINEWSCONTROLLER_H