aboutsummaryrefslogtreecommitdiff
path: root/src/lua/common/je_lua_shared.hpp
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2018-11-26 16:37:02 +0800
committerchai <chaifix@163.com>2018-11-26 16:37:02 +0800
commitf49291959d22b9f05f0c19a31c3f9a8905805014 (patch)
tree9521247e6a9381548c8958755b0ca603570b519e /src/lua/common/je_lua_shared.hpp
parent24b712a956a48f43788e1c11e121aedf52e22278 (diff)
*lua bind
Diffstat (limited to 'src/lua/common/je_lua_shared.hpp')
-rw-r--r--src/lua/common/je_lua_shared.hpp20
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);