24 lines
978 B
C++
24 lines
978 B
C++
#include "context_manager.h"
|
|
#include "native_bridge.h"
|
|
#include "plugin/shader_plugin.h"
|
|
|
|
Q_INVOKABLE void NativeBridge::function(int contextId, QString module, QString methodName, QString callbackId, QJSValue jsValue) {
|
|
qDebug() << "contextId: " + QString::number(contextId) + ", " +
|
|
"module: " + module + ", " +
|
|
"methodName: " + methodName + ", " +
|
|
"callbackId: " + callbackId + ", " +
|
|
"arguments: " + jsValue.toString();
|
|
Context *context = ContextManager::getInstance()->getContext(contextId);
|
|
QString value = context->driver->getRegistry()->acquirePluginInfo(module);
|
|
|
|
qDebug() << value;
|
|
if (value.contains("ShaderPlugin")) {
|
|
ShaderPlugin shaderPlugin(context);
|
|
QMetaObject::invokeMethod(
|
|
&shaderPlugin,
|
|
methodName.toStdString().c_str(),
|
|
Qt::AutoConnection,
|
|
Q_ARG(QJSValue, jsValue));
|
|
}
|
|
}
|