elementary/elm_widget - patched by hyoyoung.chang@samsung.com
authorhermet <hermet@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 4 Aug 2011 17:10:17 +0000 (17:10 +0000)
committerhermet <hermet@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 4 Aug 2011 17:10:17 +0000 (17:10 +0000)
[E-devel] [patch] elm_widget - elm_widget_type_unregister

Dear developers.

This patch is adding a api to elm_widget.
In elm_widget, there is an api to register widget type to elementary's own
list.
However it doesn't provide unregister api.
So I made this patch.

Most of case, it's not needed. But in some case, it's useful.
(such as elm objects in DSO, if a DSO unloaded, registered widtype is
invalidated)

Thank you

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/elementary@62099 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/elm_widget.c
src/lib/elm_widget.h

index b5edcad..ecdf0f2 100644 (file)
@@ -411,6 +411,18 @@ elm_widget_type_register(const char **ptr)
    widtypes = eina_list_append(widtypes, (void *)ptr);
 }
 
+/**
+ * @defgroup Widget Widget
+ *
+ * @internal
+ * Disposed api for making widgets
+ */
+EAPI void
+elm_widget_type_unregister(const char **ptr)
+{
+   widtypes = eina_list_remove(widtypes, (void *)ptr);
+}
+
 EAPI Eina_Bool
 elm_widget_api_check(int ver)
 {
index 79707ed..2165e1d 100644 (file)
@@ -335,6 +335,7 @@ EAPI int              elm_widget_drag_child_locked_x_get(const Evas_Object *obj)
 EAPI int              elm_widget_drag_child_locked_y_get(const Evas_Object *obj);
 EAPI Eina_Bool        elm_widget_theme_object_set(Evas_Object *obj, Evas_Object *edj, const char *wname, const char *welement, const char *wstyle);
 EAPI void             elm_widget_type_register(const char **ptr);
+EAPI void             elm_widget_type_unregister(const char **ptr);
 EAPI Eina_Bool        elm_widget_type_check(const Evas_Object *obj, const char *type);
 EAPI Eina_List       *elm_widget_stringlist_get(const char *str);
 EAPI void             elm_widget_stringlist_free(Eina_List *list);