From 66c5fdc564dd892ed265132d6c1378dbe3cebcee Mon Sep 17 00:00:00 2001 From: chai Date: Wed, 27 Mar 2019 09:07:54 +0800 Subject: *misc --- source/libs/asura-lib-utils/io/binding/_file.cpp | 6 ++-- source/libs/asura-lib-utils/io/file.h | 3 ++ source/libs/asura-lib-utils/io/file_data.h | 2 +- source/libs/asura-lib-utils/io/io_task.cpp | 0 source/libs/asura-lib-utils/io/io_task.h | 39 ++++++++++++++++++++++++ source/libs/asura-lib-utils/io/reloadable.h | 2 ++ 6 files changed, 48 insertions(+), 4 deletions(-) create mode 100644 source/libs/asura-lib-utils/io/io_task.cpp create mode 100644 source/libs/asura-lib-utils/io/io_task.h (limited to 'source/libs/asura-lib-utils/io') diff --git a/source/libs/asura-lib-utils/io/binding/_file.cpp b/source/libs/asura-lib-utils/io/binding/_file.cpp index 0baffd5..0670379 100644 --- a/source/libs/asura-lib-utils/io/binding/_file.cpp +++ b/source/libs/asura-lib-utils/io/binding/_file.cpp @@ -32,8 +32,8 @@ namespace AsuraEngine { LUAX_REGISTER_ENUM(state, "EFileMode", { "CLOSED", FILE_MODE_CLOSED }, - { "READ", FILE_MODE_READ }, - { "WRITE", FILE_MODE_WRITE }, + { "READ", FILE_MODE_READ }, + { "WRITE", FILE_MODE_WRITE }, { "APPEND", FILE_MODE_APPEND } ); @@ -130,7 +130,7 @@ namespace AsuraEngine return 1; } - // isWrite = file:Write(data buffer) + // isWrite = file:Write(data buffer[, size]) LUAX_IMPL_METHOD(File, _Write) { LUAX_PREPARE(L, File); diff --git a/source/libs/asura-lib-utils/io/file.h b/source/libs/asura-lib-utils/io/file.h index b09eaaa..4a6d38b 100644 --- a/source/libs/asura-lib-utils/io/file.h +++ b/source/libs/asura-lib-utils/io/file.h @@ -108,6 +108,9 @@ namespace AsuraEngine BufferMode mBufferMode; ///< 写入缓冲区模式 size_t mBufferSize; ///< 写入缓冲区大小 + LUAX_DECL_ENUM(FileMode); + LUAX_DECL_ENUM(BufferMode); + LUAX_DECL_METHOD(_New); LUAX_DECL_METHOD(_Open); LUAX_DECL_METHOD(_Close); diff --git a/source/libs/asura-lib-utils/io/file_data.h b/source/libs/asura-lib-utils/io/file_data.h index 106e068..9aa0e3b 100644 --- a/source/libs/asura-lib-utils/io/file_data.h +++ b/source/libs/asura-lib-utils/io/file_data.h @@ -56,10 +56,10 @@ namespace AsuraEngine std::string mExtension; ///< 不包含点的扩展名 std::string mName; ///< 不包含点和后缀的文件名 + LUAX_DECL_METHOD(_GetDataBuffer); LUAX_DECL_METHOD(_GetFileName); LUAX_DECL_METHOD(_GetExtension); LUAX_DECL_METHOD(_GetName); - LUAX_DECL_METHOD(_GetDataBuffer); }; diff --git a/source/libs/asura-lib-utils/io/io_task.cpp b/source/libs/asura-lib-utils/io/io_task.cpp new file mode 100644 index 0000000..e69de29 diff --git a/source/libs/asura-lib-utils/io/io_task.h b/source/libs/asura-lib-utils/io/io_task.h new file mode 100644 index 0000000..b91a88c --- /dev/null +++ b/source/libs/asura-lib-utils/io/io_task.h @@ -0,0 +1,39 @@ +#ifndef __ASURA_IO_TASK_H__ +#define __ASURA_IO_TASK_H__ + +#include + +#include "../scripting/portable.hpp" +#include "../threading/thread_task.h" + +#include "data_buffer.h" + +namespace AsuraEngine +{ + namespace IO + { + + /// + /// 读取文件任务。 + /// + class IOTask + : public AEScripting::Portable + , public AEThreading::ThreadTask + { + public: + + LUAX_DECL_FACTORY(IOTask); + + bool Execute() override ; + + private: + + std::string mPath; + DataBuffer* mDst; + + }; + + } +} + +#endif \ No newline at end of file diff --git a/source/libs/asura-lib-utils/io/reloadable.h b/source/libs/asura-lib-utils/io/reloadable.h index cf30296..22a721c 100644 --- a/source/libs/asura-lib-utils/io/reloadable.h +++ b/source/libs/asura-lib-utils/io/reloadable.h @@ -24,4 +24,6 @@ namespace AsuraEngine } } +namespace AEIO = AsuraEngine::IO; + #endif \ No newline at end of file -- cgit v1.1-26-g67d0