glib.c
changeset 0 84fdfb0344c9
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/glib.c	Sun Feb 01 21:28:57 2009 +0200
@@ -0,0 +1,31 @@
+
+#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;
+}
+