q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c9c13bd650aca974631969a636ffc525c359032b
commit c9c13bd650aca974631969a636ffc525c359032b Author: Daniel Kolesa <d.kol...@samsung.com> Date: Tue Mar 3 15:29:50 2015 +0000 elua: callback updates in eo bindings Priority is now supported. Some initial infra for disconnect has been added. --- src/bindings/luajit/eo.lua | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/bindings/luajit/eo.lua b/src/bindings/luajit/eo.lua index 707bf8e..e54a747 100644 --- a/src/bindings/luajit/eo.lua +++ b/src/bindings/luajit/eo.lua @@ -106,6 +106,9 @@ ffi.cdef [[ Eina_Iterator *eo_children_iterator_new(void); const Eo_Class *eo_base_class_get(void); + + extern const Eo_Event_Description _EO_BASE_EVENT_CALLBACK_ADD; + extern const Eo_Event_Description _EO_BASE_EVENT_CALLBACK_DEL; ]] local addr_d = ffi.typeof("union { double d; const Eo_Class *p; }") @@ -125,14 +128,14 @@ local eo local classes = {} local eo_classes = {} -local connect = function(self, ename, func) +local connect = function(self, ename, func, priority) local ev = self.__events[ename] if not ev then error("invalid event '" .. ename .. "'", 2) end local cl = eo_classes["Eo_Base"] M.__do_start(self, cl) - eo.eo_event_callback_priority_add(ev, 0, + eo.eo_event_callback_priority_add(ev, priority or 0, function(data, obj, desc, einfo) return func(obj, einfo) ~= false end, @@ -140,6 +143,10 @@ local connect = function(self, ename, func) M.__do_end() end +local disconnect = function(self, ename, func) + -- TODO: implement +end + local init = function() eo = util.lib_load("eo") eo.eo_init() @@ -147,6 +154,7 @@ local init = function() local addr = eo_class_addr_get(eocl) classes["Eo_Base"] = util.Object:clone { connect = connect, + disconnect = disconnect, __events = util.Object:clone {}, __properties = util.Object:clone {} } --