diff options
author | chai <chaifix@163.com> | 2019-06-06 00:12:17 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2019-06-06 00:12:17 +0800 |
commit | 8bfe54676f728076a92d802bb5d064e58265c8f2 (patch) | |
tree | 5d8ea1bd063f2d01dc979915db546449d68277bf /source/libs/asura-lib-utils/io/binding/_data_buffer.cpp | |
parent | 88b882ed0b432c6aff2063213e2f793a36dd25f7 (diff) |
-文件夹名
Diffstat (limited to 'source/libs/asura-lib-utils/io/binding/_data_buffer.cpp')
-rw-r--r-- | source/libs/asura-lib-utils/io/binding/_data_buffer.cpp | 123 |
1 files changed, 0 insertions, 123 deletions
diff --git a/source/libs/asura-lib-utils/io/binding/_data_buffer.cpp b/source/libs/asura-lib-utils/io/binding/_data_buffer.cpp deleted file mode 100644 index cd73b31..0000000 --- a/source/libs/asura-lib-utils/io/binding/_data_buffer.cpp +++ /dev/null @@ -1,123 +0,0 @@ -#include "../data_buffer.h" - -using namespace Luax; - -namespace AsuraEngine -{ - namespace IO - { - - LUAX_REGISTRY(DataBuffer) - { - LUAX_REGISTER_METHODS(state, - { "New", _New }, - { "GetData", _GetData }, - { "GetSize", _GetSize }, - { "Refactor", _Refactor }, - { "Load", _Load }, - { "Clear", _Clear } - ); - } - - LUAX_POSTPROCESS(DataBuffer) - { - } - - // databuffer = DataBuffer.New(lstring) - // databuffer = DataBuffer.New(size) - LUAX_IMPL_METHOD(DataBuffer, _New) - { - LUAX_STATE(L); - - if (state.IsType(1, LUA_TSTRING)) - { - size_t size; - const byte* bytes = lua_tolstring(L, 1, &size); - DataBuffer* buffer = new DataBuffer(bytes, size); - buffer->PushLuaxUserdata(state); - return 1; - } - else if (state.IsType(1, LUA_TNUMBER)) - { - size_t size = lua_tonumber(L, 1); - DataBuffer* buffer = new DataBuffer(size); - buffer->PushLuaxUserdata(state); - return 1; - } - else - { - return state.ErrorType(1, "number or string"); - } - } - - // lsting, len = databuffer:GetData() - LUAX_IMPL_METHOD(DataBuffer, _GetData) - { - LUAX_SETUP(L, "U"); - - DataBuffer* self = state.GetUserdata<DataBuffer>(1); - lua_pushlstring(L, self->GetData(), self->GetSize()); - return 1; - } - - // length = databuffer:GetSize() - LUAX_IMPL_METHOD(DataBuffer, _GetSize) - { - LUAX_SETUP(L, "U"); - - DataBuffer* self = state.GetUserdata<DataBuffer>(1); - lua_pushinteger(L, self->GetSize()); - return 1; - } - - // databuffer:Refactor(size) - LUAX_IMPL_METHOD(DataBuffer, _Refactor) - { - LUAX_PREPARE(L, DataBuffer); - - size_t size = state.CheckValue<int>(2); - self->Refactor(size); - return 0; - } - - // size = databuffer:Load(lstring) - // size = databuffer:Load(src) - LUAX_IMPL_METHOD(DataBuffer, _Load) - { - LUAX_STATE(L); - - DataBuffer* buffer = state.GetUserdata<DataBuffer>(1); - const byte* data; - size_t size; - if (state.IsType(2, LUA_TSTRING)) - { - data = lua_tolstring(L, 2, &size); - size_t len = buffer->Load(data, size); - state.Push(len); - return 1; - } - else if(state.IsType(2, LUA_TUSERDATA)) - { - DataBuffer* src = state.CheckUserdata<DataBuffer>(2); - size_t len = buffer->Load(*src); - state.Push(len); - return 1; - } - else - { - return state.ErrorType(1, "lstring or DataBuffer"); - } - } - - // databuffer:Clear() - LUAX_IMPL_METHOD(DataBuffer, _Clear) - { - LUAX_SETUP(L, "U"); - - DataBuffer* self = state.GetUserdata<DataBuffer>(1); - self->Clear(); - return 0; - } - - } -}
\ No newline at end of file |