yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=11f03d85b1ae38eb2e7757c7d6279360a9a5816f

commit 11f03d85b1ae38eb2e7757c7d6279360a9a5816f
Author: Yakov Goldberg <yako...@samsung.com>
Date:   Sun Nov 15 11:29:50 2015 +0200

    Remove unused code: applying default values
    
    Now all default values are defined in factory's json
---
 data/config/func_names.json | 131 ------------------------------
 src/lib/database.c          | 191 +-------------------------------------------
 src/lib/database.h          |   4 -
 3 files changed, 1 insertion(+), 325 deletions(-)

diff --git a/data/config/func_names.json b/data/config/func_names.json
index c0fec19..a7b3655 100644
--- a/data/config/func_names.json
+++ b/data/config/func_names.json
@@ -1,135 +1,4 @@
 {
-   "DEFAULTS":
-      {
-        "Elm.Win":
-          {
-             "Elm.Win.type":["ELM_WIN_BASIC"],
-             "Efl.Gfx.Base.size":[150, 100]
-          },
-        "Elm.Button":
-          {
-             "Elm.Widget.part_text":[null, "Button"],
-             "Efl.Gfx.Base.size":[73, 30]
-          },
-        "Elm.Box":
-          {
-             "Evas.Object.size_hint_align":[-1.0, -1.0]
-          },
-        "Elm.Label":
-          {
-             "Elm.Widget.part_text":[null, "Label"],
-             "Efl.Gfx.Base.size":[60, 30]
-          },
-        "Elm.Check":
-          {
-             "Elm.Widget.part_text":[null, "Check"],
-             "Efl.Gfx.Base.size":[60, 30]
-          },
-        "Elm.Radio":
-          {
-             "Elm.Widget.part_text":[null, "Radio"],
-             "Efl.Gfx.Base.size":[60, 30]
-          },
-        "Elm.Icon":
-          {
-          },
-        "Elm.Image":
-          {
-             "Efl.Gfx.Base.size":[40, 40]
-          },
-        "Elm.Actionslider":
-          {
-             "Elm.Widget.part_text":[null, "ActionSlider"],
-             "Efl.Gfx.Base.size":[60, 30]
-          },
-        "Elm.Clock":
-          {
-             "Efl.Gfx.Base.size":[40, 40]
-          },
-        "Elm.Dayselector":
-          {
-             "Efl.Gfx.Base.size":[60, 45]
-          },
-        "Elm.Calendar":
-          {
-             "Efl.Gfx.Base.size":[60, 45]
-          },
-        "Elm.Bubble":
-          {
-             "Efl.Gfx.Base.size":[60, 45]
-          },
-        "Elm.Colorselector":
-          {
-             "Efl.Gfx.Base.size":[60, 45]
-          },
-        "Elm.Entry":
-          {
-             "Elm.Widget.part_text":[null, "Entry"],
-             "Elm.Entry.scrollable":[true],
-             "Efl.Gfx.Base.size":[60, 30]
-          },
-        "Elm.Flip":
-          {
-             "Efl.Gfx.Base.size":[60, 30]
-          },
-        "Elm.Genlist":
-          {
-             "Efl.Gfx.Base.size":[70, 60]
-          },
-        "Elm.Gengrid":
-          {
-             "Efl.Gfx.Base.size":[70, 60]
-          },
-        "Elm.Table":
-          {
-             "Efl.Gfx.Base.size":[70, 60]
-          },
-        "Elm.Menu":
-          {
-             "Efl.Gfx.Base.size":[60, 30]
-          },
-        "Elm.Diskselector":
-          {
-             "Efl.Gfx.Base.size":[60, 50]
-          },
-        "Elm.Ctxpopup":
-          {
-             "Efl.Gfx.Base.size":[60, 40]
-          },
-        "Elm.Toolbar":
-          {
-             "Efl.Gfx.Base.size":[60, 30]
-          },
-        "Elm.Naviframe":
-          {
-             "Efl.Gfx.Base.size":[70, 60]
-          },
-        "Elm.Frame":
-          {
-             "Efl.Gfx.Base.size":[70, 60]
-          },
-        "Evas.Object":
-          {
-             "Evas.Object.size_hint_weight":[1.0, 1.0],
-             "Efl.Gfx.Base.visible":[true]
-          },
-        "Evas.Image":
-          {
-             "Efl.Gfx.Base.size":[40, 40]
-          },
-        "Elm.Fileselector":
-          {
-             "Efl.Gfx.Base.size":[200, 200]
-          },
-        "Elm.Fileselector_Entry":
-          {
-             "Efl.Gfx.Base.size":[100, 22]
-          },
-        "Elm.Separator":
-          {
-             "Efl.Gfx.Base.size":[4, 100]
-          }
-      },
    "OPERATIONS" :
       [
         {
diff --git a/src/lib/database.c b/src/lib/database.c
index 6dee252..6e8b80e 100644
--- a/src/lib/database.c
+++ b/src/lib/database.c
@@ -96,7 +96,6 @@ static Eina_Hash *cl_table = NULL; /* ["elm_win"] -> 
[Class_Prop] */
 static Eina_Hash *enum_table = NULL; /* ["ENUM_NAME"]->[{1}] */
 static Eina_Hash *enum_types_table = NULL; /* 
["Elm_Win_Type"]->[ELM_WIN_BASIC, ELM_WIN_DIALOG_BASIC, ..] */
 static Eina_Hash *container_table = NULL; /* Hash ["Elm_Box"]-> struct 
describing container */
-static Eina_Hash *def_props_table = NULL; /* Holds lists of default props 
values per class */
 
 static char *gui_type_names[] =
 {
@@ -606,93 +605,6 @@ _cl_table_init()
    eina_iterator_free(all_classes_list);
 }
 
-static void
-_json_arr_to_def_prop_values(Eina_Json_Value *jv, Gui_Widget_Property *prop)
-{
-   Eina_Json_Type type;
-   Eina_Json_Value *v;
-   Eina_Iterator *it = NULL;
-
-   if (eina_json_type_get(jv) != EINA_JSON_TYPE_ARRAY)
-     ERR("Json Value is not array");
-
-   it = eina_json_array_iterator_new(jv);
-
-   int i = 0;
-   EINA_ITERATOR_FOREACH(it, v)
-     {
-        Gui_Value *g_val = prop_value_nth_get(prop, i);
-        Gui_Type g_type;
-
-        type = eina_json_type_get(v);
-        if (!g_val)
-          {
-             ERR("Cannot create gui_value. Terminating...");
-             exit(1);
-          }
-        g_type = gui_value_type_get(g_val);
-        switch (type)
-          {
-           case EINA_JSON_TYPE_NUMBER:
-                {
-                   double d = eina_json_number_get(v);
-                   if (g_type == GUI_TYPE_SINT)
-                     {
-                        gui_value_int_set(g_val, (int) d);
-                     }
-                   else if (g_type == GUI_TYPE_DOUBLE)
-                     {
-                        gui_value_double_set(g_val, d);
-                     }
-                   break;
-                }
-           case EINA_JSON_TYPE_STRING:
-                {
-                   const char *str = eina_json_string_get(v);
-                   if (g_type == GUI_TYPE_STRING)
-                     {
-                        gui_value_string_set(g_val, str);
-                     }
-                   else if (g_type == GUI_TYPE_ENUM)
-                     {
-                        gui_value_enum_set(g_val, str);
-                     }
-                   break;
-                }
-           case EINA_JSON_TYPE_BOOLEAN:
-                {
-                   Eina_Bool b = eina_json_boolean_get(v);
-                   if (g_type == GUI_TYPE_BOOL)
-                     {
-                        gui_value_bool_set(g_val, b);
-                     }
-                   break;
-                }
-           case EINA_JSON_TYPE_NULL:
-                {
-                   gui_value_int_set(g_val, 0);
-                   gui_value_type_set(g_val, g_type);
-                   break;
-                }
-           default:
-                {
-                   ERR("default case");
-                }
-          }
-        i++;
-     }
-   eina_iterator_free(it);
-}
-
-static void
-_def_props_del(void *data)
-{
-   Eina_List *l = data;
-   Gui_Widget_Property *prop;
-   EINA_LIST_FREE(l, prop)
-     prop_unref(prop);
-}
-
 /* Helper for db_init()
  * takes data as char*,
  * return Eina_Json_Value*
@@ -910,98 +822,6 @@ _op_settings_shutdown()
      }
 }
 
-static Eina_Bool
-_default_settings_init(const char *db_path)
-{
-   Eina_Json_Value *jv, *tmp = NULL;
-
-   /* Get JSON object from DB by path. */
-   jv = _db_json_object_get(db_path);
-   if (!jv) return EINA_FALSE;
-
-   tmp = EINA_JSON_OBJECT_VALUE_GET(jv, "DEFAULTS");
-   if (!tmp || (eina_json_type_get(tmp) != EINA_JSON_TYPE_OBJECT))
-     {
-        ERR("\"DEFAULTS\" section is absent or is not a json object!");
-        return EINA_FALSE;
-     }
-
-   def_props_table = eina_hash_string_superfast_new(_def_props_del);
-
-   Eina_Json_Value *defwdg = NULL;
-
-   Eina_Iterator *it = eina_json_object_iterator_new(tmp);
-   EINA_ITERATOR_FOREACH(it, defwdg)
-     {
-        const char *wdgname = eina_json_pair_name_get(defwdg);
-        Eina_Json_Value *defprops = eina_json_pair_value_get(defwdg);
-        Eina_Iterator *props = eina_json_object_iterator_new(defprops);
-        Eina_Json_Value *jprop = NULL;
-        Eina_List *proplist = NULL;
-        EINA_ITERATOR_FOREACH(props, jprop)
-          {
-             const char *prop_name =  eina_json_pair_name_get(jprop);
-             Eina_Json_Value *propvals = eina_json_pair_value_get(jprop);
-
-             const char *prop_class_name = NULL;
-             char *prop_name_tmp = strdup(prop_name);
-
-             char *pchr = strrchr(prop_name_tmp, '.');
-
-             if (pchr)
-               {
-                  *pchr = '\0';
-                  prop_name = pchr + 1;
-                  prop_class_name = prop_name_tmp;
-               }
-             else
-               {
-                  prop_name = prop_name_tmp;
-               }
-
-             Op_Desc *op = db_mro_op_desc_get(wdgname, prop_class_name, 
prop_name);
-             if (!op)
-               {
-                  ERR("Cannot find op description: \"%s\" for class: \"%s\"\n"
-                      "Setting default property will not take effect.", 
prop_name, wdgname);
-                  goto cont;
-               }
-
-             unsigned int db_param_count = 0, json_arr_param_count = 0;
-             db_param_count = db_op_desc_param_number_get(op);
-             json_arr_param_count = eina_json_array_count_get(propvals);
-             if (db_param_count != json_arr_param_count)
-               {
-                  ERR("Setting default property value error!\
-                       Widget: \"%s\", property: \"%s\". Param count: %d, 
should be: %d.",
-                       wdgname, prop_name, json_arr_param_count, 
db_param_count);
-                  goto cont;
-               }
-
-             Gui_Widget_Property *defprop = prop_create_for_op(op);
-             _json_arr_to_def_prop_values(propvals, defprop);
-             prop_ref(defprop);
-             proplist = eina_list_append(proplist, defprop);
-
-cont:
-             free(prop_name_tmp);
-          }
-        eina_hash_set(def_props_table, wdgname, proplist);
-
-        eina_iterator_free(props);
-     }
-   eina_iterator_free(it);
-
-   eina_json_value_free(jv);
-   return EINA_TRUE;
-}
-
-static void
-_default_settings_shutdown()
-{
-   eina_hash_free(def_props_table);
-}
-
 typedef struct
 {
    Eina_Stringshare *cl_name;
@@ -1383,18 +1203,10 @@ db_init(const char *db_path, const char *all_eo_path, 
const char *black_list)
    eina_iterator_free(all_classes_list);
 
    eina_hash_free(typedef_table);
-   /* Init default settings */
-   if (!_default_settings_init(db_path)) return EINA_FALSE;
 
    return EINA_TRUE;
 }
 
-const Eina_List*
-db_default_prop_values_get(const char* wdgname)
-{
-   return eina_hash_find(def_props_table, wdgname);
-}
-
 Eina_Bool
 db_shutdown()
 {
@@ -1410,12 +1222,11 @@ db_shutdown()
    op_id_op_desc_table = NULL;
 #endif
    eina_hash_free(container_table);
-   _default_settings_shutdown();
 
    _black_list_shutdown();
    _op_settings_shutdown();
 
-   cl_table = enum_table = enum_types_table = container_table = 
def_props_table = NULL;
+   cl_table = enum_table = enum_types_table = container_table = NULL;
 
    eina_log_domain_unregister(_db_log_dom);
    _db_log_dom = -1;
diff --git a/src/lib/database.h b/src/lib/database.h
index 74e45d9..88baebc 100644
--- a/src/lib/database.h
+++ b/src/lib/database.h
@@ -286,10 +286,6 @@ db_container_desc_get(const char *class_name);
 const Op_Desc*
 db_container_desc_op_desc_get(const Container_Desc *container_desc, 
Container_Behavior_Type op_behavior);
 
-/* Get default properties for a class */
-const Eina_List*
-db_default_prop_values_get(const char* wdgname);
-
 Eolian_Function_Type
 db_op_desc_type_get(const Op_Desc *op_desc);
 

-- 


Reply via email to