diff options
author | chai <chaifix@163.com> | 2019-03-29 00:43:25 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2019-03-29 00:43:25 +0800 |
commit | f4c338c63f3456a8eccd56c35e233843687d55be (patch) | |
tree | 7278fe4723320c9ef310c5a04d92bf0be1bc778c /source/libs/asura-lib-utils/io/io_task.h | |
parent | 3bced067a4144381e59ce4bd0eb749eeff5ad1f4 (diff) |
*thread
Diffstat (limited to 'source/libs/asura-lib-utils/io/io_task.h')
-rw-r--r-- | source/libs/asura-lib-utils/io/io_task.h | 26 |
1 files changed, 18 insertions, 8 deletions
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<IOTask> - , public AEThreading::Task + : public AEThreading::Task + , public AEScripting::Portable<IOTask> { 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; + }; } |