glib_types.h
author Myhailo Danylenko <isbear@ukrpost.net>
Mon, 09 Feb 2009 13:00:42 +0200
changeset 2 34b6fedde9eb
parent 0 84fdfb0344c9
permissions -rw-r--r--
Switch to cmake


#ifndef LGLIB_TYPES_H
#define LGLIB_TYPES_H

#include <lua.h>
#include <glib.h>

#ifndef LGLIB_OBJREGISTRY
#define LGLIB_OBJREGISTRY ( "lglib.obj_registry" )
#endif

typedef struct {
	int reference;
	lua_State *L;
} lglib_callback_t;

void lglib_callback_destroy (lglib_callback_t *cb);


#define LGLIB_DECLARE(WHAT, TYPE)                         \
typedef struct {                                            \
	TYPE *WHAT;                                           \
} lglib_##WHAT##_t;                                             \
                                                                  \
lglib_##WHAT##_t *luaL_checklglib_##WHAT (lua_State *L, int index); \
lglib_##WHAT##_t *lglib_##WHAT##_bless (lua_State *L, TYPE *WHAT);

LGLIB_DECLARE (main_context, GMainContext)
LGLIB_DECLARE (source, GSource)

#undef LGLIB_DECLARE

#endif