diff options
Diffstat (limited to 'Runtime/LuaBind/LuaBindWatchDog.h')
-rw-r--r-- | Runtime/LuaBind/LuaBindWatchDog.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/Runtime/LuaBind/LuaBindWatchDog.h b/Runtime/LuaBind/LuaBindWatchDog.h new file mode 100644 index 0000000..794faa9 --- /dev/null +++ b/Runtime/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 |