History

Merge branch 'master' into Leopoly_Phase1_003_Asset-Request

humbletim committed 8 years ago

Commit 49bb9422 parents 0953476 8f22c71503 files · +12274 −6090Browse files

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

Unified · Split

libraries/script-engine/src/AssetScriptingInterface.cpp+21−1
@@ -19,7 +19,6 @@ · 18 unmodified lines
1919 #include <AssetUpload.h>
2020 #include <AssetUtils.h>
2121 #include <MappingRequest.h>
22−#include <NetworkLogging.h>
2322 #include <NodeList.h>
2423
2524 #include <RegisteredMetaTypes.h>
@@ -79,6 +78,27 @@ void AssetScriptingInterface::setMapping(QString path, QString hash, QScriptValu · 53 unmodified lines
7978 setMappingRequest->start();
8079 }
8180
81+void AssetScriptingInterface::getMapping(QString path, QScriptValue callback) {
82+ auto request = DependencyManager::get<AssetClient>()->createGetMappingRequest(path);
83+ QObject::connect(request, &GetMappingRequest::finished, this, [=](GetMappingRequest* request) mutable {
84+ auto result = request->getError();
85+ if (callback.isFunction()) {
86+ if (result == GetMappingRequest::NotFound) {
87+ QScriptValueList args { "", true };
88+ callback.call(_engine->currentContext()->thisObject(), args);
89+ } else if (result == GetMappingRequest::NoError) {
90+ QScriptValueList args { request->getHash(), true };
91+ callback.call(_engine->currentContext()->thisObject(), args);
92+ } else {
93+ qCDebug(scriptengine) << "error -- " << request->getError() << " -- " << request->getErrorString();
94+ QScriptValueList args { "", false };
95+ callback.call(_engine->currentContext()->thisObject(), args);
96+ }
97+ request->deleteLater();
98+ }
99+ });
100+ request->start();
101+}
82102
83103 void AssetScriptingInterface::downloadData(QString urlString, QScriptValue callback) {
84104 // FIXME: historically this API method failed silently when given a non-atp prefixed