From 044f684c197b7dc71556b2c26415cdc694ba51a3 Mon Sep 17 00:00:00 2001 From: Alexander Lantsev Date: Mon, 6 Jul 2015 12:38:11 +0000 Subject: MirLua: - fixed correct hooks/services cleanup on reload - added functions OnScriptLoaded and OnScriptUnload to m git-svn-id: http://svn.miranda-ng.org/main/trunk@14498 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/MirLua/src/mlua.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'plugins/MirLua/src/mlua.h') diff --git a/plugins/MirLua/src/mlua.h b/plugins/MirLua/src/mlua.h index c792c32780..5d771d8ea9 100644 --- a/plugins/MirLua/src/mlua.h +++ b/plugins/MirLua/src/mlua.h @@ -1,20 +1,43 @@ #ifndef _LUA_CORE_H_ #define _LUA_CORE_H_ +struct HandleRefParam +{ + HANDLE h; + int ref; + lua_State *L; + HandleRefParam(HANDLE h) : L(NULL), h(h), ref(0) { } + HandleRefParam(lua_State *L, HANDLE h, int ref = 0) : L(L), h(h), ref(ref) { } +}; + class CMLua { private: lua_State *L; + HANDLE hLoadedEvent; + HANDLE hUnloadEvent; + + static void KillModuleEventHooks(); + static void KillModuleServices(); void Load(); void Unload(); public: + static LIST Hooks; + static LIST Events; + static LIST Services; + static LIST HookRefs; + static LIST ServiceRefs; + CMLua(); ~CMLua(); void Reload(); + static int OnScriptLoaded(lua_State *L); + static int OnScriptUnload(lua_State *L); + static int HookEventObjParam(void *obj, WPARAM wParam, LPARAM lParam, LPARAM param); }; -- cgit v1.2.3