Showing the changes to libraries/script-engine/src/ScriptManagerScriptingInterface.cpp (1 of 370 files). Show all
Unified · Split
| @@ -12,6 +12,7 @@ · 11 unmodified lines | ||
| 12 | 12 | |
| 13 | 13 | #include "ScriptManager.h" |
| 14 | 14 | #include "ScriptManagerScriptingInterface.h" |
| 15 | +#include "ScriptEngines.h" | |
| 15 | 16 | #include "ScriptEngine.h" |
| 16 | 17 | #include <QMetaType> |
| 17 | 18 | |
| @@ -88,3 +89,47 @@ void ScriptManagerScriptingInterface::startProfiling() { · 70 unmodified lines | ||
| 88 | 89 | void ScriptManagerScriptingInterface::stopProfilingAndSave() { |
| 89 | 90 | _manager->engine()->stopProfilingAndSave(); |
| 90 | 91 | } |
| 92 | + | |
| 93 | +void ScriptManagerScriptingInterface::requestServerEntityScriptMessages() { | |
| 94 | + if (_manager->isEntityServerScript() || _manager->isEntityServerScript()) { | |
| 95 | + _manager->engine()->raiseException("Uuid needs to be specified when requestServerEntityScriptMessages is invoked from entity script"); | |
| 96 | + } else { | |
| 97 | + auto scriptEngines = DependencyManager::get<ScriptEngines>().data(); | |
| 98 | + scriptEngines->requestServerEntityScriptMessages(_manager); | |
| 99 | + } | |
| 100 | +} | |
| 101 | + | |
| 102 | +void ScriptManagerScriptingInterface::requestServerEntityScriptMessages(const QUuid& entityID) { | |
| 103 | + if (_manager->isEntityServerScript() || _manager->isEntityServerScript()) { | |
| 104 | + auto scriptEngines = DependencyManager::get<ScriptEngines>().data(); | |
| 105 | + scriptEngines->requestServerEntityScriptMessages(_manager, entityID); | |
| 106 | + } else { | |
| 107 | + _manager->engine()->raiseException("Uuid must not be specified when requestServerEntityScriptMessages is invoked from entity script"); | |
| 108 | + } | |
| 109 | +} | |
| 110 | + | |
| 111 | +void ScriptManagerScriptingInterface::removeServerEntityScriptMessagesRequest() { | |
| 112 | + if (_manager->isEntityServerScript() || _manager->isEntityServerScript()) { | |
| 113 | + _manager->engine()->raiseException("Uuid needs to be specified when removeServerEntityScriptMessagesRequest is invoked from entity script"); | |
| 114 | + } else { | |
| 115 | + auto scriptEngines = DependencyManager::get<ScriptEngines>().data(); | |
| 116 | + scriptEngines->removeServerEntityScriptMessagesRequest(_manager); | |
| 117 | + } | |
| 118 | +} | |
| 119 | + | |
| 120 | +void ScriptManagerScriptingInterface::removeServerEntityScriptMessagesRequest(const QUuid& entityID) { | |
| 121 | + if (_manager->isEntityServerScript() || _manager->isEntityServerScript()) { | |
| 122 | + auto scriptEngines = DependencyManager::get<ScriptEngines>().data(); | |
| 123 | + scriptEngines->removeServerEntityScriptMessagesRequest(_manager, entityID); | |
| 124 | + } else { | |
| 125 | + _manager->engine()->raiseException("Uuid must not be specified when removeServerEntityScriptMessagesRequest is invoked from entity script"); | |
| 126 | + } | |
| 127 | +} | |
| 128 | + | |
| 129 | +QString ScriptManagerScriptingInterface::btoa(const QByteArray &binary) { | |
| 130 | + return binary.toBase64(); | |
| 131 | +} | |
| 132 | + | |
| 133 | +QByteArray ScriptManagerScriptingInterface::atob(const QString &base64) { | |
| 134 | + return QByteArray::fromBase64(base64.toUtf8()); | |
| 135 | +} | |