31 lines
831 B
C++
31 lines
831 B
C++
#ifndef WEATHERCONTROLLER_H
|
|
#define WEATHERCONTROLLER_H
|
|
|
|
#include "../data/weatherdata.h"
|
|
#include <QGeoCoordinate>
|
|
#include <QObject>
|
|
|
|
class WeatherController : public QObject {
|
|
Q_OBJECT
|
|
public:
|
|
explicit WeatherController(QObject *parent = nullptr);
|
|
|
|
static const QString FILENAME;
|
|
bool parseJSONData();
|
|
QJsonObject fetchCurrentWeatherData(const QGeoCoordinate &coord);
|
|
|
|
signals:
|
|
|
|
private:
|
|
bool readWeatherData(QJsonDocument &doc, QString objName = NULL);
|
|
bool checkToDownload(QJsonDocument &doc);
|
|
bool saveWeatherData(QJsonDocument &doc);
|
|
bool fetchWeatherData(QUrl url, QJsonDocument &doc);
|
|
void updateWeatherData(QJsonDocument &inputDoc);
|
|
QUrl prepareURL(const QString &plaats);
|
|
QUrl prepareURL(const QGeoCoordinate &coord);
|
|
QList<WeatherData> mData;
|
|
};
|
|
|
|
#endif // WEATHERCONTROLLER_H
|