degesch: export server state as a string to Lua

This commit is contained in:
Přemysl Eric Janouch 2016-10-28 12:45:38 +02:00
parent 745e758394
commit 557a39c6c8
Signed by: p
GPG Key ID: B715679E3A361BE6

View File

@ -8754,6 +8754,23 @@ lua_server_gc (lua_State *L)
return lua_weak_gc (L, &lua_server_info);
}
static int
lua_server_get_state (lua_State *L)
{
struct lua_weak *wrapper = lua_weak_deref (L, &lua_server_info);
struct server *server = wrapper->object;
switch (server->state)
{
case IRC_DISCONNECTED: lua_pushstring (L, "disconnected"); break;
case IRC_CONNECTING: lua_pushstring (L, "connecting"); break;
case IRC_CONNECTED: lua_pushstring (L, "connected"); break;
case IRC_REGISTERED: lua_pushstring (L, "registered"); break;
case IRC_CLOSING: lua_pushstring (L, "closing"); break;
case IRC_HALF_CLOSED: lua_pushstring (L, "half_closed"); break;
}
return 1;
}
static int
lua_server_send (lua_State *L)
{
@ -8766,6 +8783,7 @@ lua_server_send (lua_State *L)
static luaL_Reg lua_server_table[] =
{
{ "__gc", lua_server_gc },
{ "get_state", lua_server_get_state },
{ "send", lua_server_send },
{ NULL, NULL }
};