X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fpkgmgrinfo_basic.c;h=9e94561e9eaaf4dc12b9e788678f62c5cc7d71cd;hb=cc734c7b552b66125a6bcbf77758e5d75a580b28;hp=66091b3cf23c0b5d927dfc9e42e3d9b160fac7dc;hpb=2cb16e8b5927f1b32d5c6eda7c84689dd9de4c86;p=platform%2Fcore%2Fappfw%2Fpkgmgr-info.git diff --git a/src/pkgmgrinfo_basic.c b/src/pkgmgrinfo_basic.c index 66091b3..9e94561 100644 --- a/src/pkgmgrinfo_basic.c +++ b/src/pkgmgrinfo_basic.c @@ -85,22 +85,6 @@ static void __ps_free_compatibility(gpointer data) free((void *)compatibility); } -static void __ps_free_datacontrol(gpointer data) -{ - datacontrol_x *datacontrol = (datacontrol_x *)data; - if (datacontrol == NULL) - return; - if (datacontrol->providerid) - free((void *)datacontrol->providerid); - if (datacontrol->access) - free((void *)datacontrol->access); - if (datacontrol->type) - free((void *)datacontrol->type); - if (datacontrol->trusted) - free((void *)datacontrol->trusted); - free((void *)datacontrol); -} - static void __ps_free_appcontrol(gpointer data) { appcontrol_x *appcontrol = (appcontrol_x *)data; @@ -115,6 +99,8 @@ static void __ps_free_appcontrol(gpointer data) /*Free Mime*/ if (appcontrol->mime) free((void *)appcontrol->mime); + if (appcontrol->privileges) + g_list_free_full(appcontrol->privileges, free); free((void *)appcontrol); } @@ -235,6 +221,38 @@ static void __ps_free_privilege(gpointer data) free((void *)privilege); } +static void __ps_free_appdefined_privilege(gpointer data) +{ + appdefined_privilege_x *privilege = (appdefined_privilege_x *)data; + if (privilege == NULL) + return; + if (privilege->type) + free((void *)privilege->type); + if (privilege->value) + free((void *)privilege->value); + if (privilege->license) + free((void *)privilege->license); + free((void *)privilege); +} + +static void __ps_free_datacontrol(gpointer data) +{ + datacontrol_x *datacontrol = (datacontrol_x *)data; + if (datacontrol == NULL) + return; + if (datacontrol->providerid) + free((void *)datacontrol->providerid); + if (datacontrol->access) + free((void *)datacontrol->access); + if (datacontrol->type) + free((void *)datacontrol->type); + if (datacontrol->trusted) + free((void *)datacontrol->trusted); + if (datacontrol->privileges) + g_list_free_full(datacontrol->privileges, free); + free((void *)datacontrol); +} + static void __ps_free_application(gpointer data) { application_x *application = (application_x *)data; @@ -433,6 +451,10 @@ API void pkgmgrinfo_basic_free_package(package_x *package) free((void *)package->external_path); if (package->support_mode) free((void *)package->support_mode); + if (package->pkg_certs_dir) + free((void *)package->pkg_certs_dir); + if (package->use_system_certs) + free((void *)package->use_system_certs); /*Free Icon*/ g_list_free_full(package->icon, __ps_free_icon); @@ -446,6 +468,12 @@ API void pkgmgrinfo_basic_free_package(package_x *package) g_list_free_full(package->license, __ps_free_license); /*Free Privileges*/ g_list_free_full(package->privileges, __ps_free_privilege); + /*Free AppDefined Privileges*/ + g_list_free_full(package->appdefined_privileges, + __ps_free_appdefined_privilege); + /*Free Providing AppDefined Privileges*/ + g_list_free_full(package->provides_appdefined_privileges, + __ps_free_appdefined_privilege); /*Free Application*/ g_list_free_full(package->application, __ps_free_application); /*Free Compatibility*/