From 4e06031b9c428ba3360ef4a5c1929d23b3ef65ae Mon Sep 17 00:00:00 2001 From: Cedric BAIL Date: Mon, 14 Mar 2016 16:25:18 -0700 Subject: web: provide a direct access to the configured web engine class. --- src/lib/elm_web.h | 6 ++++++ src/lib/elm_web2.c | 13 ++++++++++++- src/modules/web/none/elm_web_none.c | 3 +++ src/modules/web/webkit2/elm_web_webkit2.c | 3 +++ 4 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/lib/elm_web.h b/src/lib/elm_web.h index a64001a1e..07afb92ff 100644 --- a/src/lib/elm_web.h +++ b/src/lib/elm_web.h @@ -95,6 +95,12 @@ #include "elm_web_common.h" #ifdef EFL_EO_API_SUPPORT #include "elm_web_eo.h" + +#undef ELM_WEB_CLASS +#define ELM_WEB_CLASS elm_web_real_class_get() + +EAPI const Eo_Class *elm_web_real_class_get(void); + #endif #ifndef EFL_NOLEGACY_API_SUPPORT #include "elm_web_legacy.h" diff --git a/src/lib/elm_web2.c b/src/lib/elm_web2.c index 3f6e59831..89db9d596 100644 --- a/src/lib/elm_web2.c +++ b/src/lib/elm_web2.c @@ -9,7 +9,7 @@ #include "elm_priv.h" #include "elm_widget_web.h" -#define MY_CLASS ELM_WEB_CLASS +#define MY_CLASS elm_web_class_get() #define MY_CLASS_NAME "Elm_Web" #define MY_CLASS_NAME_LEGACY "elm_web" @@ -81,6 +81,14 @@ elm_web_add(Evas_Object *parent) return eo_add(ewm.class_get(), parent); } +EAPI const Eo_Class * +elm_web_real_class_get(void) +{ + if (!ewm.class_get) return NULL; + + return ewm.class_get(); +} + EOLIAN static Eo * _elm_web_eo_base_constructor(Eo *obj, Elm_Web_Data *sd) { @@ -213,4 +221,7 @@ _elm_web_init(const char *engine) return EINA_TRUE; } +#undef ELM_WEB_CLASS +#define ELM_WEB_CLASS elm_web_class_get() + #include "elm_web.eo.c" diff --git a/src/modules/web/none/elm_web_none.c b/src/modules/web/none/elm_web_none.c index 74959eb36..e98cfe877 100644 --- a/src/modules/web/none/elm_web_none.c +++ b/src/modules/web/none/elm_web_none.c @@ -353,4 +353,7 @@ ewm_class_get(void) return elm_web_none_class_get(); } +#undef ELM_WEB_CLASS +#define ELM_WEB_CLASS elm_web_class_get() + #include "elm_web_none.eo.c" diff --git a/src/modules/web/webkit2/elm_web_webkit2.c b/src/modules/web/webkit2/elm_web_webkit2.c index 43478440a..3c898343f 100644 --- a/src/modules/web/webkit2/elm_web_webkit2.c +++ b/src/modules/web/webkit2/elm_web_webkit2.c @@ -1151,4 +1151,7 @@ ewm_class_get(void) return elm_web_webkit2_class_get(); } +#undef ELM_WEB_CLASS +#define ELM_WEB_CLASS elm_web_class_get() + #include "elm_web_webkit2.eo.c" -- cgit v1.2.1