3 #include "pkgmgrinfo_basic.h"
4 #include "pkgmgrinfo_private.h"
6 static void __ps_free_metadata(gpointer data)
8 metadata_x *metadata = (metadata_x *)data;
12 free((void *)metadata->key);
14 free((void *)metadata->value);
15 free((void *)metadata);
18 static void __ps_free_permission(gpointer data)
20 permission_x *permission = (permission_x *)data;
21 if (permission == NULL)
24 free((void *)permission->type);
25 if (permission->value)
26 free((void *)permission->value);
27 free((void *)permission);
30 static void __ps_free_icon(gpointer data)
32 icon_x *icon = (icon_x *)data;
36 free((void *)icon->text);
38 free((void *)icon->lang);
40 free((void *)icon->section);
42 free((void *)icon->size);
44 free((void *)icon->resolution);
46 free((void *)icon->dpi);
50 static void __ps_free_image(gpointer data)
52 image_x *image = (image_x *)data;
56 free((void *)image->text);
58 free((void *)image->lang);
60 free((void *)image->section);
64 static void __ps_free_notification(gpointer data)
66 notification_x *notification = (notification_x *)data;
67 if (notification == NULL)
69 if (notification->text)
70 free((void *)notification->text);
71 if (notification->name)
72 free((void *)notification->name);
73 free((void *)notification);
76 static void __ps_free_compatibility(gpointer data)
78 compatibility_x *compatibility = (compatibility_x *)data;
79 if (compatibility == NULL)
81 if (compatibility->text)
82 free((void *)compatibility->text);
83 if (compatibility->name)
84 free((void *)compatibility->name);
85 free((void *)compatibility);
88 static void __ps_free_appcontrol(gpointer data)
90 appcontrol_x *appcontrol = (appcontrol_x *)data;
91 if (appcontrol == NULL)
94 if (appcontrol->operation)
95 free((void *)appcontrol->operation);
98 free((void *)appcontrol->uri);
100 if (appcontrol->mime)
101 free((void *)appcontrol->mime);
102 if (appcontrol->privileges)
103 g_list_free_full(appcontrol->privileges, free);
104 free((void *)appcontrol);
107 static void __ps_free_define(gpointer data)
109 define_x *define = (define_x *)data;
114 free((void *)define->path);
116 g_list_free_full(define->request, free);
118 g_list_free_full(define->allowed, free);
119 free((void *)define);
122 static void __ps_free_datashare(gpointer data)
124 datashare_x *datashare = (datashare_x *)data;
125 if (datashare == NULL)
128 g_list_free_full(datashare->define, __ps_free_define);
130 g_list_free_full(datashare->request, free);
131 free((void *)datashare);
134 static void __ps_free_label(gpointer data)
136 label_x *label = (label_x *)data;
140 free((void *)label->name);
142 free((void *)label->text);
144 free((void *)label->lang);
148 static void __ps_free_author(gpointer data)
150 author_x *author = (author_x *)data;
154 free((void *)author->email);
156 free((void *)author->text);
158 free((void *)author->href);
160 free((void *)author->lang);
161 free((void *)author);
164 static void __ps_free_description(gpointer data)
166 description_x *description = (description_x *)data;
167 if (description == NULL)
169 if (description->name)
170 free((void *)description->name);
171 if (description->text)
172 free((void *)description->text);
173 if (description->lang)
174 free((void *)description->lang);
175 free((void *)description);
178 static void __ps_free_license(gpointer data)
180 license_x *license = (license_x *)data;
184 free((void *)license->text);
186 free((void *)license->lang);
187 free((void *)license);
190 static void __ps_free_splashscreen(gpointer data)
192 splashscreen_x *splashscreen = (splashscreen_x *)data;
193 if (splashscreen == NULL)
195 if (splashscreen->src)
196 free((void *)splashscreen->src);
197 if (splashscreen->type)
198 free((void *)splashscreen->type);
199 if (splashscreen->dpi)
200 free((void *)splashscreen->dpi);
201 if (splashscreen->orientation)
202 free((void *)splashscreen->orientation);
203 if (splashscreen->indicatordisplay)
204 free((void *)splashscreen->indicatordisplay);
205 if (splashscreen->operation)
206 free((void *)splashscreen->operation);
207 if (splashscreen->color_depth)
208 free((void *)splashscreen->color_depth);
209 free((void *)splashscreen);
212 static void __ps_free_privilege(gpointer data)
214 privilege_x *privilege = (privilege_x *)data;
215 if (privilege == NULL)
218 free((void *)privilege->type);
219 if (privilege->value)
220 free((void *)privilege->value);
221 free((void *)privilege);
224 static void __ps_free_appdefined_privilege(gpointer data)
226 appdefined_privilege_x *privilege = (appdefined_privilege_x *)data;
227 if (privilege == NULL)
230 free((void *)privilege->type);
231 if (privilege->value)
232 free((void *)privilege->value);
233 if (privilege->license)
234 free((void *)privilege->license);
235 free((void *)privilege);
238 static void __ps_free_datacontrol(gpointer data)
240 datacontrol_x *datacontrol = (datacontrol_x *)data;
241 if (datacontrol == NULL)
243 if (datacontrol->providerid)
244 free((void *)datacontrol->providerid);
245 if (datacontrol->access)
246 free((void *)datacontrol->access);
247 if (datacontrol->type)
248 free((void *)datacontrol->type);
249 if (datacontrol->trusted)
250 free((void *)datacontrol->trusted);
251 if (datacontrol->privileges)
252 g_list_free_full(datacontrol->privileges, free);
253 free((void *)datacontrol);
256 static void __ps_free_application(gpointer data)
258 application_x *application = (application_x *)data;
259 if (application == NULL)
262 if (application->appid)
263 free((void *)application->appid);
264 if (application->component)
265 free((void *)application->component);
266 if (application->exec)
267 free((void *)application->exec);
268 if (application->nodisplay)
269 free((void *)application->nodisplay);
270 if (application->type)
271 free((void *)application->type);
272 if (application->onboot)
273 free((void *)application->onboot);
274 if (application->multiple)
275 free((void *)application->multiple);
276 if (application->autorestart)
277 free((void *)application->autorestart);
278 if (application->taskmanage)
279 free((void *)application->taskmanage);
280 if (application->categories)
281 free((void *)application->categories);
282 if (application->extraid)
283 free((void *)application->extraid);
284 if (application->hwacceleration)
285 free((void *)application->hwacceleration);
286 if (application->screenreader)
287 free((void *)application->screenreader);
288 if (application->mainapp)
289 free((void *)application->mainapp);
290 if (application->recentimage)
291 free((void *)application->recentimage);
292 if (application->launchcondition)
293 free((void *)application->launchcondition);
294 if (application->indicatordisplay)
295 free((void *)application->indicatordisplay);
296 if (application->portraitimg)
297 free((void *)application->portraitimg);
298 if (application->landscapeimg)
299 free((void *)application->landscapeimg);
300 if (application->guestmode_visibility)
301 free((void *)application->guestmode_visibility);
302 if (application->permission_type)
303 free((void *)application->permission_type);
304 if (application->preload)
305 free((void *)application->preload);
306 if (application->submode)
307 free((void *)application->submode);
308 if (application->submode_mainid)
309 free((void *)application->submode_mainid);
310 if (application->process_pool)
311 free((void *)application->process_pool);
312 if (application->installed_storage)
313 free((void *)application->installed_storage);
314 if (application->launch_mode)
315 free((void *)application->launch_mode);
316 if (application->ui_gadget)
317 free((void *)application->ui_gadget);
318 if (application->component_type)
319 free((void *)application->component_type);
320 if (application->package)
321 free((void *)application->package);
322 if (application->support_disable)
323 free((void *)application->support_disable);
324 if (application->tep_name)
325 free((void *)application->tep_name);
326 if (application->zip_mount_file)
327 free((void *)application->zip_mount_file);
328 if (application->root_path)
329 free((void *)application->root_path);
330 if (application->api_version)
331 free((void *)application->api_version);
332 if (application->for_all_users)
333 free((void *)application->for_all_users);
334 if (application->effective_appid)
335 free((void *)application->effective_appid);
336 if (application->is_disabled)
337 free((void *)application->is_disabled);
338 if (application->splash_screen_display)
339 free((void *)application->splash_screen_display);
340 if (application->effectimage_type)
341 free((void *)application->effectimage_type);
342 if (application->package_type)
343 free((void *)application->package_type);
344 if (application->support_ambient)
345 free((void *)application->support_ambient);
346 if (application->alias_appid)
347 free((void *)application->alias_appid);
348 if (application->external_path)
349 free((void *)application->external_path);
350 if (application->package_system)
351 free((void *)application->package_system);
352 if (application->removable)
353 free((void *)application->removable);
354 if (application->package_installed_time)
355 free((void *)application->package_installed_time);
356 if (application->support_mode)
357 free((void *)application->support_mode);
358 if (application->setup_appid)
359 free((void *)application->setup_appid);
362 g_list_free_full(application->label, __ps_free_label);
364 g_list_free_full(application->icon, __ps_free_icon);
366 g_list_free_full(application->image, __ps_free_image);
368 g_list_free_full(application->appcontrol, __ps_free_appcontrol);
370 g_list_free_full(application->category, free);
372 g_list_free_full(application->metadata, __ps_free_metadata);
374 g_list_free_full(application->permission, __ps_free_permission);
375 /*Free LaunchConditions*/
376 g_list_free_full(application->launchconditions, free);
377 /*Free Notification*/
378 g_list_free_full(application->notification, __ps_free_notification);
380 g_list_free_full(application->datashare, __ps_free_datashare);
382 g_list_free_full(application->datacontrol, __ps_free_datacontrol);
383 /*Free BackgroundCategory*/
384 g_list_free_full(application->background_category, free);
385 /*Free SplashScreen*/
386 g_list_free_full(application->splashscreens, __ps_free_splashscreen);
388 free((void *)application);
391 API void pkgmgrinfo_basic_free_application(application_x *application)
393 __ps_free_application(application);
396 API void pkgmgrinfo_basic_free_package(package_x *package)
400 if (package->for_all_users)
401 free((void *)package->for_all_users);
403 free((void *)package->ns);
404 if (package->package)
405 free((void *)package->package);
406 if (package->version)
407 free((void *)package->version);
408 if (package->installlocation)
409 free((void *)package->installlocation);
410 if (package->preload)
411 free((void *)package->preload);
412 if (package->readonly)
413 free((void *)package->readonly);
414 if (package->removable)
415 free((void *)package->removable);
417 free((void *)package->update);
419 free((void *)package->system);
421 free((void *)package->type);
422 if (package->package_size)
423 free((void *)package->package_size);
424 if (package->installed_time)
425 free((void *)package->installed_time);
426 if (package->installed_storage)
427 free((void *)package->installed_storage);
428 if (package->storeclient_id)
429 free((void *)package->storeclient_id);
430 if (package->mainapp_id)
431 free((void *)package->mainapp_id);
432 if (package->package_url)
433 free((void *)package->package_url);
434 if (package->root_path)
435 free((void *)package->root_path);
436 if (package->csc_path)
437 free((void *)package->csc_path);
438 if (package->appsetting)
439 free((void *)package->appsetting);
440 if (package->nodisplay_setting)
441 free((void *)package->nodisplay_setting);
442 if (package->api_version)
443 free((void *)package->api_version);
444 if (package->support_disable)
445 free((void *)package->support_disable);
446 if (package->tep_name)
447 free((void *)package->tep_name);
448 if (package->zip_mount_file)
449 free((void *)package->zip_mount_file);
450 if (package->external_path)
451 free((void *)package->external_path);
452 if (package->support_mode)
453 free((void *)package->support_mode);
454 if (package->use_system_certs)
455 free((void *)package->use_system_certs);
458 g_list_free_full(package->icon, __ps_free_icon);
460 g_list_free_full(package->label, __ps_free_label);
462 g_list_free_full(package->author, __ps_free_author);
464 g_list_free_full(package->description, __ps_free_description);
466 g_list_free_full(package->license, __ps_free_license);
468 g_list_free_full(package->privileges, __ps_free_privilege);
469 /*Free AppDefined Privileges*/
470 g_list_free_full(package->appdefined_privileges,
471 __ps_free_appdefined_privilege);
472 /*Free Providing AppDefined Privileges*/
473 g_list_free_full(package->provides_appdefined_privileges,
474 __ps_free_appdefined_privilege);
476 g_list_free_full(package->application, __ps_free_application);
477 /*Free Compatibility*/
478 g_list_free_full(package->compatibility, __ps_free_compatibility);
479 /*Free Device profiles*/
480 g_list_free_full(package->deviceprofile, free);
481 free((void *)package);