summaryrefslogtreecommitdiff
path: root/source/modules/asura-utils/IO/binding/_data_buffer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/modules/asura-utils/IO/binding/_data_buffer.cpp')
-rw-r--r--source/modules/asura-utils/IO/binding/_data_buffer.cpp132
1 files changed, 0 insertions, 132 deletions
diff --git a/source/modules/asura-utils/IO/binding/_data_buffer.cpp b/source/modules/asura-utils/IO/binding/_data_buffer.cpp
deleted file mode 100644
index 9d3f3a0..0000000
--- a/source/modules/asura-utils/IO/binding/_data_buffer.cpp
+++ /dev/null
@@ -1,132 +0,0 @@
-#include "../DataBuffer.h"
-
-using namespace Luax;
-
-namespace AsuraEngine
-{
- namespace IO
- {
-
- LUAX_REGISTRY(DataBuffer)
- {
- LUAX_REGISTER_METHODS(state,
- { "New", _New },
- { "GetData", _GetData },
- { "GetSize", _GetSize },
- { "GetCapacity", _GetCapacity },
- { "Refactor", _Refactor },
- { "Load", _Load },
- { "Clear", _Clear }
- );
- }
-
- LUAX_POSTPROCESS(DataBuffer)
- {
- }
-
- // databuffer = DataBuffer.New(lstring)
- // databuffer = DataBuffer.New(capacity)
- 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 capacity = lua_tonumber(L, 1);
- DataBuffer* buffer = new DataBuffer(capacity);
- 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;
- }
-
- // capacity = databuffer:GetCapacity()
- LUAX_IMPL_METHOD(DataBuffer, _GetCapacity)
- {
- LUAX_SETUP(L, "U");
-
- DataBuffer* self = state.GetUserdata<DataBuffer>(1);
- lua_pushinteger(L, self->GetCapacity());
- return 1;
- }
-
- // databuffer:Refactor(capacity)
- LUAX_IMPL_METHOD(DataBuffer, _Refactor)
- {
- LUAX_PREPARE(L, DataBuffer);
-
- size_t capacity = state.CheckValue<int>(2);
- self->Refactor(capacity);
- 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);
- buffer->Load(data, size);
- return 0;
- }
- else if(state.IsType(2, LUA_TUSERDATA))
- {
- DataBuffer* src = state.CheckUserdata<DataBuffer>(2);
- buffer->Load(*src);
- return 0;
- }
- 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