diff options
Diffstat (limited to 'src/lua/modules/net')
-rw-r--r-- | src/lua/modules/net/je_lua_buffer.cpp | 34 | ||||
-rw-r--r-- | src/lua/modules/net/je_lua_buffer.h | 2 | ||||
-rw-r--r-- | src/lua/modules/net/je_lua_net.cpp | 4 | ||||
-rw-r--r-- | src/lua/modules/net/je_lua_socket.cpp | 36 |
4 files changed, 37 insertions, 39 deletions
diff --git a/src/lua/modules/net/je_lua_buffer.cpp b/src/lua/modules/net/je_lua_buffer.cpp index 327e7ed..dcfdf01 100644 --- a/src/lua/modules/net/je_lua_buffer.cpp +++ b/src/lua/modules/net/je_lua_buffer.cpp @@ -3,6 +3,8 @@ #include "libjin/jin.h" #include "je_lua_buffer.h" +using namespace JinEngine::Lua::Net; + namespace JinEngine { namespace Lua @@ -10,24 +12,22 @@ namespace JinEngine const char* Jin_Lua_Buffer = "Buffer"; - typedef Shared<Net::Buffer>& SharedBuffer; - - static inline SharedBuffer checkNetBuffer(lua_State* L) + static inline Net::Buffer* checkNetBuffer(lua_State* L) { LuaObject* luaObj = (LuaObject*)luax_checktype(L, 1, Jin_Lua_Buffer); - return luaObj->getShared<Net::Buffer>(); + return luaObj->getObject<Net::Buffer>(); } // net.Buffer:append(value) -> value_length LUA_IMPLEMENT int l_append(lua_State* L) { - SharedBuffer shared = checkNetBuffer(L); + Buffer* buffer = checkNetBuffer(L); const int vp = 2; if (luax_isintegerstrict(L, vp)) { int n = luax_checkinteger(L, vp); int size = sizeof(n); - shared->append(&n, size); + buffer->append(&n, size); luax_pushinteger(L, size); return 1; } @@ -35,7 +35,7 @@ namespace JinEngine { float n = luax_checknumber(L, vp); int size = sizeof(n); - shared->append(&n, size); + buffer->append(&n, size); luax_pushinteger(L, size); return 1; } @@ -43,7 +43,7 @@ namespace JinEngine { bool n = luax_checkbool(L, vp); int size = sizeof(n); - shared->append(&n, size); + buffer->append(&n, size); luax_pushinteger(L, size); return 1; } @@ -51,7 +51,7 @@ namespace JinEngine { const char* str = luax_checkstring(L, vp); int size = strlen(str) + 1; - shared->append(str, size); + buffer->append(str, size); luax_pushinteger(L, size); return 1; } @@ -65,10 +65,10 @@ namespace JinEngine // net.Buffer:grabString(offset) -> string, length LUA_IMPLEMENT int l_grabString(lua_State* L) { - SharedBuffer shared = checkNetBuffer(L); + Buffer* buffer = checkNetBuffer(L); int offset = luax_checkinteger(L, 2); unsigned int len; - char* data = shared->grabString(&len, offset); + char* data = buffer->grabString(&len, offset); Array<char> str; str.bind(data, len); luax_pushstring(L, &str); @@ -79,10 +79,10 @@ namespace JinEngine // net.Buffer:grabInteger(offset) -> integer, length LUA_IMPLEMENT int l_grabInteger(lua_State* L) { - SharedBuffer shared = checkNetBuffer(L); + Buffer* buffer = checkNetBuffer(L); int offset = luax_checkinteger(L, 2); int len; - int integer = shared->grabInteger(&len, offset); + int integer = buffer->grabInteger(&len, offset); luax_pushinteger(L, integer); luax_pushinteger(L, len); return 2; @@ -90,10 +90,10 @@ namespace JinEngine LUA_IMPLEMENT int l_grabFloat(lua_State* L) { - SharedBuffer shared = checkNetBuffer(L); + Buffer* buffer = checkNetBuffer(L); int offset = luax_checkinteger(L, 2); int len; - float floatv = shared->grabFloat(&len, offset); + float floatv = buffer->grabFloat(&len, offset); luax_pushnumber(L, floatv); luax_pushinteger(L, len); return 2; @@ -101,10 +101,10 @@ namespace JinEngine LUA_IMPLEMENT int l_grabBoolean(lua_State* L) { - SharedBuffer shared = checkNetBuffer(L); + Buffer* buffer = checkNetBuffer(L); int offset = luax_checkinteger(L, 2); int len; - bool boolean = shared->grabBoolean(&len, offset); + bool boolean = buffer->grabBoolean(&len, offset); luax_pushboolean(L, boolean); luax_pushinteger(L, len); return 2; diff --git a/src/lua/modules/net/je_lua_buffer.h b/src/lua/modules/net/je_lua_buffer.h index 7584f47..974e23a 100644 --- a/src/lua/modules/net/je_lua_buffer.h +++ b/src/lua/modules/net/je_lua_buffer.h @@ -17,7 +17,7 @@ namespace JinEngine namespace Net { - class Buffer + class Buffer : public Object { public: Buffer(size_t s = 0) diff --git a/src/lua/modules/net/je_lua_net.cpp b/src/lua/modules/net/je_lua_net.cpp index 5db4722..d003640 100644 --- a/src/lua/modules/net/je_lua_net.cpp +++ b/src/lua/modules/net/je_lua_net.cpp @@ -49,7 +49,7 @@ namespace JinEngine } } Socket* socket = new Socket(info); - LuaObject* luaObj = luax_newinstance(L, Jin_Lua_Socket, new Shared<Socket>(socket, Jin_Lua_Socket)); + LuaObject* luaObj = luax_newinstance(L, Jin_Lua_Socket, new Shared(socket, Jin_Lua_Socket)); return 1; } @@ -57,7 +57,7 @@ namespace JinEngine { int size = luax_checkinteger(L, 1); Net::Buffer* buffer = new Net::Buffer(size); - LuaObject* luaObj = luax_newinstance(L, Jin_Lua_Buffer, new Shared<Buffer>(buffer, Jin_Lua_Buffer)); + LuaObject* luaObj = luax_newinstance(L, Jin_Lua_Buffer, new Shared(buffer, Jin_Lua_Buffer)); return 1; } diff --git a/src/lua/modules/net/je_lua_socket.cpp b/src/lua/modules/net/je_lua_socket.cpp index 8eb4051..af0cef0 100644 --- a/src/lua/modules/net/je_lua_socket.cpp +++ b/src/lua/modules/net/je_lua_socket.cpp @@ -13,61 +13,59 @@ namespace JinEngine const char* Jin_Lua_Socket = "Socket"; - typedef Shared<Socket>& SharedSocket; - const int BUFFER_SIZE = 1024; - LUA_IMPLEMENT inline SharedSocket checkSocket(lua_State* L, int pos = 1) + LUA_IMPLEMENT inline Socket* checkSocket(lua_State* L, int pos = 1) { LuaObject* luaObj = (LuaObject*)luax_checktype(L, pos, Jin_Lua_Socket); - return luaObj->getShared<Socket>(); + return luaObj->getObject<Socket>(); } - LUA_IMPLEMENT inline Shared<Buffer>& checkNetBuffer(lua_State* L, int pos = 1) + LUA_IMPLEMENT inline Buffer* checkNetBuffer(lua_State* L, int pos = 1) { LuaObject* luaObj = (LuaObject*)luax_checktype(L, pos, Jin_Lua_Buffer); - return luaObj->getShared<Buffer>(); + return luaObj->getObject<Buffer>(); } // return net.Socket LUA_IMPLEMENT int l_accept(lua_State* L) { - SharedSocket socket = checkSocket(L); + Socket* socket = checkSocket(L); Socket* client = socket->accept(); - LuaObject* luaObj = luax_newinstance(L, Jin_Lua_Socket, new Shared<Socket>(client, Jin_Lua_Socket)); + LuaObject* luaObj = luax_newinstance(L, Jin_Lua_Socket, new Shared(client, Jin_Lua_Socket)); return 1; } // return net.Buffer LUA_IMPLEMENT int l_receive(lua_State* L) { - SharedSocket socket = checkSocket(L); + Socket* socket = checkSocket(L); char buffer[BUFFER_SIZE] = {0}; int size = socket->receive(buffer, BUFFER_SIZE); Net::Buffer* netBuffer = new Net::Buffer(buffer, size); - LuaObject* luaObj = luax_newinstance(L, Jin_Lua_Buffer, new Shared<Buffer>(netBuffer, Jin_Lua_Buffer)); + LuaObject* luaObj = luax_newinstance(L, Jin_Lua_Buffer, new Shared(netBuffer, Jin_Lua_Buffer)); return 1; } // Socket:receiveFrom(address, port) LUA_IMPLEMENT int l_receiveFrom(lua_State* L) { - SharedSocket socket = checkSocket(L); + Socket* socket = checkSocket(L); int address = luax_checkinteger(L, 2); int port = luax_checkinteger(L, 3); char buffer[BUFFER_SIZE]; int size = socket->receiveFrom(buffer, BUFFER_SIZE, address, port); Net::Buffer* netBuffer = new Net::Buffer(buffer, size); - LuaObject* luaObj = luax_newinstance(L, Jin_Lua_Buffer, new Shared<Buffer>(netBuffer, Jin_Lua_Buffer)); + LuaObject* luaObj = luax_newinstance(L, Jin_Lua_Buffer, new Shared(netBuffer, Jin_Lua_Buffer)); return 1; } // Socket:send(net.Buffer) -> data_length LUA_IMPLEMENT int l_send(lua_State* L) { - SharedSocket socket = checkSocket(L); - Shared<Buffer>& shared = checkNetBuffer(L, 2); - int len = socket->send(shared->buffer, shared->size); + Socket* socket = checkSocket(L); + Buffer* buffer = checkNetBuffer(L, 2); + int len = socket->send(buffer->buffer, buffer->size); luax_pushinteger(L, len); return 1; } @@ -75,24 +73,24 @@ namespace JinEngine // Socket:sendTo(address, port, net.Buffer) LUA_IMPLEMENT int l_sendTo(lua_State* L) { - SharedSocket socket = checkSocket(L); + Socket* socket = checkSocket(L); int address = luax_checkinteger(L, 2); int port = luax_checkinteger(L, 3); - Shared<Buffer>& buffer = checkNetBuffer(L, 4); + Buffer* buffer = checkNetBuffer(L, 4); socket->sendTo(buffer->buffer, buffer->size, address, port); return 0; } LUA_IMPLEMENT int l_close(lua_State* L) { - SharedSocket socket = checkSocket(L); + Socket* socket = checkSocket(L); socket->close(); return 0; } LUA_IMPLEMENT int l_configBlocking(lua_State* L) { - SharedSocket socket = checkSocket(L); + Socket* socket = checkSocket(L); bool blocking = luax_checkbool(L, 2); socket->configureBlocking(blocking); return 0; |