/* * Lib initializer */ LUA_API int luaopen_mqtt_driver(lua_State *L) { mosquitto_lib_init(); mosq_initialized = true; /** * Add metatable.__index = metatable */ luaL_newmetatable(L, MOSQ_LUA_UDATA_NAME); lua_pushvalue(L, -1); lua_setfield(L, -2, "__index"); luaL_register(L, NULL, M); luaL_register(L, NULL, R); /** * Add definitions */ mosq_register_defs(L, main_defs); return 1; }
int luaopen_mosquitto(lua_State *L) { mosquitto_lib_init(); mosq_initialized = 1; #ifdef LUA_ENVIRONINDEX /* set private environment for this module */ lua_newtable(L); lua_replace(L, LUA_ENVIRONINDEX); #endif /* metatable.__index = metatable */ luaL_newmetatable(L, MOSQ_META_CTX); lua_pushvalue(L, -1); lua_setfield(L, -2, "__index"); luaL_setfuncs(L, ctx_M, 0); luaL_newlib(L, R); /* register callback defs into mosquitto table */ mosq_register_defs(L, D); return 1; }