From 45328cbadd8a946c19a77301f218efbf650e2f28 Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 18 Oct 2021 19:56:41 +0800 Subject: *misc --- Runtime/Lua/LuaBind/LuaBindWatchDog.h | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 Runtime/Lua/LuaBind/LuaBindWatchDog.h (limited to 'Runtime/Lua/LuaBind/LuaBindWatchDog.h') diff --git a/Runtime/Lua/LuaBind/LuaBindWatchDog.h b/Runtime/Lua/LuaBind/LuaBindWatchDog.h new file mode 100644 index 0000000..794faa9 --- /dev/null +++ b/Runtime/Lua/LuaBind/LuaBindWatchDog.h @@ -0,0 +1,33 @@ +#ifndef __LUA_BIND_DOG_H__ +#define __LUA_BIND_DOG_H__ + +#include "LuaBindConfig.h" + +namespace LuaBind +{ + + // + // NativeClass实例的引用计数额watch dog,只有在watch dog通过时才可以delete。 + // + class WatchDog + { + public: + WatchDog() + : mVMRef(0) + , mNativeRef(0) + { + } + + inline operator bool() + { + return mVMRef == 0 && mNativeRef == 0; + } + + uint mVMRef; // 托管给的虚拟机数 + uint mNativeRef; // 本地引用数 + + }; + +} + +#endif \ No newline at end of file -- cgit v1.1-26-g67d0