34 lines
908 B
C++
34 lines
908 B
C++
#ifndef INTERFACEDRIVER_H
|
|
#define INTERFACEDRIVER_H
|
|
|
|
#include <QRunnable>
|
|
#include <QString>
|
|
#include <QVariant>
|
|
|
|
#include "DoricRegistry.h"
|
|
#include "async/DoricAsyncResult.h"
|
|
#include "utils/DoricThreadMode.h"
|
|
|
|
class DoricInterfaceDriver {
|
|
public:
|
|
virtual std::shared_ptr<DoricAsyncResult>
|
|
invokeContextEntityMethod(QString contextId, QString method,
|
|
QVariantList args) = 0;
|
|
|
|
virtual std::shared_ptr<DoricAsyncResult>
|
|
invokeDoricMethod(QString method, QVariantList args) = 0;
|
|
|
|
virtual std::shared_ptr<DoricAsyncResult>
|
|
asyncCall(std::function<void()> lambda, DoricThreadMode mode) = 0;
|
|
|
|
virtual std::shared_ptr<DoricAsyncResult>
|
|
createContext(QString contextId, QString script, QString source) = 0;
|
|
|
|
virtual std::shared_ptr<DoricAsyncResult>
|
|
destroyContext(QString contextId) = 0;
|
|
|
|
virtual DoricRegistry *getRegistry() = 0;
|
|
};
|
|
|
|
#endif // INTERFACEDRIVER_H
|