Showing the changes to libraries/script-engine/src/AssetScriptingInterface.cpp (1 of 14 files). Show all
Unified · Split
| @@ -73,6 +73,7 @@ void AssetScriptingInterface::uploadData(QString data, const ScriptValue& callba · 72 unmodified lines | |||
| 73 | auto upload = DependencyManager::get<AssetClient>()->createUpload(dataByteArray); | 73 | auto upload = DependencyManager::get<AssetClient>()->createUpload(dataByteArray); |
| 74 | 74 | ||
| 75 | Promise deferred = makePromise(__FUNCTION__); | 75 | Promise deferred = makePromise(__FUNCTION__); |
| 76 | Q_ASSERT(engine); | ||
| 76 | auto scriptEngine = engine(); | 77 | auto scriptEngine = engine(); |
| 77 | deferred->ready([=](QString error, QVariantMap result) { | 78 | deferred->ready([=](QString error, QVariantMap result) { |
| 78 | auto url = result.value("url").toString(); | 79 | auto url = result.value("url").toString(); |
| @@ -96,6 +97,7 @@ void AssetScriptingInterface::setMapping(QString path, QString hash, const Scrip · 17 unmodified lines | |||
| 96 | auto handler = jsBindCallback(thisObject(), callback); | 97 | auto handler = jsBindCallback(thisObject(), callback); |
| 97 | auto setMappingRequest = assetClient()->createSetMappingRequest(path, hash); | 98 | auto setMappingRequest = assetClient()->createSetMappingRequest(path, hash); |
| 98 | Promise deferred = makePromise(__FUNCTION__); | 99 | Promise deferred = makePromise(__FUNCTION__); |
| 100 | Q_ASSERT(engine); | ||
| 99 | auto scriptEngine = engine(); | 101 | auto scriptEngine = engine(); |
| 100 | deferred->ready([=](QString error, QVariantMap result) { | 102 | deferred->ready([=](QString error, QVariantMap result) { |
| 101 | jsCallback(handler, scriptEngine->newValue(error), result); | 103 | jsCallback(handler, scriptEngine->newValue(error), result); |
| @@ -133,6 +135,7 @@ void AssetScriptingInterface::downloadData(QString urlString, const ScriptValue& · 31 unmodified lines | |||
| 133 | auto assetRequest = assetClient->createRequest(hash); | 135 | auto assetRequest = assetClient->createRequest(hash); |
| 134 | 136 | ||
| 135 | Promise deferred = makePromise(__FUNCTION__); | 137 | Promise deferred = makePromise(__FUNCTION__); |
| 138 | Q_ASSERT(engine); | ||
| 136 | auto scriptEngine = engine(); | 139 | auto scriptEngine = engine(); |
| 137 | deferred->ready([=](QString error, QVariantMap result) { | 140 | deferred->ready([=](QString error, QVariantMap result) { |
| 138 | // FIXME: to remain backwards-compatible the signature here is "callback(data, n/a)" | 141 | // FIXME: to remain backwards-compatible the signature here is "callback(data, n/a)" |
| @@ -196,6 +199,7 @@ void AssetScriptingInterface::getMapping(QString asset, const ScriptValue& callb · 57 unmodified lines | |||
| 196 | JS_VERIFY(AssetUtils::isValidFilePath(path), "invalid ATP file path: " + asset + "(path:"+path+")"); | 199 | JS_VERIFY(AssetUtils::isValidFilePath(path), "invalid ATP file path: " + asset + "(path:"+path+")"); |
| 197 | JS_VERIFY(callback.isFunction(), "expected second parameter to be a callback function"); | 200 | JS_VERIFY(callback.isFunction(), "expected second parameter to be a callback function"); |
| 198 | Promise promise = getAssetInfo(path); | 201 | Promise promise = getAssetInfo(path); |
| 202 | Q_ASSERT(engine); | ||
| 199 | auto scriptEngine = engine(); | 203 | auto scriptEngine = engine(); |
| 200 | promise->ready([=](QString error, QVariantMap result) { | 204 | promise->ready([=](QString error, QVariantMap result) { |
| 201 | jsCallback(handler, scriptEngine->newValue(error), scriptEngine->newValue(result.value("hash").toString())); | 205 | jsCallback(handler, scriptEngine->newValue(error), scriptEngine->newValue(result.value("hash").toString())); |
| @@ -229,6 +233,7 @@ Promise AssetScriptingInterface::jsPromiseReady(Promise promise, const ScriptVal · 27 unmodified lines | |||
| 229 | if (!jsVerify(handler.isValid(), "jsPromiseReady -- invalid callback handler")) { | 233 | if (!jsVerify(handler.isValid(), "jsPromiseReady -- invalid callback handler")) { |
| 230 | return nullptr; | 234 | return nullptr; |
| 231 | } | 235 | } |
| 236 | Q_ASSERT(engine); | ||
| 232 | auto scriptEngine = engine(); | 237 | auto scriptEngine = engine(); |
| 233 | return promise->ready([this, handler, scriptEngine](QString error, QVariantMap result) { | 238 | return promise->ready([this, handler, scriptEngine](QString error, QVariantMap result) { |
| 234 | jsCallback(handler, scriptEngine->newValue(error), result); | 239 | jsCallback(handler, scriptEngine->newValue(error), result); |
| @@ -238,6 +243,7 @@ Promise AssetScriptingInterface::jsPromiseReady(Promise promise, const ScriptVal · 3 unmodified lines | |||
| 238 | void AssetScriptingInterface::jsCallback(const ScriptValue& handler, | 243 | void AssetScriptingInterface::jsCallback(const ScriptValue& handler, |
| 239 | const ScriptValue& error, const ScriptValue& result) { | 244 | const ScriptValue& error, const ScriptValue& result) { |
| 240 | Q_ASSERT(thread() == QThread::currentThread()); | 245 | Q_ASSERT(thread() == QThread::currentThread()); |
| 246 | Q_ASSERT(engine); | ||
| 241 | auto errorValue = !error.toBool() ? engine()->nullValue() : error; | 247 | auto errorValue = !error.toBool() ? engine()->nullValue() : error; |
| 242 | JS_VERIFY(handler.isObject() && handler.property("callback").isFunction(), | 248 | JS_VERIFY(handler.isObject() && handler.property("callback").isFunction(), |
| 243 | QString("jsCallback -- .callback is not a function (%1)") | 249 | QString("jsCallback -- .callback is not a function (%1)") |
| @@ -536,6 +542,7 @@ void AssetScriptingInterface::loadFromCache(const ScriptValue& options, const Sc · 292 unmodified lines | |||
| 536 | } | 542 | } |
| 537 | 543 | ||
| 538 | bool AssetScriptingInterface::canWriteCacheValue(const QUrl& url) { | 544 | bool AssetScriptingInterface::canWriteCacheValue(const QUrl& url) { |
| 545 | Q_ASSERT(engine); | ||
| 539 | auto scriptManager = engine()->manager(); | 546 | auto scriptManager = engine()->manager(); |
| 540 | if (!scriptManager) { | 547 | if (!scriptManager) { |
| 541 | return false; | 548 | return false; |