diff options
Diffstat (limited to 'src/lua/common/je_lua_shared.hpp')
-rw-r--r-- | src/lua/common/je_lua_shared.hpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/lua/common/je_lua_shared.hpp b/src/lua/common/je_lua_shared.hpp index 579a38e..c4b70de 100644 --- a/src/lua/common/je_lua_shared.hpp +++ b/src/lua/common/je_lua_shared.hpp @@ -12,6 +12,9 @@ namespace JinEngine namespace Lua { + /// + /// Thread safe. + /// class SharedBase { public: @@ -19,9 +22,6 @@ namespace JinEngine void release(); - // Object type. - const char* const type; - void setDependency(int key, SharedBase* shared); void removeDependency(int key); @@ -40,13 +40,14 @@ namespace JinEngine int getDependencyCount(); - protected: + const char* getType(); + protected: SharedBase(lua_State* L, void* obj, const char* t) : mCount(0) , mObject(obj) , mL(L) - , type(t) + , mType(t) { } @@ -59,10 +60,11 @@ namespace JinEngine using DepsMap = std::map<int, SharedBase*>; - void* mObject; - int mCount; lua_State* mL; - DepsMap mDependencies; + void* mObject; + int mCount; + DepsMap mDependencies; + const char* mType; }; @@ -86,10 +88,8 @@ namespace JinEngine } private: - // Disable copy constructor. Shared(const Shared<T>& shared); - // Make shared only be able created with new. ~Shared() { T* obj = static_cast<T*>(mObject); |