aboutsummaryrefslogtreecommitdiff
path: root/src/lua/net/luaopen_net.cpp
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2018-08-20 11:51:32 +0800
committerchai <chaifix@163.com>2018-08-20 11:51:32 +0800
commit65bafdc682db46f0f115374ad39f1fbc348832ac (patch)
tree7862548cdf01060e89a45c9817afc6e5d263acd7 /src/lua/net/luaopen_net.cpp
parent9593ae6ecdfcfb876fa7953f25e19f0a97e1453a (diff)
*update
Diffstat (limited to 'src/lua/net/luaopen_net.cpp')
-rw-r--r--src/lua/net/luaopen_net.cpp86
1 files changed, 0 insertions, 86 deletions
diff --git a/src/lua/net/luaopen_net.cpp b/src/lua/net/luaopen_net.cpp
deleted file mode 100644
index 12e87eb..0000000
--- a/src/lua/net/luaopen_net.cpp
+++ /dev/null
@@ -1,86 +0,0 @@
-#include "lua/luax.h"
-#include "libjin/jin.h"
-#include "../common/common.h"
-#include "Buffer.h"
-
-namespace jin
-{
-namespace lua
-{
- using namespace jin::lua::net;
- using namespace jin::net;
-
- static int l_initNetwork(lua_State* L)
- {
- jin::net::Net::get()->init();
- return 1;
- }
-
- // jin.net.Socket()
- static int l_Socket(lua_State* L)
- {
- SocketInformation info = { 0 };
- {
- const char* socketType = luax_checkstring(L, 1);
- if (strcmp(socketType, "TCP") == 0)
- info.type = SocketType::TCP;
- else if (strcmp(socketType, "UDP") == 0)
- info.type = SocketType::UDP;
- else
- {
- luax_error(L, "jin.net.Socket() first paramter wrong, must be TCP or UDP");
- return 0;
- }
- // type, port
- if (luax_gettop(L) == 2)
- {
- info.port = luax_checkinteger(L, 2);
- }
- // type, address, port
- else if (luax_gettop(L) == 3)
- {
- if (luax_isstringstrict(L, 2))
- info.address = tk_strtohl(luax_checkstring(L, 2));
- else if (luax_isintegerstrict(L, 2))
- info.address = luax_checkinteger(L, 2);
- info.port = luax_checkinteger(L, 3);
- }
- }
- Socket* socket = new Socket(info);
- Proxy* proxy = (Proxy*)luax_newinstance(L, JIN_NETWORK_SOCKET, sizeof(Proxy));
- proxy->bind(new Ref<Socket>(socket, JIN_NETWORK_SOCKET));
- return 1;
- }
-
- // jin.net.Buffer()
- static int l_Buffer(lua_State* L)
- {
- int size = luax_checkinteger(L, 1);
- Proxy* proxy = (Proxy*)luax_newinstance(L, JIN_NETWORK_BUFFER, sizeof(Proxy));
- net::Buffer* buffer = new net::Buffer(size);
- proxy->bind(new Ref<Buffer>(buffer, JIN_NETWORK_BUFFER));
- return 1;
- }
-
- static const luaL_Reg f[] = {
- { "init", l_initNetwork },
- { "newSocket", l_Socket },
- { "newBuffer", l_Buffer },
- { 0, 0 }
- };
-
- extern int luaopen_Socket(lua_State* L);
- extern int luaopen_Buffer(lua_State* L);
-
- int luaopen_net(lua_State* L)
- {
- luaopen_Socket(L);
- luaopen_Buffer(L);
-
- luax_newlib(L, f);
-
- return 1;
- }
-
-} // lua
-} // jin \ No newline at end of file