History

Update script loaders to use ResourceRequest

Ryan Huffman committed 11 years ago

Commit acff31e1 parent 6b839482 files · +65 −59Browse files

Showing the changes to libraries/script-engine/src/BatchLoader.cpp (1 of 2 files). Show all

Unified · Split

libraries/script-engine/src/BatchLoader.cpp+55−38
@@ -17,9 +17,7 @@ · 16 unmodified lines
1717 #include "BatchLoader.h"
1818 #include <NetworkAccessManager.h>
1919 #include <SharedUtil.h>
20−
21−
22−
20+#include "ResourceManager.h"
2321
2422 BatchLoader::BatchLoader(const QList<QUrl>& urls)
2523 : QObject(),
@@ -27,6 +25,7 @@ BatchLoader::BatchLoader(const QList<QUrl>& urls) · 1 unmodified line
2725 _finished(false),
2826 _urls(urls.toSet()),
2927 _data() {
28+ qRegisterMetaType<QMap<QUrl, QString>>("QMap<QUrl, QString>");
3029 }
3130
3231 void BatchLoader::start() {
@@ -35,45 +34,63 @@ void BatchLoader::start() { · 2 unmodified lines
3534 }
3635
3736 _started = true;
38− QNetworkAccessManager& networkAccessManager = NetworkAccessManager::getInstance();
37+ // QNetworkAccessManager& networkAccessManager = NetworkAccessManager::getInstance();
3938 for (QUrl url : _urls) {
40− if (url.scheme() == "http" || url.scheme() == "https" || url.scheme() == "ftp") {
41− QNetworkRequest request = QNetworkRequest(url);
42− request.setHeader(QNetworkRequest::UserAgentHeader, HIGH_FIDELITY_USER_AGENT);
43− QNetworkReply* reply = networkAccessManager.get(request);
44−
45− qCDebug(scriptengine) << "Downloading file at" << url;
46−
47− connect(reply, &QNetworkReply::finished, [=]() {
48− if (reply->error()) {
49− _data.insert(url, QString());
50− } else {
51− _data.insert(url, reply->readAll());
52− }
53− reply->deleteLater();
54− checkFinished();
55− });
56−
57− // If we end up being destroyed before the reply finishes, clean it up
58− connect(this, &QObject::destroyed, reply, &QObject::deleteLater);
59−
60− } else {
61−#ifdef _WIN32
62− QString fileName = url.toString();
63−#else
64− QString fileName = url.toLocalFile();
65−#endif
66−
67− qCDebug(scriptengine) << "Reading file at " << fileName;
68−
69− QFile scriptFile(fileName);
70− if (scriptFile.open(QFile::ReadOnly | QFile::Text)) {
71− QTextStream in(&scriptFile);
72− _data.insert(url, in.readAll());
39+ auto request = ResourceManager::createResourceRequest(this, url);
40+ if (!request) {
41+ continue;
42+ }
43+ connect(request, &ResourceRequest::finished, [=]() {
44+ if (request->getResult() == ResourceRequest::SUCCESS) {
45+ _data.insert(url, request->moveData());
7346 } else {
7447 _data.insert(url, QString());
7548 }
76− }
49+ request->deleteLater();
50+ checkFinished();
51+ });
52+
53+ qCDebug(scriptengine) << "Loading script at " << url;
54+
55+ request->send();
56+
57+// if (url.scheme() == "http" || url.scheme() == "https" || url.scheme() == "ftp") {
58+// QNetworkRequest request = QNetworkRequest(url);
59+// request.setHeader(QNetworkRequest::UserAgentHeader, HIGH_FIDELITY_USER_AGENT);
60+// QNetworkReply* reply = networkAccessManager.get(request);
61+//
62+// qCDebug(scriptengine) << "Downloading file at" << url;
63+//
64+// connect(reply, &QNetworkReply::finished, [=]() {
65+// if (reply->error()) {
66+// _data.insert(url, QString());
67+// } else {
68+// _data.insert(url, reply->readAll());
69+// }
70+// reply->deleteLater();
71+// checkFinished();
72+// });
73+//
74+// // If we end up being destroyed before the reply finishes, clean it up
75+// connect(this, &QObject::destroyed, reply, &QObject::deleteLater);
76+//
77+// } else {
78+// #ifdef _WIN32
79+// QString fileName = url.toString();
80+// #else
81+// QString fileName = url.toLocalFile();
82+// #endif
83+//
84+// qCDebug(scriptengine) << "Reading file at " << fileName;
85+//
86+// QFile scriptFile(fileName);
87+// if (scriptFile.open(QFile::ReadOnly | QFile::Text)) {
88+// QTextStream in(&scriptFile);
89+// _data.insert(url, in.readAll());
90+// } else {
91+// _data.insert(url, QString());
92+// }
93+// }
7794 }
7895 checkFinished();
7996 }

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t