X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fpkgmgrinfo_basic.c;h=1c1103a1bf350ceb94f7fd3a0bef90f2cc0226ca;hb=8dcd34312e0012d1509e623daedfb43388889a94;hp=7f0f30cac5d41e3d71bbe7e0261ec890884f7642;hpb=3a590da91ac9922ec07c2dc28d88c0e6dbcbc46d;p=platform%2Fcore%2Fappfw%2Fpkgmgr-info.git diff --git a/src/pkgmgrinfo_basic.c b/src/pkgmgrinfo_basic.c index 7f0f30c..1c1103a 100644 --- a/src/pkgmgrinfo_basic.c +++ b/src/pkgmgrinfo_basic.c @@ -85,6 +85,22 @@ static void __ps_free_compatibility(gpointer data) free((void *)compatibility); } +static void __ps_free_plugin_info(gpointer data) +{ + plugin_x *plugin = (plugin_x *)data; + if (plugin == NULL) + return; + if (plugin->pkgid) + free((void *)plugin->pkgid); + if (plugin->appid) + free((void *)plugin->appid); + if (plugin->plugin_type) + free((void *)plugin->plugin_type); + if (plugin->plugin_name) + free((void *)plugin->plugin_name); + free((void *)plugin); +} + static void __ps_free_appcontrol(gpointer data) { appcontrol_x *appcontrol = (appcontrol_x *)data; @@ -216,6 +232,21 @@ static void __ps_free_splashscreen(gpointer data) free((void *)splashscreen); } +static void __ps_free_component_info(gpointer data) +{ + component_x *component = (component_x *)data; + + if (component == NULL) + return; + if (component->id) + free((void *)component->id); + if (component->type) + free((void *)component->type); + if (component->launch_mode) + free((void *)component->launch_mode); + free((void *)component); +} + static void __ps_free_privilege(gpointer data) { privilege_x *privilege = (privilege_x *)data; @@ -405,6 +436,8 @@ static void __ps_free_application(gpointer data) g_list_free_full(application->background_category, free); /*Free SplashScreen*/ g_list_free_full(application->splashscreens, __ps_free_splashscreen); + /*Free ComponentInfo*/ + g_list_free_full(application->components, __ps_free_component_info); free((void *)application); } @@ -501,6 +534,8 @@ API void pkgmgrinfo_basic_free_package(package_x *package) g_list_free_full(package->deviceprofile, free); /*Free Dependencies*/ g_list_free_full(package->dependencies, __ps_free_dependency); + /*Free Plugin execution history*/ + g_list_free_full(package->plugin, __ps_free_plugin_info); free((void *)package); }