From aa9f7ff31db9111b2647a95e8abaf68ef42da2cf Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Tue, 21 Jan 2014 13:21:03 -0800 Subject: [PATCH] hook the DataServerScriptingInterface to the ScriptEngine --- libraries/script-engine/src/DataServerScriptingInterface.h | 2 ++ libraries/script-engine/src/ScriptEngine.cpp | 6 ++++++ libraries/script-engine/src/ScriptEngine.h | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/libraries/script-engine/src/DataServerScriptingInterface.h b/libraries/script-engine/src/DataServerScriptingInterface.h index 1cba837b2c..4a50bc087a 100644 --- a/libraries/script-engine/src/DataServerScriptingInterface.h +++ b/libraries/script-engine/src/DataServerScriptingInterface.h @@ -17,6 +17,8 @@ class DataServerScriptingInterface : public QObject { Q_OBJECT public: DataServerScriptingInterface(); + + void refreshUUID() { _uuid = QUuid::createUuid(); } public slots: void setValueForKey(const QString& key, const QString& value); private: diff --git a/libraries/script-engine/src/ScriptEngine.cpp b/libraries/script-engine/src/ScriptEngine.cpp index 6b85cf33ad..2c08bd9b08 100644 --- a/libraries/script-engine/src/ScriptEngine.cpp +++ b/libraries/script-engine/src/ScriptEngine.cpp @@ -119,6 +119,8 @@ void ScriptEngine::init() { QScriptValue audioScriptingInterfaceValue = _engine.newQObject(&_audioScriptingInterface); _engine.globalObject().setProperty("Audio", audioScriptingInterfaceValue); + + registerGlobalObject("Data", &_dataServerScriptingInterface); if (_controllerScriptingInterface) { QScriptValue controllerScripterValue = _engine.newQObject(_controllerScriptingInterface); @@ -140,6 +142,10 @@ void ScriptEngine::registerGlobalObject(const QString& name, QObject* object) { _engine.globalObject().setProperty(name, value); } +void ScriptEngine::preEvaluateReset() { + _dataServerScriptingInterface.refreshUUID(); +} + void ScriptEngine::evaluate() { if (!_isInitialized) { init(); diff --git a/libraries/script-engine/src/ScriptEngine.h b/libraries/script-engine/src/ScriptEngine.h index 06597f82a8..ab38b48bbf 100644 --- a/libraries/script-engine/src/ScriptEngine.h +++ b/libraries/script-engine/src/ScriptEngine.h @@ -22,6 +22,7 @@ class ParticlesScriptingInterface; #include "AbstractControllerScriptingInterface.h" +#include "DataServerScriptingInterface.h" const QString NO_SCRIPT(""); @@ -61,6 +62,8 @@ signals: void finished(); protected: + void preEvaluateReset(); + QString _scriptContents; bool _isFinished; bool _isRunning; @@ -72,6 +75,7 @@ private: static ParticlesScriptingInterface _particlesScriptingInterface; AbstractControllerScriptingInterface* _controllerScriptingInterface; AudioScriptingInterface _audioScriptingInterface; + DataServerScriptingInterface _dataServerScriptingInterface; bool _wantMenuItems; QString _scriptMenuName; AbstractMenuInterface* _menu;