#ifndef JSENGINE_H #define JSENGINE_H #include #include #include "DoricExport.h" #include "../DoricRegistry.h" #include "DoricInterfaceJSE.h" class DORIC_EXPORT DoricJSEngine : public QObject { Q_OBJECT private: DoricInterfaceJSE *mJSE; DoricRegistry *mRegistry = DoricRegistry::getInstance(); void loadBuiltinJS(QString assetName); QString packageContextScript(QString contextId, QString content); QString packageModuleScript(QString moduleName, QString content); public: QThreadPool mJSThreadPool; explicit DoricJSEngine(QObject *parent = nullptr); ~DoricJSEngine(); QString prepareContext(QString contextId, QString script, QString source); QString destroyContext(QString contextId); QString invokeDoricMethod(QString method, QVariantList arguments); DoricRegistry *getRegistry(); }; #endif // JSENGINE_H