added serialize, deserialize, post sync and pre sync functions for script engine

This commit is contained in:
Joakim Kilby
2015-02-17 11:58:03 +01:00
parent b2a94b2241
commit 8f924f7696
2 changed files with 57 additions and 0 deletions

View File

@@ -26,6 +26,7 @@
#include <ghoul/logging/logmanager.h>
#include <ghoul/filesystem/filesystem.h>
#include <openspace/util/syncbuffer.h>
#include <ghoul/lua/lua_helper.h>
#include <fstream>
@@ -605,6 +606,45 @@ bool ScriptEngine::writeDocumentation(const std::string& filename, const std::st
}
}
void ScriptEngine::serialize(SyncBuffer* syncBuffer){
syncBuffer->encode(_currentSyncedScript);
}
void ScriptEngine::deserialize(SyncBuffer* syncBuffer){
syncBuffer->decode(_currentSyncedScript);
}
void ScriptEngine::postSynchronizationPreDraw(){
}
void ScriptEngine::preSynchronization(){
if (!_currentSyncedScript.empty()){
runScript(_currentSyncedScript);
_currentSyncedScript.clear();
}
_mutex.lock();
if (!_queuedScripts.empty()){
_currentSyncedScript = _queuedScripts.back();
_queuedScripts.pop_back();
}
_mutex.unlock();
}
void ScriptEngine::queueScript(const std::string &script){
if (script.empty())
return;
_mutex.lock();
_queuedScripts.insert(_queuedScripts.begin(), script);
_mutex.unlock();
}
} // namespace scripting
} // namespace openspace