Add weather routes project progress

This commit is contained in:
2025-04-07 19:40:38 +02:00
parent 8941d84bc8
commit fa5f6b2588
52 changed files with 2027 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
#include "networkmanager.h"
#include "QStandardPaths"
#include <QFile>
#include <QGuiApplication>
#include <QJsonDocument>
#include <QNetworkAccessManager>
#include <QNetworkReply>
NetworkManager *NetworkManager::m_instance;
NetworkManager::NetworkManager(QObject *parent) : QObject{parent} {}
NetworkManager *NetworkManager::Instance() {
if (m_instance != nullptr) {
return m_instance;
}
m_instance = new NetworkManager();
return m_instance;
}
void NetworkManager::fetchJSONfromAPI(QUrl url, QJsonDocument &doc)
{
qDebug() << "Fetch URL::" << url.toDisplayString();
QNetworkAccessManager m_manager;
QNetworkRequest request(url);
QNetworkReply *reply = m_manager.get(request);
QEventLoop loop;
connect(reply, &QNetworkReply::finished, &loop, &QEventLoop::quit);
loop.exec();
if (reply->error() == QNetworkReply::NoError)
{
QByteArray response = reply->readAll();
doc = QJsonDocument::fromJson(response);
}
else
{
qDebug() << "Invalid JSON response:: " << reply->errorString();
}
reply->deleteLater();
}