Eolian: Add more param conversion
This commit is contained in:
parent
5bd82c2883
commit
9734b81fd1
|
@ -46,13 +46,14 @@ complex_types = (
|
||||||
)
|
)
|
||||||
|
|
||||||
param_type_mapping = {
|
param_type_mapping = {
|
||||||
"Eina_Bool": ("bint", None),
|
"Eina_Bool": ("bint", None, None),
|
||||||
"Evas_Coord": ("int", None),
|
"Evas_Coord": ("int", None, None),
|
||||||
"char *": (
|
"char *": (
|
||||||
"",
|
"",
|
||||||
"if isinstance({0}, unicode): {0} = PyUnicode_AsUTF8String({0})",
|
"if isinstance({0}, unicode): {0} = PyUnicode_AsUTF8String({0})",
|
||||||
|
None
|
||||||
),
|
),
|
||||||
"Eo *": ("_Eo_Base", None)
|
"Eo *": ("_Eo_Base", None, "{0}.obj")
|
||||||
}
|
}
|
||||||
|
|
||||||
return_type_mapping = {
|
return_type_mapping = {
|
||||||
|
@ -61,8 +62,8 @@ return_type_mapping = {
|
||||||
"Elm_Object_Item *": (
|
"Elm_Object_Item *": (
|
||||||
"_ObjectItem", 'object_item_to_python({0})'
|
"_ObjectItem", 'object_item_to_python({0})'
|
||||||
),
|
),
|
||||||
"Evas_Object *": ("_Eo", 'object_from_instance({0})'),
|
"Evas_Object *": ("_Eo_Base", 'object_from_instance({0})'),
|
||||||
"Eo *": ("_Eo", 'object_from_instance({0})'),
|
"Eo *": ("_Eo_Base", 'object_from_instance({0})'),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -252,6 +253,13 @@ class Method(object):
|
||||||
if conv:
|
if conv:
|
||||||
gen.write(conv.format(n))
|
gen.write(conv.format(n))
|
||||||
|
|
||||||
|
for i, (t, n) in enumerate(self.c_params):
|
||||||
|
t = t.replace("const ", "")
|
||||||
|
if t in param_type_mapping:
|
||||||
|
conv = param_type_mapping[t][2]
|
||||||
|
if conv:
|
||||||
|
self.c_params[i] = (t, conv.format(n))
|
||||||
|
|
||||||
c_params = ", ".join([c[1] for c in self.c_params])
|
c_params = ", ".join([c[1] for c in self.c_params])
|
||||||
c_call = "eo_do(self.obj, %s(%s))" % (self.c_name, c_params)
|
c_call = "eo_do(self.obj, %s(%s))" % (self.c_name, c_params)
|
||||||
if self.ret_type:
|
if self.ret_type:
|
||||||
|
|
Loading…
Reference in New Issue