diff options
Diffstat (limited to 'Runtime/Scripting/LuaBindRef.cpp')
-rw-r--r-- | Runtime/Scripting/LuaBindRef.cpp | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/Runtime/Scripting/LuaBindRef.cpp b/Runtime/Scripting/LuaBindRef.cpp deleted file mode 100644 index 00a65d0..0000000 --- a/Runtime/Scripting/LuaBindRef.cpp +++ /dev/null @@ -1,72 +0,0 @@ -#include "LuaBindVM.h" -#include "LuaBindRef.h" - -namespace LuaBind -{ - - Ref::Ref(int mode) - : mRefID(LUA_NOREF) - , mMode(mode) - { - } - - Ref::~Ref() - { - } - - Ref::operator bool() - { - return (mRefID != LUA_NOREF); - } - - bool Ref::PushRef(State& state) - { - assert(mRefID != LUA_NOREF); - - VM* vm = state.GetVM(); - if (!vm) return false; - if (mMode == STRONG_REF) - { - RefTable& table = vm->GetStrongRefTable(); - table.PushRef(state, mRefID); - } - else if (mMode == WEAK_REF) - { - RefTable& table = vm->GetWeakRefTable(); - table.PushRef(state, mRefID); - } - else - { - state.PushNil(); - return false; - } - return true; - } - - void Ref::SetRef(State& state, int idx) - { - VM* vm = state.GetVM(); - if (!vm) return; - if (mMode == STRONG_REF) - { - RefTable& table = vm->GetStrongRefTable(); - mRefID = table.Ref(state, idx); - } - else if (mMode == WEAK_REF) - { - RefTable& table = vm->GetWeakRefTable(); - mRefID = table.Ref(state, idx); - } - } - - StrongRef::StrongRef() - : Ref(STRONG_REF) - { - } - - WeakRef::WeakRef() - : Ref(WEAK_REF) - { - } - -} |