Add a ScriptEngine

This commit is contained in:
Michael Zanetti 2019-11-12 22:31:54 +01:00
parent f562503d6d
commit 4c0c95b1a8
4 changed files with 54 additions and 0 deletions

View File

@ -26,6 +26,7 @@ HEADERS += nymeacore.h \
ruleengine/stateevaluator.h \
ruleengine/ruleaction.h \
ruleengine/ruleactionparam.h \
scriptengine/scriptengine.h \
transportinterface.h \
nymeaconfiguration.h \
servermanager.h \
@ -101,6 +102,7 @@ SOURCES += nymeacore.cpp \
ruleengine/stateevaluator.cpp \
ruleengine/ruleaction.cpp \
ruleengine/ruleactionparam.cpp \
scriptengine/scriptengine.cpp \
transportinterface.cpp \
nymeaconfiguration.cpp \
servermanager.cpp \

View File

@ -98,6 +98,7 @@
#include "tagging/tagsstorage.h"
#include "platform/platform.h"
#include "experiences/experiencemanager.h"
#include "scriptengine/scriptengine.h"
#include "devices/devicemanagerimplementation.h"
#include "devices/device.h"
@ -160,6 +161,8 @@ void NymeaCore::init() {
qCDebug(dcApplication) << "Creating Rule Engine";
m_ruleEngine = new RuleEngine(this);
new ScriptEngine(m_deviceManager, this);
qCDebug(dcApplication()) << "Creating Tags Storage";
m_tagsStorage = new TagsStorage(m_deviceManager, m_ruleEngine, this);

View File

@ -0,0 +1,22 @@
#include "scriptengine.h"
#include "devices/devicemanager.h"
#include <QQmlApplicationEngine>
namespace nymeaserver {
ScriptEngine::ScriptEngine(DeviceManager *deviceManager, QObject *parent) : QObject(parent),
m_deviceManager(deviceManager)
{
loadScripts();
}
void ScriptEngine::loadScripts()
{
QString fileName = "/home/micha/Develop/nymea/tests/script.qml";
QQmlApplicationEngine *engine = new QQmlApplicationEngine(this);
engine->load(fileName);
}
}

View File

@ -0,0 +1,27 @@
#ifndef SCRIPTENGINE_H
#define SCRIPTENGINE_H
#include <QObject>
class DeviceManager;
namespace nymeaserver {
class ScriptEngine : public QObject
{
Q_OBJECT
public:
explicit ScriptEngine(DeviceManager *deviceManager, QObject *parent = nullptr);
signals:
private:
void loadScripts();
private:
DeviceManager *m_deviceManager = nullptr;
};
}
#endif // SCRIPTENGINE_H