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 | #include "ScriptManager.h" | 13 | #include "ScriptManager.h" |
| 14 | #include "ScriptManagerScriptingInterface.h" | 14 | #include "ScriptManagerScriptingInterface.h" |
| 15 | #include "ScriptEngine.h" | ||
| 15 | #include <QMetaType> | 16 | #include <QMetaType> |
| 16 | 17 | ||
| 17 | 18 | ||
| 18 | 19 | ||
| 19 | ScriptManagerScriptingInterface::ScriptManagerScriptingInterface(ScriptManager *parent): QObject(parent), _manager(parent) { | 20 | ScriptManagerScriptingInterface::ScriptManagerScriptingInterface(ScriptManager *parent): QObject(parent), _manager(parent) { |
| 20 | 21 | ||
| 21 | qRegisterMetaType<ScriptException>(); | 22 | qRegisterMetaType<ScriptException>(); |
| 22 | qRegisterMetaType<ScriptEngineException>(); | 23 | qRegisterMetaType<ScriptEngineException>(); |
| 23 | qRegisterMetaType<ScriptRuntimeException>(); | 24 | qRegisterMetaType<ScriptRuntimeException>(); |
| 24 | 25 | ||
| 25 | qRegisterMetaType<std::shared_ptr<ScriptException>>(); | 26 | qRegisterMetaType<std::shared_ptr<ScriptException>>(); |
| 26 | qRegisterMetaType<std::shared_ptr<ScriptEngineException>>(); | 27 | qRegisterMetaType<std::shared_ptr<ScriptEngineException>>(); |
| 27 | qRegisterMetaType<std::shared_ptr<ScriptRuntimeException>>(); | 28 | qRegisterMetaType<std::shared_ptr<ScriptRuntimeException>>(); |
| 28 | 29 | ||
| 29 | 30 | ||
| 30 | connect(_manager, &ScriptManager::scriptLoaded, this, &ScriptManagerScriptingInterface::scriptLoaded); | 31 | connect(_manager, &ScriptManager::scriptLoaded, this, &ScriptManagerScriptingInterface::scriptLoaded); |
| 31 | connect(_manager, &ScriptManager::errorLoadingScript, this, &ScriptManagerScriptingInterface::errorLoadingScript); | 32 | connect(_manager, &ScriptManager::errorLoadingScript, this, &ScriptManagerScriptingInterface::errorLoadingScript); |
| 32 | connect(_manager, &ScriptManager::update, this, &ScriptManagerScriptingInterface::update); | 33 | connect(_manager, &ScriptManager::update, this, &ScriptManagerScriptingInterface::update); |
| 33 | connect(_manager, &ScriptManager::scriptEnding, this, &ScriptManagerScriptingInterface::scriptEnding); | 34 | connect(_manager, &ScriptManager::scriptEnding, this, &ScriptManagerScriptingInterface::scriptEnding); |
| 34 | connect(_manager, &ScriptManager::finished, this, &ScriptManagerScriptingInterface::finished); | 35 | connect(_manager, &ScriptManager::finished, this, &ScriptManagerScriptingInterface::finished); |
| 35 | connect(_manager, &ScriptManager::printedMessage, this, &ScriptManagerScriptingInterface::printedMessage); | 36 | connect(_manager, &ScriptManager::printedMessage, this, &ScriptManagerScriptingInterface::printedMessage); |
| 36 | connect(_manager, &ScriptManager::errorMessage, this, &ScriptManagerScriptingInterface::errorMessage); | 37 | connect(_manager, &ScriptManager::errorMessage, this, &ScriptManagerScriptingInterface::errorMessage); |
| 37 | connect(_manager, &ScriptManager::warningMessage, this, &ScriptManagerScriptingInterface::warningMessage); | 38 | connect(_manager, &ScriptManager::warningMessage, this, &ScriptManagerScriptingInterface::warningMessage); |
| 38 | connect(_manager, &ScriptManager::infoMessage, this, &ScriptManagerScriptingInterface::infoMessage); | 39 | connect(_manager, &ScriptManager::infoMessage, this, &ScriptManagerScriptingInterface::infoMessage); |
| 39 | connect(_manager, &ScriptManager::runningStateChanged, this, &ScriptManagerScriptingInterface::runningStateChanged); | 40 | connect(_manager, &ScriptManager::runningStateChanged, this, &ScriptManagerScriptingInterface::runningStateChanged); |
| 40 | connect(_manager, &ScriptManager::clearDebugWindow, this, &ScriptManagerScriptingInterface::clearDebugWindow); | 41 | connect(_manager, &ScriptManager::clearDebugWindow, this, &ScriptManagerScriptingInterface::clearDebugWindow); |
| 41 | connect(_manager, &ScriptManager::loadScript, this, &ScriptManagerScriptingInterface::loadScript); | 42 | connect(_manager, &ScriptManager::loadScript, this, &ScriptManagerScriptingInterface::loadScript); |
| 42 | connect(_manager, &ScriptManager::doneRunning, this, &ScriptManagerScriptingInterface::doneRunning); | 43 | connect(_manager, &ScriptManager::doneRunning, this, &ScriptManagerScriptingInterface::doneRunning); |
| 43 | connect(_manager, &ScriptManager::entityScriptDetailsUpdated, this, &ScriptManagerScriptingInterface::entityScriptDetailsUpdated); | 44 | connect(_manager, &ScriptManager::entityScriptDetailsUpdated, this, &ScriptManagerScriptingInterface::entityScriptDetailsUpdated); |
| 44 | connect(_manager, &ScriptManager::entityScriptPreloadFinished, this, &ScriptManagerScriptingInterface::entityScriptPreloadFinished); | 45 | connect(_manager, &ScriptManager::entityScriptPreloadFinished, this, &ScriptManagerScriptingInterface::entityScriptPreloadFinished); |
| 45 | connect(_manager, &ScriptManager::unhandledException, this, &ScriptManagerScriptingInterface::scriptManagerException); | 46 | connect(_manager, &ScriptManager::unhandledException, this, &ScriptManagerScriptingInterface::scriptManagerException); |
| 46 | } | 47 | } |
| 47 | 48 | ||
| 48 | void ScriptManagerScriptingInterface::scriptManagerException(std::shared_ptr<ScriptException> exception) { | 49 | void ScriptManagerScriptingInterface::scriptManagerException(std::shared_ptr<ScriptException> exception) { |
| 49 | // V8TODO: What should we actually handle here? | 50 | // V8TODO: What should we actually handle here? |
| 50 | 51 | ||
| 51 | 52 | ||
| 52 | // emit unhandledException(exception.thrownValue); | 53 | // emit unhandledException(exception.thrownValue); |
| 53 | } | 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 | } | ||