Revert to using a Resource

This commit is contained in:
Atlante45 2016-04-12 13:34:33 -07:00
parent 5cc90ce8f0
commit 05895f628a
3 changed files with 11 additions and 20 deletions

View file

@ -570,19 +570,11 @@ bool processStateMachineNode(AnimNode::Pointer node, const QJsonObject& jsonObj,
AnimNodeLoader::AnimNodeLoader(const QUrl& url) : AnimNodeLoader::AnimNodeLoader(const QUrl& url) :
_url(url) _url(url)
{ {
auto request = ResourceManager::createResourceRequest(this, url); _resource = QSharedPointer<Resource>::create(url);
if (request) { _resource->setSelf(_resource);
connect(request, &ResourceRequest::finished, this, [this, request]() { connect(_resource.data(), &Resource::loaded, this, &AnimNodeLoader::onRequestDone);
if (request->getResult() == ResourceRequest::Success) { connect(_resource.data(), &Resource::failed, this, &AnimNodeLoader::onRequestError);
onRequestDone(request->getData()); _resource->ensureLoading();
} else {
onRequestError(request->getResult());
}
request->deleteLater();
});
request->send();
}
} }
AnimNode::Pointer AnimNodeLoader::load(const QByteArray& contents, const QUrl& jsonUrl) { AnimNode::Pointer AnimNodeLoader::load(const QByteArray& contents, const QUrl& jsonUrl) {
@ -629,6 +621,6 @@ void AnimNodeLoader::onRequestDone(const QByteArray data) {
} }
} }
void AnimNodeLoader::onRequestError(ResourceRequest::Result netError) { void AnimNodeLoader::onRequestError(QNetworkReply::NetworkError netError) {
emit error((int)netError, "Resource download error"); emit error((int)netError, "Resource download error");
} }

View file

@ -13,13 +13,13 @@
#include <memory> #include <memory>
#include <QNetworkReply>
#include <QString> #include <QString>
#include <QUrl> #include <QUrl>
#include "AnimNode.h" #include "AnimNode.h"
#include <ResourceManager.h> class Resource;
class AnimNodeLoader : public QObject { class AnimNodeLoader : public QObject {
Q_OBJECT Q_OBJECT
@ -37,11 +37,12 @@ protected:
protected slots: protected slots:
void onRequestDone(const QByteArray data); void onRequestDone(const QByteArray data);
void onRequestError(ResourceRequest::Result error); void onRequestError(QNetworkReply::NetworkError error);
protected: protected:
QUrl _url; QUrl _url;
QSharedPointer<Resource> _resource;
private: private:
// no copies // no copies

View file

@ -218,7 +218,6 @@ QList<QSharedPointer<Resource>> ResourceCacheSharedItems::getPendingRequests() {
result.append(resource); result.append(resource);
} }
} }
_pendingRequests.removeAll(QWeakPointer<Resource>());
} }
return result; return result;
} }
@ -238,7 +237,6 @@ QList<QSharedPointer<Resource>> ResourceCacheSharedItems::getLoadingRequests() {
result.append(resource); result.append(resource);
} }
} }
_loadingRequests.removeAll(QWeakPointer<Resource>());
} }
return result; return result;
} }