aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Kolesa <d.kolesa@samsung.com>2014-09-25 15:53:42 +0100
committerDaniel Kolesa <d.kolesa@samsung.com>2014-09-25 15:53:42 +0100
commitfc40591f1195da03766e0e97f3a6559648c80824 (patch)
tree05ba5451d9cbac1f4dc71df36a279c74416d4f18
parenteolian: remove the need to pass prefix to eolian_function_full_c_name_get (diff)
downloadefl-fc40591f1195da03766e0e97f3a6559648c80824.tar.gz
elua: update eolian bindings and generator
-rw-r--r--src/bin/elua/modules/lualian.lua22
-rw-r--r--src/bindings/luajit/eolian.lua13
2 files changed, 20 insertions, 15 deletions
diff --git a/src/bin/elua/modules/lualian.lua b/src/bin/elua/modules/lualian.lua
index d97616229e..3d2501c7bc 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 037310aded..59317413ce 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
}
})