add shared ptr wrap for async result

This commit is contained in:
王劲鹏
2021-05-12 11:08:40 +08:00
committed by osborn
parent 3531a28f13
commit 33bec666a4
7 changed files with 54 additions and 33 deletions

View File

@@ -11,18 +11,21 @@
class DoricInterfaceDriver {
public:
virtual void invokeContextEntityMethod(QString contextId, QString method,
QVariantList args) = 0;
virtual std::shared_ptr<DoricAsyncResult>
invokeContextEntityMethod(QString contextId, QString method,
QVariantList args) = 0;
virtual void invokeDoricMethod(QString method, QVariantList args) = 0;
virtual std::shared_ptr<DoricAsyncResult>
invokeDoricMethod(QString method, QVariantList args) = 0;
virtual DoricAsyncResult *asyncCall(std::function<void()> lambda,
DoricThreadMode mode) = 0;
virtual std::shared_ptr<DoricAsyncResult>
asyncCall(std::function<void()> lambda, DoricThreadMode mode) = 0;
virtual void createContext(QString contextId, QString script,
QString source) = 0;
virtual std::shared_ptr<DoricAsyncResult>
createContext(QString contextId, QString script, QString source) = 0;
virtual void destroyContext(QString contextId) = 0;
virtual std::shared_ptr<DoricAsyncResult>
destroyContext(QString contextId) = 0;
virtual DoricRegistry *getRegistry() = 0;
};