From f4c338c63f3456a8eccd56c35e233843687d55be Mon Sep 17 00:00:00 2001 From: chai Date: Fri, 29 Mar 2019 00:43:25 +0800 Subject: *thread --- source/libs/asura-lib-utils/io/io_task.h | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) (limited to 'source/libs/asura-lib-utils/io/io_task.h') diff --git a/source/libs/asura-lib-utils/io/io_task.h b/source/libs/asura-lib-utils/io/io_task.h index a79b2a8..5f454ee 100644 --- a/source/libs/asura-lib-utils/io/io_task.h +++ b/source/libs/asura-lib-utils/io/io_task.h @@ -13,32 +13,42 @@ namespace AsuraEngine namespace IO { + enum IOTaskType + { + IOTASK_TYPE_READ, + IOTASK_TYPE_WRITE, + IOTASK_TYPE_APPEND, + }; + /// /// 读取文件任务。 /// class IOTask ASURA_FINAL - : public AEScripting::Portable - , public AEThreading::Task + : public AEThreading::Task + , public AEScripting::Portable { public: LUAX_DECL_FACTORY(IOTask); - IOTask(const std::string& path, DataBuffer* buffer); + IOTask(const std::string& path, DataBuffer* buffer, IOTaskType type); ~IOTask(); bool Execute() override ; - void Invoke(lua_State* thread) override; + void Invoke() override; private: - std::string mPath; - - DataBuffer* mDst; - Luax::LuaxMemberRef mDstRef; + LUAX_DECL_ENUM(IOTaskType); LUAX_DECL_METHOD(_New); + std::string mPath; + IOTaskType mType; + + ASURA_REF DataBuffer* mBuffer; + Luax::LuaxMemberRef mBufferRef; + }; } -- cgit v1.1-26-g67d0