summaryrefslogtreecommitdiff
path: root/src/bin
diff options
context:
space:
mode:
authorVitor Sousa <vitorsousasilva@gmail.com>2015-05-12 11:45:16 -0300
committerTom Hacohen <tom@stosb.com>2015-05-12 15:51:31 +0100
commit2c48b3212a326758bfdbbe2f6bd6f292dcc1cd33 (patch)
treebf05f9ccf989c4beaa898a0c70573322ecc51d9d /src/bin
parent6e7ab244f7609f4655e683c2df829a9e9e461d60 (diff)
eolian_cxx: Fix @beta on generated bindings for C++
Diffstat (limited to 'src/bin')
-rw-r--r--src/bin/eolian_cxx/convert.cc3
-rw-r--r--src/bin/eolian_cxx/eolian_wrappers.hh7
2 files changed, 10 insertions, 0 deletions
diff --git a/src/bin/eolian_cxx/convert.cc b/src/bin/eolian_cxx/convert.cc
index 4d03c8f775..4f92b97d41 100644
--- a/src/bin/eolian_cxx/convert.cc
+++ b/src/bin/eolian_cxx/convert.cc
@@ -142,6 +142,7 @@ _convert_property_set_to_function(Eolian_Class const& klass,
142 { 142 {
143 efl::eolian::eo_function::regular_, 143 efl::eolian::eo_function::regular_,
144 function_scope(prop_), 144 function_scope(prop_),
145 function_is_beta(prop_),
145 function_name(prop_) + "_set", 146 function_name(prop_) + "_set",
146 function_impl(prop_) + "_set", 147 function_impl(prop_) + "_set",
147 function_return_type(prop_, eolian_cxx::setter), 148 function_return_type(prop_, eolian_cxx::setter),
@@ -170,6 +171,7 @@ _convert_property_get_to_function(Eolian_Class const& klass,
170 { 171 {
171 efl::eolian::eo_function::regular_, 172 efl::eolian::eo_function::regular_,
172 function_scope(prop_), 173 function_scope(prop_),
174 function_is_beta(prop_),
173 function_name(prop_) + "_get", 175 function_name(prop_) + "_get",
174 function_impl(prop_) + "_get", 176 function_impl(prop_) + "_get",
175 function_return_type(prop_, eolian_cxx::getter), 177 function_return_type(prop_, eolian_cxx::getter),
@@ -218,6 +220,7 @@ _convert_function(Eolian_Class const& klass, Eolian_Function const& func)
218 return { 220 return {
219 function_type(func), 221 function_type(func),
220 function_scope(func), 222 function_scope(func),
223 function_is_beta(func),
221 function_name(func), 224 function_name(func),
222 function_impl(func), 225 function_impl(func),
223 function_return_type(func), 226 function_return_type(func),
diff --git a/src/bin/eolian_cxx/eolian_wrappers.hh b/src/bin/eolian_cxx/eolian_wrappers.hh
index 5b6579ed34..0dd9890d68 100644
--- a/src/bin/eolian_cxx/eolian_wrappers.hh
+++ b/src/bin/eolian_cxx/eolian_wrappers.hh
@@ -204,6 +204,12 @@ function_is_constructor(Eolian_Class const& cls, Eolian_Function const& func)
204 return ::eolian_function_is_constructor(&func, &cls); 204 return ::eolian_function_is_constructor(&func, &cls);
205} 205}
206 206
207inline bool
208function_is_beta(Eolian_Function const& func)
209{
210 return ::eolian_function_is_beta(&func);
211}
212
207inline efl::eolian::eolian_scope 213inline efl::eolian::eolian_scope
208function_scope(Eolian_Function const& func) 214function_scope(Eolian_Function const& func)
209{ 215{
@@ -403,6 +409,7 @@ event_create(Eolian_Class const& klass, const Eolian_Event *event_)
403 std::transform(name_.begin(), name_.end(), name_.begin(), 409 std::transform(name_.begin(), name_.end(), name_.begin(),
404 [](int c) { return c != ',' ? c : '_'; }); 410 [](int c) { return c != ',' ? c : '_'; });
405 event.scope = eolian_scope_cxx(::eolian_event_scope_get(event_)); 411 event.scope = eolian_scope_cxx(::eolian_event_scope_get(event_));
412 event.is_beta = (::eolian_event_is_beta(event_) != EINA_FALSE);
406 event.name = normalize_spaces(name_); 413 event.name = normalize_spaces(name_);
407 event.eo_name = safe_upper 414 event.eo_name = safe_upper
408 (find_replace(class_full_name(klass), ".", "_") + "_EVENT_" + event.name); 415 (find_replace(class_full_name(klass), ".", "_") + "_EVENT_" + event.name);