diff options
author | Cedric BAIL <cedric@osg.samsung.com> | 2016-06-16 16:39:36 -0700 |
---|---|---|
committer | Cedric BAIL <cedric@osg.samsung.com> | 2016-06-22 14:39:33 -0700 |
commit | 3981d996692d50bb811d637b1e823df821e4c0c1 (patch) | |
tree | 374f7fdc4f278ffd1e47962264ebfc189cbb3228 | |
parent | f3e103a9831e33d48a05e007c8cdddc2c741f013 (diff) | |
download | efl-3981d996692d50bb811d637b1e823df821e4c0c1.tar.gz |
ecore: handle default mapper.
-rw-r--r-- | src/lib/ecore/ecore_private.h | 3 | ||||
-rw-r--r-- | src/lib/ecore/efl_uri_manager.c | 20 | ||||
-rw-r--r-- | src/lib/ecore/efl_uri_manager.eo | 1 |
3 files changed, 24 insertions, 0 deletions
diff --git a/src/lib/ecore/ecore_private.h b/src/lib/ecore/ecore_private.h index 05786279cf..92cd668e85 100644 --- a/src/lib/ecore/ecore_private.h +++ b/src/lib/ecore/ecore_private.h @@ -151,6 +151,9 @@ EAPI void _ecore_magic_fail(const void *d, const char *fname); EAPI void ecore_loop_arguments_send(int argc, const char **argv); + +EAPI void efl_uri_manager_default_set(Efl_Uri_Manager *obj, Efl_Uri_Mapper *def); + void _ecore_time_init(void); void *_efl_loop_timer_del(Ecore_Timer *timer); diff --git a/src/lib/ecore/efl_uri_manager.c b/src/lib/ecore/efl_uri_manager.c index f2f37ed91b..09f03494fb 100644 --- a/src/lib/ecore/efl_uri_manager.c +++ b/src/lib/ecore/efl_uri_manager.c @@ -329,6 +329,26 @@ _efl_uri_manager_eo_base_constructor(Eo *obj, Efl_Uri_Manager_Data *pd) return obj; } +static void +_efl_uri_manager_eo_base_destructor(Eo *obj EINA_UNUSED, Efl_Uri_Manager_Data *pd) +{ + eo_destructor(eo_super(obj, EFL_URI_MANAGER_CLASS)); + + eina_hash_free(pd->mappers); + eo_wref_del(pd->def, &pd->def); +} + +EAPI void +efl_uri_manager_default_set(Efl_Uri_Manager *obj, Efl_Uri_Mapper *def) +{ + Efl_Uri_Manager_Data *pd; + + pd = obj ? eo_data_scope_get(obj, EFL_URI_MANAGER_CLASS) : NULL; + if (!pd) return ; + + eo_wref_add(def, &pd->def); +} + #include "efl_uri_manager.eo.c" #include "efl_uri_mapper.eo.c" diff --git a/src/lib/ecore/efl_uri_manager.eo b/src/lib/ecore/efl_uri_manager.eo index 39fcc43d6a..fa0760bed9 100644 --- a/src/lib/ecore/efl_uri_manager.eo +++ b/src/lib/ecore/efl_uri_manager.eo @@ -63,5 +63,6 @@ class Efl.Uri.Manager (Efl.Loop_User) } implements { Eo.Base.constructor; + Eo.Base.destructor; } } |