summaryrefslogtreecommitdiff
path: root/Runtime/Scripting/LuaBindClass.inc
diff options
context:
space:
mode:
Diffstat (limited to 'Runtime/Scripting/LuaBindClass.inc')
-rw-r--r--Runtime/Scripting/LuaBindClass.inc98
1 files changed, 49 insertions, 49 deletions
diff --git a/Runtime/Scripting/LuaBindClass.inc b/Runtime/Scripting/LuaBindClass.inc
index faa276d..e9c7b8b 100644
--- a/Runtime/Scripting/LuaBindClass.inc
+++ b/Runtime/Scripting/LuaBindClass.inc
@@ -7,11 +7,11 @@ namespace LuaBind
/// 对不同类型,通过调用GetLuaClassName获得类型名,如果是派生类,GetClassName会被覆盖,指向luax_c_getupvalue。
///
template<class TYPE, class BASE>
- int LuaBindNativeClass<TYPE, BASE>::_GetClassName(lua_State* L)
+ int NativeClass<TYPE, BASE>::_GetClassName(lua_State* L)
{
LUA_BIND_SETUP(L, "*");
- cc8* type = TYPE::GetLuaBindClassName();
+ cc8* type = TYPE::GetClassName();
state.Push(type);
return 1;
}
@@ -22,7 +22,7 @@ namespace LuaBind
/// 注册工厂和单例共有的类成员
///
template<class TYPE, class BASE>
- void LuaBindNativeClass<TYPE, BASE>::RegisterLuaBindClassShared(LuaBindState& state)
+ void NativeClass<TYPE, BASE>::RegisterClassShared(State& state)
{
luaL_Reg regTable[] = {
{ "GetClass", _GetClass },
@@ -37,7 +37,7 @@ namespace LuaBind
/// 工厂类的成员,注册在class table
///
template<class TYPE, class BASE>
- void LuaBindNativeClass<TYPE, BASE>::RegisterLuaBindFactoryClass(LuaBindState& state)
+ void NativeClass<TYPE, BASE>::RegisterFactoryClass(State& state)
{
luaL_Reg regTable[] = {
{ "GetRefTable", _GetRefTable },
@@ -51,7 +51,7 @@ namespace LuaBind
/// 单例类的成员,注册在class table
///
template<class TYPE, class BASE>
- void LuaBindNativeClass<TYPE, BASE>::RegisterLuaBindSingletonClass(LuaBindState& state)
+ void NativeClass<TYPE, BASE>::RegisterSingletonClass(State& state)
{
luaL_Reg regTable[] = {
{ NULL, NULL }
@@ -61,7 +61,7 @@ namespace LuaBind
}
template<class TYPE, class BASE>
- void LuaBindNativeClass<TYPE, BASE>::PushLuaBindClassTable(LuaBindState& state)
+ void NativeClass<TYPE, BASE>::PushClassTable(State& state)
{
assert(mClassTable);
@@ -69,13 +69,13 @@ namespace LuaBind
}
template<class TYPE, class BASE>
- void LuaBindNativeClass<TYPE, BASE>::SetLuaBindClassTableRef(LuaBindState& state, int idx)
+ void NativeClass<TYPE, BASE>::SetClassTableRef(State& state, int idx)
{
mClassTable.SetRef(state, idx);
}
template<class TYPE, class BASE>
- LuaBindNativeClass<TYPE, BASE>::LuaBindNativeClass()
+ NativeClass<TYPE, BASE>::NativeClass()
: mWatchDog()
#if LUA_BIND_PROFILER
, mSafer(false)
@@ -84,13 +84,13 @@ namespace LuaBind
}
template<class TYPE, class BASE>
- LuaBindNativeClass<TYPE, BASE>::~LuaBindNativeClass()
+ NativeClass<TYPE, BASE>::~NativeClass()
{
}
#if LUA_BIND_PROFILER
template<class TYPE, class BASE>
- void LuaBindNativeClass<TYPE, BASE>::operator delete(void* pdead, size_t size)
+ void NativeClass<TYPE, BASE>::operator delete(void* pdead, size_t size)
{
if (pdead == nullptr)
return;
@@ -102,13 +102,13 @@ namespace LuaBind
#endif
template<class TYPE, class BASE>
- void LuaBindNativeClass<TYPE, BASE>::Retain()
+ void NativeClass<TYPE, BASE>::Retain()
{
++mWatchDog.mNativeRef;
}
template<class TYPE, class BASE>
- void LuaBindNativeClass<TYPE, BASE>::Release()
+ void NativeClass<TYPE, BASE>::Release()
{
if (mWatchDog.mNativeRef > 0)
--mWatchDog.mNativeRef;
@@ -123,11 +123,11 @@ namespace LuaBind
template<class TYPE, class BASE>
template<typename U>
- void LuaBindNativeClass<TYPE, BASE>::LuaBindRetain(LuaBindState& state, U* userdata)
+ void NativeClass<TYPE, BASE>::Retain(State& state, U* userdata)
{
- if (PushLuaBindRefTable(state))
+ if (PushRefTable(state))
{
- if (userdata->PushLuaBindUserdata(state))
+ if (userdata->PushUserdata(state))
{
lua_pushvalue(state, -1); // copy the userdata
lua_gettable(state, -3); // get the count (or nil)
@@ -141,11 +141,11 @@ namespace LuaBind
template<class TYPE, class BASE>
template<typename U>
- void LuaBindNativeClass<TYPE, BASE>::LuaBindRelease(LuaBindState& state, U* userdata)
+ void NativeClass<TYPE, BASE>::Release(State& state, U* userdata)
{
- if (PushLuaBindRefTable(state))
+ if (PushRefTable(state))
{
- if (userdata->PushLuaBindUserdata(state))
+ if (userdata->PushUserdata(state))
{
lua_pushvalue(state, -1); // copy the userdata
lua_gettable(state, -3); // get the count (or nil)
@@ -176,9 +176,9 @@ namespace LuaBind
}
template<class TYPE, class BASE>
- bool LuaBindNativeClass<TYPE, BASE>::PushLuaBindUserdata(LuaBindState& state)
+ bool NativeClass<TYPE, BASE>::PushUserdata(State& state)
{
- assert(!TYPE::IsLuaBindClassSingleton());
+ assert(!TYPE::IsClassSingleton());
if (!mUserdata)
{
BindToLua(state);
@@ -188,10 +188,10 @@ namespace LuaBind
}
template<class TYPE, class BASE>
- bool LuaBindNativeClass<TYPE, BASE>::PushLuaBindMemberTable(LuaBindState& state)
+ bool NativeClass<TYPE, BASE>::PushMemberTable(State& state)
{
int top = state.GetTop();
- if (this->PushLuaBindUserdata(state))
+ if (this->PushUserdata(state))
{
if (lua_getmetatable(state, -1)) // ref table
{
@@ -209,10 +209,10 @@ namespace LuaBind
}
template<class TYPE, class BASE>
- bool LuaBindNativeClass<TYPE, BASE>::PushLuaBindRefTable(LuaBindState& state)
+ bool NativeClass<TYPE, BASE>::PushRefTable(State& state)
{
// Singleton
- if (TYPE::IsLuaBindClassSingleton())
+ if (TYPE::IsClassSingleton())
{
if (!this->mSingletonRefTable) {
lua_newtable(state);
@@ -226,7 +226,7 @@ namespace LuaBind
// Factory
else
{
- if (this->PushLuaBindUserdata(state))
+ if (this->PushUserdata(state))
{
if (lua_getmetatable(state, -1))
{
@@ -248,10 +248,10 @@ namespace LuaBind
/// BindToLua只会在第一次注册给Lua虚拟机时调用。
///
template<class TYPE, class BASE>
- void LuaBindNativeClass<TYPE, BASE>::BindToLua(LuaBindState& state)
+ void NativeClass<TYPE, BASE>::BindToLua(State& state)
{
// 单例不能绑定userdata
- assert(!TYPE::IsLuaBindClassSingleton());
+ assert(!TYPE::IsClassSingleton());
assert(!mUserdata);
///
@@ -264,7 +264,7 @@ namespace LuaBind
lua_newtable(state); // ref table,无法在lua处访问,用来管理C对象的生命周期
lua_newtable(state); // member table,lua中创建的对象成员都保存在这里
- PushLuaBindClassTable(state); // class table
+ PushClassTable(state); // class table
// stack:
// -1: class table
@@ -310,13 +310,13 @@ namespace LuaBind
/// 成员引用管理
///
template<class TYPE, class BASE>
- void LuaBindNativeClass<TYPE, BASE>::SetLuaBindMemberRef(LuaBindState& state, LuaBindMemberRef& memRef, int idx)
+ void NativeClass<TYPE, BASE>::SetMemberRef(State& state, MemberRef& memRef, int idx)
{
- ClearLuaBindMemberRef(state, memRef);
+ ClearMemberRef(state, memRef);
if (!lua_isnil(state, idx))
{
idx = state.AbsIndex(idx);
- if (PushLuaBindRefTable(state))
+ if (PushRefTable(state))
{
lua_pushvalue(state, idx);
memRef.refID = luaL_ref(state, -2);
@@ -326,11 +326,11 @@ namespace LuaBind
}
template<class TYPE, class BASE>
- bool LuaBindNativeClass<TYPE, BASE>::PushLuaBindMemberRef(LuaBindState& state, LuaBindMemberRef& memRef)
+ bool NativeClass<TYPE, BASE>::PushMemberRef(State& state, MemberRef& memRef)
{
if (memRef)
{
- if (PushLuaBindRefTable(state))
+ if (PushRefTable(state))
{
lua_rawgeti(state, -1, memRef.refID);
lua_replace(state, -2); // ref table
@@ -346,9 +346,9 @@ namespace LuaBind
}
template<class TYPE, class BASE>
- bool LuaBindNativeClass<TYPE, BASE>::PushLuaBindMemberRef(LuaBindState& state, int refID)
+ bool NativeClass<TYPE, BASE>::PushMemberRef(State& state, int refID)
{
- if (PushLuaBindRefTable(state))
+ if (PushRefTable(state))
{
lua_rawgeti(state, -1, refID);
lua_replace(state, -2); // ref table
@@ -362,11 +362,11 @@ namespace LuaBind
}
template<class TYPE, class BASE>
- void LuaBindNativeClass<TYPE, BASE>::ClearLuaBindMemberRef(LuaBindState& state, LuaBindMemberRef& memRef)
+ void NativeClass<TYPE, BASE>::ClearMemberRef(State& state, MemberRef& memRef)
{
if (memRef)
{
- if (PushLuaBindRefTable(state))
+ if (PushRefTable(state))
{
luaL_unref(state, -1, memRef.refID);
state.Pop(); // ref table
@@ -381,7 +381,7 @@ namespace LuaBind
/// 释放工厂创建的实例
///
template<class TYPE, class BASE>
- int LuaBindNativeClass<TYPE, BASE>::__gc(lua_State* L)
+ int NativeClass<TYPE, BASE>::__gc(lua_State* L)
{
LUA_BIND_STATE(L);
@@ -389,7 +389,7 @@ namespace LuaBind
assert(self);
#if LUA_BIND_PROFILER
- std::cout << "LuaBind: GC<" << TYPE::GetLuaBindClassName() << ">\n";
+ std::cout << ": GC<" << TYPE::GetClassName() << ">\n";
#endif
if(self->mWatchDog.mVMRef > 0)
@@ -405,7 +405,7 @@ namespace LuaBind
/// 地址 类名
///
template<class TYPE, class BASE>
- int LuaBindNativeClass<TYPE, BASE>::__tostring(lua_State* L)
+ int NativeClass<TYPE, BASE>::__tostring(lua_State* L)
{
// params:
// 1: userdata
@@ -424,7 +424,7 @@ namespace LuaBind
}
else
{
- classname = TYPE::GetLuaBindClassName();
+ classname = TYPE::GetClassName();
}
lua_pushfstring(L, "%s: %p", classname, self);
return 1;
@@ -438,7 +438,7 @@ namespace LuaBind
/// native实体创建后可以使用__init进行初始化,派生类拥有和基类一样的New参数列表,且native对象是一样的类型。
///
template<class TYPE, class BASE>
- int LuaBindNativeClass<TYPE, BASE>::_ExtendFactory(lua_State* L)
+ int NativeClass<TYPE, BASE>::_ExtendFactory(lua_State* L)
{
// upvalues:
// 1: base class
@@ -490,7 +490,7 @@ namespace LuaBind
}
template<class TYPE, class BASE>
- int LuaBindNativeClass<TYPE, BASE>::_ExtendSingleton(lua_State* L)
+ int NativeClass<TYPE, BASE>::_ExtendSingleton(lua_State* L)
{
// upvalues:
// 1: base class
@@ -537,7 +537,7 @@ namespace LuaBind
#endif /*LUA_BIND_ENABLE_NATIVE_EXTEND*/
template<class TYPE, class BASE>
- int LuaBindNativeClass<TYPE, BASE>::_GetClass(lua_State* L)
+ int NativeClass<TYPE, BASE>::_GetClass(lua_State* L)
{
LUA_BIND_STATE(L);
if (!mClassTable)
@@ -548,18 +548,18 @@ namespace LuaBind
}
template<class TYPE, class BASE>
- int LuaBindNativeClass<TYPE, BASE>::_GetRefTable(lua_State* L)
+ int NativeClass<TYPE, BASE>::_GetRefTable(lua_State* L)
{
LUA_BIND_STATE(L);
TYPE* self = state.GetUserdata<TYPE>(1);
- bool success = self->PushLuaBindRefTable(state);
+ bool success = self->PushRefTable(state);
if (!success)
lua_pushnil(L);
return 1;
}
template<class TYPE, class BASE>
- int LuaBindNativeClass<TYPE, BASE>::_New(lua_State* L)
+ int NativeClass<TYPE, BASE>::_New(lua_State* L)
{
LUA_BIND_STATE(L);
@@ -631,7 +631,7 @@ namespace LuaBind
return 0;
}
- template<class TYPE, class BASE> LuaBindStrongRef LuaBindNativeClass<TYPE, BASE>::mClassTable; // class table
- template<class TYPE, class BASE> LuaBindStrongRef LuaBindNativeClass<TYPE, BASE>::mSingletonRefTable; // 单例
+ template<class TYPE, class BASE> StrongRef NativeClass<TYPE, BASE>::mClassTable; // class table
+ template<class TYPE, class BASE> StrongRef NativeClass<TYPE, BASE>::mSingletonRefTable; // 单例
} \ No newline at end of file