Showing the changes to libraries/script-engine/src/ScriptManagerScriptingInterface.cpp (1 of 6 files). Show all
Unified · Split
| @@ -12,42 +12,54 @@ · 11 unmodified lines | ||
| 12 | 12 | |
| 13 | 13 | #include "ScriptManager.h" |
| 14 | 14 | #include "ScriptManagerScriptingInterface.h" |
| 15 | +#include "ScriptEngine.h" | |
| 15 | 16 | #include <QMetaType> |
| 16 | 17 | |
| 17 | 18 | |
| 18 | 19 | |
| 19 | 20 | ScriptManagerScriptingInterface::ScriptManagerScriptingInterface(ScriptManager *parent): QObject(parent), _manager(parent) { |
| 20 | 21 | |
| 21 | − qRegisterMetaType<ScriptException>(); | |
| 22 | − qRegisterMetaType<ScriptEngineException>(); | |
| 23 | − qRegisterMetaType<ScriptRuntimeException>(); | |
| 24 | − | |
| 25 | − qRegisterMetaType<std::shared_ptr<ScriptException>>(); | |
| 26 | − qRegisterMetaType<std::shared_ptr<ScriptEngineException>>(); | |
| 27 | − qRegisterMetaType<std::shared_ptr<ScriptRuntimeException>>(); | |
| 28 | − | |
| 29 | − | |
| 30 | − connect(_manager, &ScriptManager::scriptLoaded, this, &ScriptManagerScriptingInterface::scriptLoaded); | |
| 31 | − connect(_manager, &ScriptManager::errorLoadingScript, this, &ScriptManagerScriptingInterface::errorLoadingScript); | |
| 32 | − connect(_manager, &ScriptManager::update, this, &ScriptManagerScriptingInterface::update); | |
| 33 | − connect(_manager, &ScriptManager::scriptEnding, this, &ScriptManagerScriptingInterface::scriptEnding); | |
| 34 | − connect(_manager, &ScriptManager::finished, this, &ScriptManagerScriptingInterface::finished); | |
| 35 | − connect(_manager, &ScriptManager::printedMessage, this, &ScriptManagerScriptingInterface::printedMessage); | |
| 36 | − connect(_manager, &ScriptManager::errorMessage, this, &ScriptManagerScriptingInterface::errorMessage); | |
| 37 | − connect(_manager, &ScriptManager::warningMessage, this, &ScriptManagerScriptingInterface::warningMessage); | |
| 38 | − connect(_manager, &ScriptManager::infoMessage, this, &ScriptManagerScriptingInterface::infoMessage); | |
| 39 | − connect(_manager, &ScriptManager::runningStateChanged, this, &ScriptManagerScriptingInterface::runningStateChanged); | |
| 40 | − connect(_manager, &ScriptManager::clearDebugWindow, this, &ScriptManagerScriptingInterface::clearDebugWindow); | |
| 41 | − connect(_manager, &ScriptManager::loadScript, this, &ScriptManagerScriptingInterface::loadScript); | |
| 42 | − connect(_manager, &ScriptManager::doneRunning, this, &ScriptManagerScriptingInterface::doneRunning); | |
| 43 | − connect(_manager, &ScriptManager::entityScriptDetailsUpdated, this, &ScriptManagerScriptingInterface::entityScriptDetailsUpdated); | |
| 44 | − connect(_manager, &ScriptManager::entityScriptPreloadFinished, this, &ScriptManagerScriptingInterface::entityScriptPreloadFinished); | |
| 45 | − connect(_manager, &ScriptManager::unhandledException, this, &ScriptManagerScriptingInterface::scriptManagerException); | |
| 46 | − } | |
| 47 | − | |
| 48 | − void ScriptManagerScriptingInterface::scriptManagerException(std::shared_ptr<ScriptException> exception) { | |
| 49 | − // V8TODO: What should we actually handle here? | |
| 50 | − | |
| 51 | − | |
| 52 | − // emit unhandledException(exception.thrownValue); | |
| 53 | − } | |
| 22 | + qRegisterMetaType<ScriptException>(); | |
| 23 | + qRegisterMetaType<ScriptEngineException>(); | |
| 24 | + qRegisterMetaType<ScriptRuntimeException>(); | |
| 25 | + | |
| 26 | + qRegisterMetaType<std::shared_ptr<ScriptException>>(); | |
| 27 | + qRegisterMetaType<std::shared_ptr<ScriptEngineException>>(); | |
| 28 | + qRegisterMetaType<std::shared_ptr<ScriptRuntimeException>>(); | |
| 29 | + | |
| 30 | + | |
| 31 | + connect(_manager, &ScriptManager::scriptLoaded, this, &ScriptManagerScriptingInterface::scriptLoaded); | |
| 32 | + connect(_manager, &ScriptManager::errorLoadingScript, this, &ScriptManagerScriptingInterface::errorLoadingScript); | |
| 33 | + connect(_manager, &ScriptManager::update, this, &ScriptManagerScriptingInterface::update); | |
| 34 | + connect(_manager, &ScriptManager::scriptEnding, this, &ScriptManagerScriptingInterface::scriptEnding); | |
| 35 | + connect(_manager, &ScriptManager::finished, this, &ScriptManagerScriptingInterface::finished); | |
| 36 | + connect(_manager, &ScriptManager::printedMessage, this, &ScriptManagerScriptingInterface::printedMessage); | |
| 37 | + connect(_manager, &ScriptManager::errorMessage, this, &ScriptManagerScriptingInterface::errorMessage); | |
| 38 | + connect(_manager, &ScriptManager::warningMessage, this, &ScriptManagerScriptingInterface::warningMessage); | |
| 39 | + connect(_manager, &ScriptManager::infoMessage, this, &ScriptManagerScriptingInterface::infoMessage); | |
| 40 | + connect(_manager, &ScriptManager::runningStateChanged, this, &ScriptManagerScriptingInterface::runningStateChanged); | |
| 41 | + connect(_manager, &ScriptManager::clearDebugWindow, this, &ScriptManagerScriptingInterface::clearDebugWindow); | |
| 42 | + connect(_manager, &ScriptManager::loadScript, this, &ScriptManagerScriptingInterface::loadScript); | |
| 43 | + connect(_manager, &ScriptManager::doneRunning, this, &ScriptManagerScriptingInterface::doneRunning); | |
| 44 | + connect(_manager, &ScriptManager::entityScriptDetailsUpdated, this, &ScriptManagerScriptingInterface::entityScriptDetailsUpdated); | |
| 45 | + connect(_manager, &ScriptManager::entityScriptPreloadFinished, this, &ScriptManagerScriptingInterface::entityScriptPreloadFinished); | |
| 46 | + connect(_manager, &ScriptManager::unhandledException, this, &ScriptManagerScriptingInterface::scriptManagerException); | |
| 47 | +} | |
| 48 | + | |
| 49 | +void ScriptManagerScriptingInterface::scriptManagerException(std::shared_ptr<ScriptException> exception) { | |
| 50 | + // V8TODO: What should we actually handle here? | |
| 51 | + | |
| 52 | + | |
| 53 | + // emit unhandledException(exception.thrownValue); | |
| 54 | +} | |
| 55 | + | |
| 56 | +QVariantMap ScriptManagerScriptingInterface::getMemoryUsageStatistics() { | |
| 57 | + auto statistics = _manager->engine()->getMemoryUsageStatistics(); | |
| 58 | + QVariantMap map; | |
| 59 | + map.insert("totalHeapSize", QVariant((qulonglong)(statistics.totalHeapSize))); | |
| 60 | + map.insert("usedHeapSize", QVariant((qulonglong)(statistics.usedHeapSize))); | |
| 61 | + map.insert("totalAvailableSize", QVariant((qulonglong)(statistics.totalAvailableSize))); | |
| 62 | + map.insert("totalGlobalHandlesSize", QVariant((qulonglong)(statistics.totalGlobalHandlesSize))); | |
| 63 | + map.insert("usedGlobalHandlesSize", QVariant((qulonglong)(statistics.usedGlobalHandlesSize))); | |
| 64 | + return map; | |
| 65 | +} | |