glib.c
changeset 3 4fd19a188509
parent 2 34b6fedde9eb
child 4 5770be2d5f3f
equal deleted inserted replaced
2:34b6fedde9eb 3:4fd19a188509
     1 
       
     2 #include <lua.h>
       
     3 
       
     4 #include "glib_types.h"
       
     5 #include "glib_main_context.h"
       
     6 #include "glib_timeout.h"
       
     7 #include "glib_source.h"
       
     8 
       
     9 int luaopen_glib (lua_State *L)
       
    10 {
       
    11 	lua_pushstring (L, LGLIB_OBJREGISTRY);
       
    12 	lua_newtable (L);
       
    13 	lua_createtable (L, 0, 1);
       
    14 	lua_pushstring (L, "__mode");
       
    15 	lua_pushstring (L, "v");
       
    16 	lua_settable (L, -3);
       
    17 	lua_setmetatable (L, -2);
       
    18 	lua_rawset (L, LUA_REGISTRYINDEX);
       
    19 
       
    20 	lua_createtable (L, 3, 0);
       
    21 	lua_pushvalue (L, -1);
       
    22 	lua_setglobal (L, "g");
       
    23 
       
    24 	luaopen_glib_main_context (L);
       
    25 	luaopen_glib_source (L);
       
    26 	luaopen_glib_timeout (L);
       
    27 	lua_pop (L, 3);
       
    28 
       
    29 	return 1;
       
    30 }
       
    31