+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;
+ 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)
+{
+ dependency_x *dependency = (dependency_x *)data;
+ if (dependency == NULL)
+ return;
+ 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);
+}
+