diff options
author | Hyunho Kang <hhstark.kang@samsung.com> | 2016-11-14 14:02:54 +0900 |
---|---|---|
committer | Hyunho Kang <hhstark.kang@samsung.com> | 2016-11-14 14:05:05 +0900 |
commit | 1ee08106585dd6c0ae335f8828f872ee128418ad (patch) | |
tree | 564ada9cf9ebd1acf3891459cab5c21406793410 | |
parent | 527e629ac677440e8eb39fee451d92fe59935470 (diff) | |
download | aul-1-1ee08106585dd6c0ae335f8828f872ee128418ad.tar.gz aul-1-1ee08106585dd6c0ae335f8828f872ee128418ad.tar.bz2 aul-1-1ee08106585dd6c0ae335f8828f872ee128418ad.zip |
Add aul_rsm_viewer_unset_surface_handler functionsubmit/tizen_3.0/20161115.024443accepted/tizen/3.0/wearable/20161116.022229accepted/tizen/3.0/tv/20161116.022148accepted/tizen/3.0/mobile/20161116.022109accepted/tizen/3.0/ivi/20161116.022304accepted/tizen/3.0/common/20161116.143657
Change-Id: I39c86de77ded873c879f07887ce1f5f39145bdab
Signed-off-by: Hyunho Kang <hhstark.kang@samsung.com>
-rw-r--r-- | include/aul_rsm_viewer.h | 1 | ||||
-rw-r--r-- | src/aul_rsm.c | 25 |
2 files changed, 26 insertions, 0 deletions
diff --git a/include/aul_rsm_viewer.h b/include/aul_rsm_viewer.h index bbaa549a..6aa6c8a4 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 c71262d3..e876e905 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; |