diff options
author | chai <chaifix@163.com> | 2019-08-08 08:56:51 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2019-08-08 08:56:51 +0800 |
commit | 6a065c913e9308cc72e1ad0723b6167048f439b6 (patch) | |
tree | 58cb4f28113949469c56584e32a510713ddbc2c1 /Source/modules/asura-base/FileSystem/IOTask.cpp | |
parent | 0c391fdbce5a079cf03e483eb6174dd47806163d (diff) |
*misc
Diffstat (limited to 'Source/modules/asura-base/FileSystem/IOTask.cpp')
-rw-r--r-- | Source/modules/asura-base/FileSystem/IOTask.cpp | 86 |
1 files changed, 42 insertions, 44 deletions
diff --git a/Source/modules/asura-base/FileSystem/IOTask.cpp b/Source/modules/asura-base/FileSystem/IOTask.cpp index 9152a6e..493ee9f 100644 --- a/Source/modules/asura-base/FileSystem/IOTask.cpp +++ b/Source/modules/asura-base/FileSystem/IOTask.cpp @@ -6,56 +6,54 @@ using namespace AEScripting; using namespace Luax; -namespace AsuraEngine +namespace_begin(AsuraEngine) +namespace_begin(FileSystem) + +IOTask::IOTask(const std::string& path, DataBuffer* buffer, IOTaskType type) + : m_Path(path) + , m_Buffer(buffer) { - namespace FileSystem - { + if (buffer) + buffer->Retain(); +} - IOTask::IOTask(const std::string& path, DataBuffer* buffer, IOTaskType type) - : m_Path(path) - , m_Buffer(buffer) - { - if (buffer) - buffer->Retain(); - } +IOTask::~IOTask() +{ + if (m_Buffer) + m_Buffer->Release(); +} - IOTask::~IOTask() - { - if (m_Buffer) - m_Buffer->Release(); - } +bool IOTask::Execute() +{ + File file(m_Path); + if (m_Type == IOTASK_TYPE_WRITE) + { - bool IOTask::Execute() - { - File file(m_Path); - if (m_Type == IOTASK_TYPE_WRITE) - { - - } - // pathȡݱmBuffer - else if (m_Type == IOTASK_TYPE_READ) - { - if (!m_Buffer) - return false; - file.Open(File::FILE_MODE_READ); - file.ReadAll(m_Buffer); - file.Close(); - } - return true; - } + } + // pathȡݱmBuffer + else if (m_Type == IOTASK_TYPE_READ) + { + if (!m_Buffer) + return false; + file.Open(File::FILE_MODE_READ); + file.ReadAll(m_Buffer); + file.Close(); + } + return true; +} - void IOTask::Invoke(lua_State* invokeThreaad) +void IOTask::Invoke(lua_State* invokeThreaad) +{ + if (m_Callback) + { + LuaxScopedState state(invokeThreaad); + if (this->PushLuaxMemberRef(state, m_Callback)) { - if (m_Callback) - { - LuaxScopedState state(invokeThreaad); - if (this->PushLuaxMemberRef(state, m_Callback)) - { - this->PushLuaxMemberRef(state, m_BufferRef); - state.Call(1, 0); - } - } + this->PushLuaxMemberRef(state, m_BufferRef); + state.Call(1, 0); } - } } + +namespace_end +namespace_end
\ No newline at end of file |