aboutsummaryrefslogtreecommitdiffstats
path: root/src/bin/eolian_mono/eolian/mono/blacklist.hh
diff options
context:
space:
mode:
authorLauro Moura <lauromoura@expertisesolutions.com.br>2018-04-16 16:26:13 -0300
committerLauro Moura <lauromoura@expertisesolutions.com.br>2018-04-26 10:55:18 -0300
commit429d7510b06d3b475b8b924fbf642ef4313f0b26 (patch)
tree298563af635d38381a4258e4b8b85d3a056017e8 /src/bin/eolian_mono/eolian/mono/blacklist.hh
parentefl_mono: Use PascalCase in events (diff)
downloadefl-429d7510b06d3b475b8b924fbf642ef4313f0b26.tar.gz
efl_mono: Reorganize utility functions.
Summary: Blacklist functions are all in the header/namespace blacklist. Helper functions returning strings (names) are in the name_helpers header. They act somewhat like "mini-generators". Helpers.hh was left with other kind of helper functions (checks, etc) that do not return strings. Depends on https://phab.enlightenment.org/D5992 Reviewers: felipealmeida Reviewed By: felipealmeida Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D5993
Diffstat (limited to 'src/bin/eolian_mono/eolian/mono/blacklist.hh')
-rw-r--r--src/bin/eolian_mono/eolian/mono/blacklist.hh80
1 files changed, 80 insertions, 0 deletions
diff --git a/src/bin/eolian_mono/eolian/mono/blacklist.hh b/src/bin/eolian_mono/eolian/mono/blacklist.hh
new file mode 100644
index 0000000000..863d23d9f6
--- /dev/null
+++ b/src/bin/eolian_mono/eolian/mono/blacklist.hh
@@ -0,0 +1,80 @@
+#ifndef EOLIAN_MONO_BLACKLIST_HH
+#define EOLIAN_MONO_BLACKLIST_HH
+
+#include "grammar/klass_def.hpp"
+#include "name_helpers.hh"
+
+namespace eolian_mono {
+
+namespace blacklist {
+
+namespace attributes = efl::eolian::grammar::attributes;
+
+inline bool is_function_blacklisted(std::string const& c_name)
+{
+ return
+ c_name == "efl_event_callback_array_priority_add"
+ || c_name == "efl_player_position_get"
+ || c_name == "efl_text_font_source_get"
+ || c_name == "efl_text_font_source_set"
+ || c_name == "efl_ui_focus_manager_focus_get"
+ || c_name == "efl_ui_widget_focus_set"
+ || c_name == "efl_ui_widget_focus_get"
+ || c_name == "efl_ui_text_password_get"
+ || c_name == "efl_ui_text_password_set"
+ || c_name == "elm_interface_scrollable_repeat_events_get"
+ || c_name == "elm_interface_scrollable_repeat_events_set"
+ || c_name == "elm_wdg_item_del"
+ || c_name == "elm_wdg_item_focus_get"
+ || c_name == "elm_wdg_item_focus_set"
+ || c_name == "elm_interface_scrollable_mirrored_set"
+ || c_name == "evas_obj_table_mirrored_get"
+ || c_name == "evas_obj_table_mirrored_set"
+ || c_name == "edje_obj_load_error_get"
+ || c_name == "efl_ui_focus_user_parent_get"
+ || c_name == "efl_canvas_object_scale_get" // duplicated signature
+ || c_name == "efl_canvas_object_scale_set" // duplicated signature
+ || c_name == "efl_access_parent_get"
+ || c_name == "efl_access_name_get"
+ || c_name == "efl_access_name_set"
+ || c_name == "efl_access_root_get"
+ || c_name == "efl_access_type_get"
+ || c_name == "efl_access_role_get"
+ || c_name == "efl_access_action_description_get"
+ || c_name == "efl_access_action_description_set"
+ || c_name == "efl_access_image_description_get"
+ || c_name == "efl_access_image_description_set"
+ || c_name == "efl_access_component_layer_get" // duplicated signature
+ || c_name == "efl_access_component_alpha_get"
+ || c_name == "efl_access_component_size_get"
+ || c_name == "efl_ui_spin_button_loop_get"
+ || c_name == "efl_ui_list_model_size_get"
+ || c_name == "efl_ui_list_relayout_layout_do"
+ ;
+}
+
+// Blacklist structs that require some kind of manual binding.
+inline bool is_struct_blacklisted(std::string const& full_name)
+{
+ return full_name == "Efl.Event.Description"
+ || full_name == "Eina.Binbuf"
+ || full_name == "Eina.Strbuf"
+ || full_name == "Eina.Slice"
+ || full_name == "Eina.Rw_Slice";
+}
+
+inline bool is_struct_blacklisted(attributes::struct_def const& struct_)
+{
+ return is_struct_blacklisted(name_helpers::struct_full_name(struct_));
+}
+
+inline bool is_struct_blacklisted(attributes::regular_type_def const& struct_)
+{
+ return is_struct_blacklisted(name_helpers::type_full_name(struct_));
+}
+
+}
+
+}
+
+#endif