lm_types.h
changeset 0 84fdfb0344c9
child 7 5db1448eb857
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lm_types.h	Sun Feb 01 21:28:57 2009 +0200
@@ -0,0 +1,37 @@
+
+#ifndef LLM_TYPES_H
+#define LLM_TYPES_H
+
+#include <lua.h>
+#include <loudmouth/loudmouth.h>
+
+#ifndef LLM_OBJREGISTRY
+#define LLM_OBJREGISTRY ( "llm.obj_registry" )
+#endif
+
+typedef struct {
+	int        reference;
+	lua_State *L;
+} llm_callback_t;
+
+void llm_callback_destroy (llm_callback_t *cb);
+
+#define LLM_DECLARE(WHAT, TYPE)                                               \
+typedef struct {                                                              \
+	TYPE *WHAT;                                                           \
+} llm_##WHAT##_t;                                                             \
+                                                                              \
+llm_##WHAT##_t *luaL_checklm_##WHAT (lua_State *L, int index);                \
+llm_##WHAT##_t *llm_##WHAT##_bless (lua_State *L, TYPE *WHAT);
+
+LLM_DECLARE (connection, LmConnection)
+LLM_DECLARE (message, LmMessage)
+LLM_DECLARE (message_handler, LmMessageHandler)
+LLM_DECLARE (message_node, LmMessageNode)
+LLM_DECLARE (proxy, LmProxy)
+LLM_DECLARE (ssl, LmSSL)
+
+#undef LLM_DECLARE
+
+#endif
+