Add aul_rsm_viewer_unset_surface_handler function 82/97382/1 accepted/tizen/3.0/common/20161116.143657 accepted/tizen/3.0/ivi/20161116.022304 accepted/tizen/3.0/mobile/20161116.022109 accepted/tizen/3.0/tv/20161116.022148 accepted/tizen/3.0/wearable/20161116.022229 submit/tizen_3.0/20161115.024443
authorHyunho Kang <hhstark.kang@samsung.com>
Mon, 14 Nov 2016 05:02:54 +0000 (14:02 +0900)
committerHyunho Kang <hhstark.kang@samsung.com>
Mon, 14 Nov 2016 05:05:05 +0000 (14:05 +0900)
Change-Id: I39c86de77ded873c879f07887ce1f5f39145bdab
Signed-off-by: Hyunho Kang <hhstark.kang@samsung.com>
include/aul_rsm_viewer.h
src/aul_rsm.c

index bbaa549..6aa6c8a 100644 (file)
@@ -36,6 +36,7 @@ struct aul_rsm_handler_s {
 typedef struct aul_rsm_handler_s aul_rsm_handler;
 
 int aul_rsm_viewer_set_surface_handler(const char *id, aul_rsm_handler *cbs, void *data);
+int aul_rsm_viewer_unset_surface_handler(const char *id);
 int aul_rsm_viewer_set_surface_handler_by_rid(int resource_id, aul_rsm_handler *cbs, void *data);
 int aul_rsm_viewer_get_surface_rid(const char *id, int *resource_id);
 int aul_rsm_viewer_get_surface_pid(const char *id, int *pid);
index c71262d..e876e90 100644 (file)
@@ -323,6 +323,31 @@ API int aul_rsm_viewer_fini()
        return 0;
 }
 
+API int aul_rsm_viewer_unset_surface_handler(const char *id)
+{
+       struct __surface_s *surface;
+
+       if (!id) {
+               _E("invalid parameter");
+               return -1;
+       }
+
+       if (!__viewer_tbl) {
+               _E("surface table empty");
+               return -1;
+       }
+
+       surface = g_hash_table_lookup(__viewer_tbl, id);
+       if (!surface) {
+               _E("surface not exists");
+               return -1;
+       }
+       g_hash_table_remove(__viewer_tbl, id);
+       free(surface);
+
+       return 0;
+}
+
 API int aul_rsm_viewer_set_surface_handler(const char *id, aul_rsm_handler *cbs, void *data)
 {
        struct __surface_s *surface;