diff options
author | chai <chaifix@163.com> | 2018-08-18 13:26:31 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2018-08-18 13:26:31 +0800 |
commit | a68d5cf198a87bb3e14d03dc7347ed52134355d4 (patch) | |
tree | 90caa0e10762a3795eb9a835e5678cbfd4507fdb /src/lua/luaopen_types.h | |
parent | e257f98dbf5c0064037b966a353e0eb1ffcba0a8 (diff) |
*update
Diffstat (limited to 'src/lua/luaopen_types.h')
-rw-r--r-- | src/lua/luaopen_types.h | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/src/lua/luaopen_types.h b/src/lua/luaopen_types.h deleted file mode 100644 index 47eb3be..0000000 --- a/src/lua/luaopen_types.h +++ /dev/null @@ -1,95 +0,0 @@ -#ifndef __JIN_M_TYPES_H -#define __JIN_M_TYPES_H - -// graphics module -#define JIN_GRAPHICS_IMAGE "jin.graphics.Image" -#define JIN_GRAPHICS_SHADER "jin.graphics.Shader" -#define JIN_GRAPHICS_CANVAS "jin.graphics.Canvas" -#define JIN_GRAPHICS_FONT "jin.graphics.Font" - -// audio module -#define JIN_AUDIO_SOURCE "jin.Audio.Source" - -// thread module -#define JIN_THREAD_THREAD "jin.thread.Thread" - -// network module -#define JIN_NETWORK_SOCKET "jin.net.Socket" -#define JIN_NETWORK_BUFFER "jin.net.Buffer" - -namespace jin -{ -namespace lua -{ - - class Reference - { - public: - Reference(void* obj) - : count(1) - , object(obj) - { - } - - void retain() - { - ++count; - } - - void release() - { - if (--count <= 0) - delete this; - } - - template<class T> - T* getObject() - { - return (T*)object; - } - - private: - Reference(const Reference&); - virtual ~Reference() {} - - void* object; - int count; - - }; - - class Proxy - { - public: - void bind(Reference* ref, const char* t) - { - if (ref == nullptr) - return; - reference = ref; - type = t; - } - - void release() - { - if (reference != nullptr) - { - reference->release(); - reference = nullptr; - type = nullptr; - } - } - - template<class T> - T* getObject() - { - return reference->getObject<T>(); - } - - const char* type; // type name and metatable name - Reference* reference; // acctual object binded - - }; - -} // lua -} // jin - -#endif
\ No newline at end of file |