From 1ee08106585dd6c0ae335f8828f872ee128418ad Mon Sep 17 00:00:00 2001 From: Hyunho Kang Date: Mon, 14 Nov 2016 14:02:54 +0900 Subject: [PATCH] Add aul_rsm_viewer_unset_surface_handler function Change-Id: I39c86de77ded873c879f07887ce1f5f39145bdab Signed-off-by: Hyunho Kang --- include/aul_rsm_viewer.h | 1 + src/aul_rsm.c | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/include/aul_rsm_viewer.h b/include/aul_rsm_viewer.h index bbaa549..6aa6c8a 100644 --- a/include/aul_rsm_viewer.h +++ b/include/aul_rsm_viewer.h @@ -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); diff --git a/src/aul_rsm.c b/src/aul_rsm.c index c71262d..e876e90 100644 --- a/src/aul_rsm.c +++ b/src/aul_rsm.c @@ -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; -- 2.7.4