From: Doyoun Kang Date: Tue, 11 Feb 2020 11:24:44 +0000 (+0900) Subject: e_appinfo/e_policy_appinfo: add getting appid API X-Git-Tag: submit/tizen/20200214.070252~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7c32fa7faedf9474e5e0285b7cc4a02d1c276005;p=platform%2Fupstream%2Fenlightenment.git e_appinfo/e_policy_appinfo: add getting appid API - e_appinfo_appid_get / e_policy_appinfo_appid_get - usage: E_Appinfo *appinfo; appinfo = e_appinfo_find_with_pid(ec->netwm.pid); Eina_Stringshare *appid = e_appinfo_appid_get(appinfo); if (!appid) return; // use appid (const char*) eina_stringshare_del(appid); Change-Id: I8386ecc3ec51786e07f8e4c88baf20455f96e41d --- diff --git a/src/bin/e.h b/src/bin/e.h index 8b012b4c56..1c16803385 100644 --- a/src/bin/e.h +++ b/src/bin/e.h @@ -406,6 +406,7 @@ extern E_API Eina_Bool stopping; #ifndef USE_E_APPINFO #define e_policy_appinfo_find_with_pid e_appinfo_find_with_pid #define e_policy_appinfo_base_output_resolution_set e_appinfo_base_output_resolution_set + #define e_policy_appinfo_appid_get e_appinfo_appid_get #define E_Policy_Appinfo E_Appinfo #endif diff --git a/src/bin/e_appinfo.c b/src/bin/e_appinfo.c index 1639d7b01a..00086f1ef5 100644 --- a/src/bin/e_appinfo.c +++ b/src/bin/e_appinfo.c @@ -207,6 +207,17 @@ e_appinfo_base_output_resolution_set(E_Appinfo *eai, int width, int height) return EINA_TRUE; } +E_API Eina_Stringshare * +e_appinfo_appid_get(E_Appinfo *eai) +{ + /* + MUST call eina_stringshare_del after using appid. + if not, you make memory leak. + */ + EINA_SAFETY_ON_NULL_RETURN_VAL(eai, NULL); + return eina_stringshare_add(eai->appid); +} + E_API E_Appinfo_Hook * e_appinfo_hook_add(E_Appinfo_Hook_Point hookpoint, E_Appinfo_Hook_Cb cb, const void *data) { diff --git a/src/bin/e_appinfo.h b/src/bin/e_appinfo.h index e85292947c..b012a8c2e7 100644 --- a/src/bin/e_appinfo.h +++ b/src/bin/e_appinfo.h @@ -34,6 +34,8 @@ EINTERN Eina_Bool e_appinfo_base_output_resolution_get(E_Appinfo *eai E_API E_Appinfo *e_appinfo_find_with_pid(pid_t pid); E_API E_Appinfo *e_appinfo_find_with_appid(const char *appid); E_API Eina_Bool e_appinfo_base_output_resolution_set(E_Appinfo *eai, int width, int height); +E_API Eina_Stringshare *e_appinfo_appid_get(E_Appinfo *eai); + E_API E_Appinfo_Hook *e_appinfo_hook_add(E_Appinfo_Hook_Point point, E_Appinfo_Hook_Cb cb, const void *data); E_API void e_appinfo_hook_del(E_Appinfo_Hook *hook);