elua: remove the eo_methods stuff, improve class registration
authorDaniel Kolesa <d.kolesa@samsung.com>
Wed, 24 Sep 2014 12:37:26 +0000 (13:37 +0100)
committerDaniel Kolesa <d.kolesa@samsung.com>
Wed, 24 Sep 2014 12:37:26 +0000 (13:37 +0100)
src/bindings/luajit/eo.lua

index e72db2a64ee909eef9dec4d997fc3784263bcc57..a74bee43d81e7fc22c9ceff4bee2a841d8f1db95 100644 (file)
@@ -137,11 +137,8 @@ M.class_get = function(name)
     return classes[name]
 end
 
-M.class_register = function(name, val, addr)
+M.class_register = function(name, val)
     classes[name] = val
-    if addr then
-        classes[tonumber(ffi.cast("intptr_t", addr))] = val
-    end
     return val
 end
 
@@ -181,24 +178,20 @@ M.__do_end = function()
                        -- only for cleanup (dtor)
 end
 
-local eo_methods = {
-}
-
 ffi.metatype("Eo", {
     __index = function(self, key)
-        local v = rawget(eo_methods, key)
-        if v ~= nil then return v end
         local cl = eo.eo_class_get(self)
         if cl == nil then return nil end
         local nm = eo.eo_class_name_get(cl)
         if nm == nil then return nil end
-        local mt == classes[nm]
+        local mt == classes[ffi.string(nm)]
         if mt == nil then return nil end
         return mt[key]
     end
 })
 
-M.Eo_Base = util.Object:clone {
+M.Base = util.Object:clone {
 }
+M.class_register("Eo.Base", M.Base)
 
 return M