lm_types.h
changeset 0 84fdfb0344c9
child 7 5db1448eb857
equal deleted inserted replaced
-1:000000000000 0:84fdfb0344c9
       
     1 
       
     2 #ifndef LLM_TYPES_H
       
     3 #define LLM_TYPES_H
       
     4 
       
     5 #include <lua.h>
       
     6 #include <loudmouth/loudmouth.h>
       
     7 
       
     8 #ifndef LLM_OBJREGISTRY
       
     9 #define LLM_OBJREGISTRY ( "llm.obj_registry" )
       
    10 #endif
       
    11 
       
    12 typedef struct {
       
    13 	int        reference;
       
    14 	lua_State *L;
       
    15 } llm_callback_t;
       
    16 
       
    17 void llm_callback_destroy (llm_callback_t *cb);
       
    18 
       
    19 #define LLM_DECLARE(WHAT, TYPE)                                               \
       
    20 typedef struct {                                                              \
       
    21 	TYPE *WHAT;                                                           \
       
    22 } llm_##WHAT##_t;                                                             \
       
    23                                                                               \
       
    24 llm_##WHAT##_t *luaL_checklm_##WHAT (lua_State *L, int index);                \
       
    25 llm_##WHAT##_t *llm_##WHAT##_bless (lua_State *L, TYPE *WHAT);
       
    26 
       
    27 LLM_DECLARE (connection, LmConnection)
       
    28 LLM_DECLARE (message, LmMessage)
       
    29 LLM_DECLARE (message_handler, LmMessageHandler)
       
    30 LLM_DECLARE (message_node, LmMessageNode)
       
    31 LLM_DECLARE (proxy, LmProxy)
       
    32 LLM_DECLARE (ssl, LmSSL)
       
    33 
       
    34 #undef LLM_DECLARE
       
    35 
       
    36 #endif
       
    37