#ifndef INTERFACEDRIVER_H #define INTERFACEDRIVER_H #include #include #include #include "DoricRegistry.h" #include "async/DoricAsyncResult.h" #include "utils/DoricThreadMode.h" class DoricInterfaceDriver { public: virtual std::shared_ptr invokeContextEntityMethod(QString contextId, QString method, QVariantList args) = 0; virtual std::shared_ptr invokeDoricMethod(QString method, QVariantList args) = 0; virtual std::shared_ptr asyncCall(std::function lambda, DoricThreadMode mode) = 0; virtual std::shared_ptr createContext(QString contextId, QString script, QString source) = 0; virtual std::shared_ptr destroyContext(QString contextId) = 0; virtual DoricRegistry *getRegistry() = 0; }; #endif // INTERFACEDRIVER_H