q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=fc40591f1195da03766e0e97f3a6559648c80824

commit fc40591f1195da03766e0e97f3a6559648c80824
Author: Daniel Kolesa <[email protected]>
Date:   Thu Sep 25 15:53:42 2014 +0100

    elua: update eolian bindings and generator
---
 src/bin/elua/modules/lualian.lua | 22 ++++++++++------------
 src/bindings/luajit/eolian.lua   | 13 ++++++++++---
 2 files changed, 20 insertions(+), 15 deletions(-)

diff --git a/src/bin/elua/modules/lualian.lua b/src/bin/elua/modules/lualian.lua
index d976162..3d2501c 100644
--- a/src/bin/elua/modules/lualian.lua
+++ b/src/bin/elua/modules/lualian.lua
@@ -165,7 +165,7 @@ local Method = Node:clone {
         local allocs = {}
         proto.allocs = allocs
 
-        proto.full_name = meth:full_c_name_get(self.parent_node.prefix)
+        proto.full_name = meth:full_c_name_get()
 
         local dirs = eolian.parameter_dir
 
@@ -259,8 +259,7 @@ local Property = Method:clone {
         local allocs = {}
         proto.allocs = allocs
 
-        proto.full_name = prop:full_c_name_get(self.parent_node.prefix)
-            .. proto.suffix
+        proto.full_name = prop:full_c_name_get() .. proto.suffix
 
         local dirs = eolian.parameter_dir
 
@@ -330,19 +329,17 @@ local Property = Method:clone {
 }
 
 local Event = Node:clone {
-    __ctor = function(self, ename, etype, edesc)
-        self.ename = ename
-        self.etype = etype
-        self.edesc = edesc
+    __ctor = function(self, ename, etype, edesc, ecname)
+        self.ename  = ename
+        self.etype  = etype
+        self.edesc  = edesc
+        self.ecname = ecname
     end,
 
     gen_ffi_name = function(self)
         local ffin = self.cached_ffi_name
         if ffin then return ffin end
-        ffin = table.concat {
-            "_", self.parent_node.klass:name_get():upper(), "_EVENT_",
-            self.ename:gsub("%W", "_"):upper()
-        }
+        ffin = "_" .. self.ecname
         self.cached_ffi_name = ffin
         return ffin
     end,
@@ -621,7 +618,8 @@ local gen_contents = function(klass)
     local evs = {}
     local events = klass:events_get():to_array()
     for i, v in ipairs(events) do
-        evs[#evs + 1] = Event(v:name_get(), v:type_get(), v:description_get())
+        evs[#evs + 1] = Event(v:name_get(), v:type_get(), v:description_get(),
+            v:c_name_get())
     end
     return cnt, evs
 end
diff --git a/src/bindings/luajit/eolian.lua b/src/bindings/luajit/eolian.lua
index 037310a..5931741 100644
--- a/src/bindings/luajit/eolian.lua
+++ b/src/bindings/luajit/eolian.lua
@@ -202,7 +202,7 @@ ffi.cdef [[
     Eolian_Function_Type eolian_function_type_get(const Eolian_Function 
*function_id);
     Eolian_Object_Scope eolian_function_scope_get(const Eolian_Function 
*function_id);
     const char *eolian_function_name_get(const Eolian_Function *function_id);
-    const char *eolian_function_full_c_name_get(const Eolian_Function 
*function_id, const char *prefix);
+    const char *eolian_function_full_c_name_get(const Eolian_Function 
*function_id);
     const Eolian_Function *eolian_class_function_get_by_name(const 
Eolian_Class *klass, const char *func_name, Eolian_Function_Type f_type);
     const char *eolian_function_legacy_get(const Eolian_Function *function_id, 
Eolian_Function_Type f_type);
     const char *eolian_function_description_get(const Eolian_Function 
*function_id, Eolian_Function_Type f_type);
@@ -246,6 +246,7 @@ ffi.cdef [[
     const Eolian_Type *eolian_event_type_get(const Eolian_Event *event);
     const char *eolian_event_description_get(const Eolian_Event *event);
     Eolian_Object_Scope eolian_event_scope_get(const Eolian_Event *event);
+    const char *eolian_event_c_name_get(const Eolian_Event *event);
     Eina_Bool eolian_class_ctor_enable_get(const Eolian_Class *klass);
     Eina_Bool eolian_class_dtor_enable_get(const Eolian_Class *klass);
     const Eolian_Type *eolian_type_alias_get_by_name(const char *name);
@@ -608,8 +609,8 @@ M.Function = ffi.metatype("Eolian_Function", {
             return ffi.string(v)
         end,
 
-        full_c_name_get = function(self, prefix)
-            local v = eolian.eolian_function_full_c_name_get(self, prefix)
+        full_c_name_get = function(self)
+            local v = eolian.eolian_function_full_c_name_get(self)
             if v == nil then return nil end
             return ffi_stringshare(v)
         end,
@@ -829,6 +830,12 @@ ffi.metatype("Eolian_Event", {
 
         scope_get = function(self)
             return eolian.eolian_event_scope_get(self)
+        end,
+
+        c_name_get = function(self)
+            local v = eolian.eolian_event_c_name_get(self)
+            if v == nil then return nil end
+            return ffi_stringshare(v)
         end
     }
 })

-- 


Reply via email to