glib.c
author Myhailo Danylenko <isbear@ukrpost.net>
Sun, 01 Feb 2009 21:28:57 +0200
changeset 0 84fdfb0344c9
permissions -rw-r--r--
Initial commit * It works * Still need to debug objects collection


#include <lua.h>

#include "glib_types.h"
#include "glib_main_context.h"
#include "glib_timeout.h"
#include "glib_source.h"

int luaopen_glib (lua_State *L)
{
	lua_pushstring (L, LGLIB_OBJREGISTRY);
	lua_newtable (L);
	lua_createtable (L, 0, 1);
	lua_pushstring (L, "__mode");
	lua_pushstring (L, "v");
	lua_settable (L, -3);
	lua_setmetatable (L, -2);
	lua_rawset (L, LUA_REGISTRYINDEX);

	lua_createtable (L, 3, 0);
	lua_pushvalue (L, -1);
	lua_setglobal (L, "g");

	luaopen_glib_main_context (L);
	luaopen_glib_source (L);
	luaopen_glib_timeout (L);
	lua_pop (L, 3);

	return 1;
}