#include "networkmanager.h" #include "QStandardPaths" #include #include #include #include #include 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(); }