#ifndef JS_ENGINE_H
#define JS_ENGINE_H
#include <QJSEngine>
#include "native/native_bridge.h"
#include "native/native_empty.h"
#include "native/native_log.h"
#include "native/native_timer.h"
#include "registry.h"
class JSEngine {
public:
QJSEngine *engine = new QJSEngine();
Registry *registry = new Registry();
JSEngine();
void prepareContext(int contextId, QString *script);
void destroyContext(int contextId);
private:
NativeLog *nativeLog = new NativeLog();
NativeTimer *nativeTimer = new NativeTimer(engine);
NativeEmpty *nativeEmpty = new NativeEmpty();
NativeBridge *nativeBridge = new NativeBridge();
void initJSEngine();
void injectGlobal();
void initDoricRuntime();
};
#endif // JS_ENGINE_H