Implement pkgmgr plugin execution info
[platform/core/appfw/pkgmgr-info.git] / src / pkgmgrinfo_basic.c
index 2399af2..381c0ac 100644 (file)
@@ -12,7 +12,7 @@ static void __ps_free_metadata(gpointer data)
                free((void *)metadata->key);
        if (metadata->value)
                free((void *)metadata->value);
-       free((void*)metadata);
+       free((void *)metadata);
 }
 
 static void __ps_free_permission(gpointer data)
@@ -24,7 +24,7 @@ static void __ps_free_permission(gpointer data)
                free((void *)permission->type);
        if (permission->value)
                free((void *)permission->value);
-       free((void*)permission);
+       free((void *)permission);
 }
 
 static void __ps_free_icon(gpointer data)
@@ -44,7 +44,7 @@ static void __ps_free_icon(gpointer data)
                free((void *)icon->resolution);
        if (icon->dpi)
                free((void *)icon->dpi);
-       free((void*)icon);
+       free((void *)icon);
 }
 
 static void __ps_free_image(gpointer data)
@@ -58,7 +58,7 @@ static void __ps_free_image(gpointer data)
                free((void *)image->lang);
        if (image->section)
                free((void *)image->section);
-       free((void*)image);
+       free((void *)image);
 }
 
 static void __ps_free_notification(gpointer data)
@@ -70,7 +70,7 @@ static void __ps_free_notification(gpointer data)
                free((void *)notification->text);
        if (notification->name)
                free((void *)notification->name);
-       free((void*)notification);
+       free((void *)notification);
 }
 
 static void __ps_free_compatibility(gpointer data)
@@ -82,21 +82,23 @@ static void __ps_free_compatibility(gpointer data)
                free((void *)compatibility->text);
        if (compatibility->name)
                free((void *)compatibility->name);
-       free((void*)compatibility);
+       free((void *)compatibility);
 }
 
-static void __ps_free_datacontrol(gpointer data)
+static void __ps_free_plugin_info(gpointer data)
 {
-       datacontrol_x *datacontrol = (datacontrol_x *)data;
-       if (datacontrol == NULL)
+       plugin_x *plugin = (plugin_x *)data;
+       if (plugin == NULL)
                return;
-       if (datacontrol->providerid)
-               free((void *)datacontrol->providerid);
-       if (datacontrol->access)
-               free((void *)datacontrol->access);
-       if (datacontrol->type)
-               free((void *)datacontrol->type);
-       free((void*)datacontrol);
+       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)
@@ -113,7 +115,16 @@ static void __ps_free_appcontrol(gpointer data)
        /*Free Mime*/
        if (appcontrol->mime)
                free((void *)appcontrol->mime);
-       free((void*)appcontrol);
+       /*Free Visibility*/
+       if (appcontrol->visibility)
+               free((void *)appcontrol->visibility);
+       /*Free Id*/
+       if (appcontrol->id)
+               free((void *)appcontrol->id);
+       /*Free Privileges*/
+       if (appcontrol->privileges)
+               g_list_free_full(appcontrol->privileges, free);
+       free((void *)appcontrol);
 }
 
 static void __ps_free_define(gpointer data)
@@ -128,7 +139,7 @@ static void __ps_free_define(gpointer data)
        g_list_free_full(define->request, free);
        /*Free Allowed*/
        g_list_free_full(define->allowed, free);
-       free((void*)define);
+       free((void *)define);
 }
 
 static void __ps_free_datashare(gpointer data)
@@ -140,7 +151,7 @@ static void __ps_free_datashare(gpointer data)
        g_list_free_full(datashare->define, __ps_free_define);
        /*Free Request*/
        g_list_free_full(datashare->request, free);
-       free((void*)datashare);
+       free((void *)datashare);
 }
 
 static void __ps_free_label(gpointer data)
@@ -154,7 +165,7 @@ static void __ps_free_label(gpointer data)
                free((void *)label->text);
        if (label->lang)
                free((void *)label->lang);
-       free((void*)label);
+       free((void *)label);
 }
 
 static void __ps_free_author(gpointer data)
@@ -170,7 +181,7 @@ static void __ps_free_author(gpointer data)
                free((void *)author->href);
        if (author->lang)
                free((void *)author->lang);
-       free((void*)author);
+       free((void *)author);
 }
 
 static void __ps_free_description(gpointer data)
@@ -184,7 +195,7 @@ static void __ps_free_description(gpointer data)
                free((void *)description->text);
        if (description->lang)
                free((void *)description->lang);
-       free((void*)description);
+       free((void *)description);
 }
 
 static void __ps_free_license(gpointer data)
@@ -196,7 +207,7 @@ static void __ps_free_license(gpointer data)
                free((void *)license->text);
        if (license->lang)
                free((void *)license->lang);
-       free((void*)license);
+       free((void *)license);
 }
 
 static void __ps_free_splashscreen(gpointer data)
@@ -221,17 +232,62 @@ static void __ps_free_splashscreen(gpointer data)
        free((void *)splashscreen);
 }
 
-/* FIXME */
-static void __ps_free_support_size(gpointer data)
+static void __ps_free_privilege(gpointer data)
+{
+       privilege_x *privilege = (privilege_x *)data;
+       if (privilege == NULL)
+               return;
+       if (privilege->type)
+               free((void *)privilege->type);
+       if (privilege->value)
+               free((void *)privilege->value);
+       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_dependency(gpointer data)
 {
-       support_size_x *support_size = (support_size_x *)data;
-       if (support_size == NULL)
+       dependency_x *dependency = (dependency_x *)data;
+       if (dependency == NULL)
                return;
-       if (support_size->preview)
-               free((void *)support_size->preview);
-       if (support_size->size)
-               free((void *)support_size->size);
-       free((void *)support_size);
+       if (dependency->depends_on)
+               free((void *)dependency->depends_on);
+       if (dependency->type)
+               free((void *)dependency->type);
+       if (dependency->required_version)
+               free((void *)dependency->required_version);
+       free((void *)dependency);
 }
 
 static void __ps_free_application(gpointer data)
@@ -258,8 +314,6 @@ static void __ps_free_application(gpointer data)
                free((void *)application->autorestart);
        if (application->taskmanage)
                free((void *)application->taskmanage);
-       if (application->enabled)
-               free((void *)application->enabled);
        if (application->categories)
                free((void *)application->categories);
        if (application->extraid)
@@ -324,12 +378,22 @@ static void __ps_free_application(gpointer data)
                free((void *)application->effectimage_type);
        if (application->package_type)
                free((void *)application->package_type);
-       if (application->ambient_support)
-               free((void *)application->ambient_support);
+       if (application->support_ambient)
+               free((void *)application->support_ambient);
        if (application->alias_appid)
                free((void *)application->alias_appid);
        if (application->external_path)
                free((void *)application->external_path);
+       if (application->package_system)
+               free((void *)application->package_system);
+       if (application->removable)
+               free((void *)application->removable);
+       if (application->package_installed_time)
+               free((void *)application->package_installed_time);
+       if (application->support_mode)
+               free((void *)application->support_mode);
+       if (application->setup_appid)
+               free((void *)application->setup_appid);
 
        /*Free Label*/
        g_list_free_full(application->label, __ps_free_label);
@@ -357,8 +421,6 @@ 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);
-       /* FIXME */
-       g_list_free_full(application->support_sizes, __ps_free_support_size);
 
        free((void *)application);
 }
@@ -424,6 +486,10 @@ API void pkgmgrinfo_basic_free_package(package_x *package)
                free((void *)package->zip_mount_file);
        if (package->external_path)
                free((void *)package->external_path);
+       if (package->support_mode)
+               free((void *)package->support_mode);
+       if (package->use_system_certs)
+               free((void *)package->use_system_certs);
 
        /*Free Icon*/
        g_list_free_full(package->icon, __ps_free_icon);
@@ -436,14 +502,23 @@ API void pkgmgrinfo_basic_free_package(package_x *package)
        /*Free License*/
        g_list_free_full(package->license, __ps_free_license);
        /*Free Privileges*/
-       g_list_free_full(package->privileges, free);
+       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*/
        g_list_free_full(package->compatibility, __ps_free_compatibility);
        /*Free Device profiles*/
        g_list_free_full(package->deviceprofile, free);
-       free((void*)package);
-       return;
+       /*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);
 }