efl_mono: disable focus manager on csharp 89/208089/10
authorYeongjong Lee <yj34.lee@samsung.com>
Fri, 14 Jun 2019 01:20:54 +0000 (10:20 +0900)
committerYeongjong Lee <yj34.lee@samsung.com>
Wed, 27 Nov 2019 08:17:13 +0000 (17:17 +0900)
@tizne_fix

Change-Id: Ifc6df8586ff55c88b897843354ef78f411c07baf

src/bin/eolian_mono/eolian/mono/blacklist.hh
src/bin/eolian_mono/eolian/mono/helpers.hh
src/bin/eolian_mono/eolian/mono/klass.hh
src/bindings/mono/meson.build

index 07c365f..ecc1d3c 100644 (file)
@@ -70,6 +70,9 @@ inline bool is_function_blacklisted(std::string const& c_name)
     || c_name == "efl_access_object_event_handler_add"
     || c_name == "efl_access_object_event_handler_del"
     || c_name == "efl_access_object_event_emit"
+//TIZEN_ONLY: disable focus manager on csharp
+    || c_name == "efl_ui_widget_focus_state_apply"
+//
     ;
 }
 
@@ -110,7 +113,11 @@ inline bool is_struct_blacklisted(std::string const& full_name)
        || full_name == "Eina.Promise"
        || full_name == "Eina.Value"
        || full_name == "Eina.Value_Type"
-       || full_name == "Eina.Future";
+       || full_name == "Eina.Future"
+//TIZEN_ONLY: disable focus manager on csharp
+       || full_name == "Efl.Ui.Widget_Focus_State"
+//
+       ;
 }
 
 template <typename Context>
@@ -177,20 +184,53 @@ inline bool is_property_blacklisted(attributes::property_def const& property,
    return is_property_blacklisted(property, context);
 }
 
+//TIZEN_ONLY: disable focus manager on csharp
+inline bool is_class_blacklisted(std::string const& cs_name)
+{
+  return cs_name == "Efl.Ui.Focus.IObject"
+      || cs_name == "Efl.Ui.Focus.IManager"
+      || cs_name == "Efl.Ui.Focus.ManagerCalc"
+      || cs_name == "Efl.Ui.Focus.IManagerSub"
+      || cs_name == "Efl.Ui.Focus.ManagerRootFocus"
+      || cs_name == "Efl.Ui.Focus.ILayer"
+      || cs_name == "Efl.Ui.Focus.IComposition"
+      || cs_name == "Efl.Ui.Focus.Util"
+      || cs_name == "Efl.Ui.Focus.IManagerWindowRoot"
+      || cs_name == "Efl.Ui.IWidgetFocusManager"
+      ;
+}
+//
+
 template<typename Context>
 inline bool is_class_blacklisted(attributes::klass_def const& cls, Context const& context)
 {
    auto options = efl::eolian::grammar::context_find_tag<options_context>(context);
+   //return cls.is_beta && !options.want_beta;
+
+//TIZEN_ONLY: disable focus manager on csharp
+   auto name = name_helpers::klass_full_concrete_or_interface_name(cls);
+
+   if (cls.is_beta && !options.want_beta)
+     return true;
 
-   return cls.is_beta && !options.want_beta;
+   return is_class_blacklisted(name);
+//
 }
 
 template<typename Context>
 inline bool is_class_blacklisted(attributes::klass_name const& cls, Context const& context)
 {
    auto options = efl::eolian::grammar::context_find_tag<options_context>(context);
+   //return cls.is_beta && !options.want_beta;
+
+//TIZEN_ONLY: disable focus manager on csharp
+   auto name = name_helpers::klass_full_concrete_or_interface_name(cls);
+
+   if (cls.is_beta && !options.want_beta)
+     return true;
 
-   return cls.is_beta && !options.want_beta;
+   return is_class_blacklisted(name);
+//
 }
 
 
index b34a985..7d51fd9 100644 (file)
@@ -94,6 +94,10 @@ std::set<attributes::klass_name, attributes::compare_klass_name_by_name> interfa
           attributes::klass_def c(get_klass(klass, cls.unit), cls.unit);
           for(auto&& inherit : c.immediate_inherits)
             {
+//TIZEN_ONLY: disable focus manager on csharp
+               if (blacklist::is_class_blacklisted(name_helpers::klass_full_concrete_or_interface_name(inherit)))
+                 continue;
+//
                switch(inherit.type)
                  {
                  case attributes::class_type::mixin:
@@ -134,7 +138,10 @@ std::set<attributes::klass_name, attributes::compare_klass_name_by_name> non_imp
             {
                if (inherit.is_beta && !options.want_beta)
                    continue;
-
+//TIZEN_ONLY: disable focus manager on csharp
+               if (blacklist::is_class_blacklisted(name_helpers::klass_full_concrete_or_interface_name(inherit)))
+                 continue;
+//
                switch(inherit.type)
                  {
                  case attributes::class_type::mixin:
@@ -216,6 +223,10 @@ std::vector<attributes::function_def> get_all_implementable_methods(attributes::
            attributes::klass_def c(get_klass(klass, cls.unit), cls.unit);
            for (auto&& inherit: c.immediate_inherits)
              {
+//TIZEN_ONLY: disable focus manager on csharp
+                if (blacklist::is_class_blacklisted(name_helpers::klass_full_concrete_or_interface_name(inherit)))
+                  continue;
+//
                 switch(inherit.type)
                   {
                   case attributes::class_type::mixin:
index 653acc7..fdc3a11 100644 (file)
@@ -131,6 +131,10 @@ struct klass
             if (!context_find_tag<options_context>(iface_cxt).want_beta && first->is_beta)
               continue;
 
+//TIZEN_ONLY: disable focus manager on csharp
+            if (blacklist::is_class_blacklisted(name_helpers::klass_full_concrete_or_interface_name(*first)))
+              continue;
+//
             if(first->type != attributes::class_type::regular && first->type != attributes::class_type::abstract_)
               if(!as_generator("\n" << scope_tab << string << ",").generate(sink, name_helpers::klass_full_interface_name(*first), iface_cxt))
                 return false;
index 86cef4d..7165a77 100644 (file)
@@ -63,7 +63,20 @@ blacklisted_files = [
   'elm_general.eot',
   'efl_thread.eo',
   'efl_threadio.eo',
-  'efl_appthread.eo'
+  'efl_appthread.eo',
+# TIZEN_ONLY: disable focus manager on csharp
+  'efl_ui_focus_manager.eo',
+  'efl_ui_focus_manager_calc.eo',
+  'efl_ui_focus_manager_sub.eo',
+  'efl_ui_focus_manager_root_focus.eo',
+  'efl_ui_focus_object.eo',
+  'efl_ui_focus_layer.eo',
+  'efl_ui_focus_composition.eo',
+  'efl_ui_focus_util.eo',
+  'efl_ui_focus_manager_window_root.eo',
+  'efl_ui_widget_focus_manager.eo',
+  'efl_ui_collection_view_focus_manager.eo',
+#
 ]
 
 manual_inheritance_files = [