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_plugin_info(gpointer data)
90 plugin_x *plugin = (plugin_x *)data;
94 free((void *)plugin->pkgid);
96 free((void *)plugin->appid);
97 if (plugin->plugin_type)
98 free((void *)plugin->plugin_type);
99 if (plugin->plugin_name)
100 free((void *)plugin->plugin_name);
101 free((void *)plugin);
104 static void __ps_free_appcontrol(gpointer data)
106 appcontrol_x *appcontrol = (appcontrol_x *)data;
107 if (appcontrol == NULL)
110 if (appcontrol->operation)
111 free((void *)appcontrol->operation);
114 free((void *)appcontrol->uri);
116 if (appcontrol->mime)
117 free((void *)appcontrol->mime);
119 if (appcontrol->visibility)
120 free((void *)appcontrol->visibility);
123 free((void *)appcontrol->id);
125 if (appcontrol->privileges)
126 g_list_free_full(appcontrol->privileges, free);
127 free((void *)appcontrol);
130 static void __ps_free_define(gpointer data)
132 define_x *define = (define_x *)data;
137 free((void *)define->path);
139 g_list_free_full(define->request, free);
141 g_list_free_full(define->allowed, free);
142 free((void *)define);
145 static void __ps_free_datashare(gpointer data)
147 datashare_x *datashare = (datashare_x *)data;
148 if (datashare == NULL)
151 g_list_free_full(datashare->define, __ps_free_define);
153 g_list_free_full(datashare->request, free);
154 free((void *)datashare);
157 static void __ps_free_label(gpointer data)
159 label_x *label = (label_x *)data;
163 free((void *)label->name);
165 free((void *)label->text);
167 free((void *)label->lang);
171 static void __ps_free_author(gpointer data)
173 author_x *author = (author_x *)data;
177 free((void *)author->email);
179 free((void *)author->text);
181 free((void *)author->href);
183 free((void *)author->lang);
184 free((void *)author);
187 static void __ps_free_description(gpointer data)
189 description_x *description = (description_x *)data;
190 if (description == NULL)
192 if (description->name)
193 free((void *)description->name);
194 if (description->text)
195 free((void *)description->text);
196 if (description->lang)
197 free((void *)description->lang);
198 free((void *)description);
201 static void __ps_free_license(gpointer data)
203 license_x *license = (license_x *)data;
207 free((void *)license->text);
209 free((void *)license->lang);
210 free((void *)license);
213 static void __ps_free_splashscreen(gpointer data)
215 splashscreen_x *splashscreen = (splashscreen_x *)data;
216 if (splashscreen == NULL)
218 if (splashscreen->src)
219 free((void *)splashscreen->src);
220 if (splashscreen->type)
221 free((void *)splashscreen->type);
222 if (splashscreen->dpi)
223 free((void *)splashscreen->dpi);
224 if (splashscreen->orientation)
225 free((void *)splashscreen->orientation);
226 if (splashscreen->indicatordisplay)
227 free((void *)splashscreen->indicatordisplay);
228 if (splashscreen->operation)
229 free((void *)splashscreen->operation);
230 if (splashscreen->color_depth)
231 free((void *)splashscreen->color_depth);
232 free((void *)splashscreen);
235 static void __ps_free_component_info(gpointer data)
237 component_x *component = (component_x *)data;
239 if (component == NULL)
242 free((void *)component->id);
244 free((void *)component->type);
245 if (component->launch_mode)
246 free((void *)component->launch_mode);
247 free((void *)component);
250 static void __ps_free_privilege(gpointer data)
252 privilege_x *privilege = (privilege_x *)data;
253 if (privilege == NULL)
256 free((void *)privilege->type);
257 if (privilege->value)
258 free((void *)privilege->value);
259 free((void *)privilege);
262 static void __ps_free_appdefined_privilege(gpointer data)
264 appdefined_privilege_x *privilege = (appdefined_privilege_x *)data;
265 if (privilege == NULL)
268 free((void *)privilege->type);
269 if (privilege->value)
270 free((void *)privilege->value);
271 if (privilege->license)
272 free((void *)privilege->license);
273 free((void *)privilege);
276 static void __ps_free_datacontrol(gpointer data)
278 datacontrol_x *datacontrol = (datacontrol_x *)data;
279 if (datacontrol == NULL)
281 if (datacontrol->providerid)
282 free((void *)datacontrol->providerid);
283 if (datacontrol->access)
284 free((void *)datacontrol->access);
285 if (datacontrol->type)
286 free((void *)datacontrol->type);
287 if (datacontrol->trusted)
288 free((void *)datacontrol->trusted);
289 if (datacontrol->privileges)
290 g_list_free_full(datacontrol->privileges, free);
291 free((void *)datacontrol);
294 static void __ps_free_dependency(gpointer data)
296 dependency_x *dependency = (dependency_x *)data;
297 if (dependency == NULL)
299 if (dependency->depends_on)
300 free((void *)dependency->depends_on);
301 if (dependency->type)
302 free((void *)dependency->type);
303 if (dependency->required_version)
304 free((void *)dependency->required_version);
305 free((void *)dependency);
308 static void __ps_free_application(gpointer data)
310 application_x *application = (application_x *)data;
311 if (application == NULL)
314 if (application->appid)
315 free((void *)application->appid);
316 if (application->component)
317 free((void *)application->component);
318 if (application->exec)
319 free((void *)application->exec);
320 if (application->nodisplay)
321 free((void *)application->nodisplay);
322 if (application->type)
323 free((void *)application->type);
324 if (application->onboot)
325 free((void *)application->onboot);
326 if (application->multiple)
327 free((void *)application->multiple);
328 if (application->autorestart)
329 free((void *)application->autorestart);
330 if (application->taskmanage)
331 free((void *)application->taskmanage);
332 if (application->categories)
333 free((void *)application->categories);
334 if (application->extraid)
335 free((void *)application->extraid);
336 if (application->hwacceleration)
337 free((void *)application->hwacceleration);
338 if (application->screenreader)
339 free((void *)application->screenreader);
340 if (application->mainapp)
341 free((void *)application->mainapp);
342 if (application->recentimage)
343 free((void *)application->recentimage);
344 if (application->launchcondition)
345 free((void *)application->launchcondition);
346 if (application->indicatordisplay)
347 free((void *)application->indicatordisplay);
348 if (application->portraitimg)
349 free((void *)application->portraitimg);
350 if (application->landscapeimg)
351 free((void *)application->landscapeimg);
352 if (application->guestmode_visibility)
353 free((void *)application->guestmode_visibility);
354 if (application->permission_type)
355 free((void *)application->permission_type);
356 if (application->preload)
357 free((void *)application->preload);
358 if (application->submode)
359 free((void *)application->submode);
360 if (application->submode_mainid)
361 free((void *)application->submode_mainid);
362 if (application->process_pool)
363 free((void *)application->process_pool);
364 if (application->installed_storage)
365 free((void *)application->installed_storage);
366 if (application->launch_mode)
367 free((void *)application->launch_mode);
368 if (application->ui_gadget)
369 free((void *)application->ui_gadget);
370 if (application->component_type)
371 free((void *)application->component_type);
372 if (application->package)
373 free((void *)application->package);
374 if (application->support_disable)
375 free((void *)application->support_disable);
376 if (application->tep_name)
377 free((void *)application->tep_name);
378 if (application->zip_mount_file)
379 free((void *)application->zip_mount_file);
380 if (application->root_path)
381 free((void *)application->root_path);
382 if (application->api_version)
383 free((void *)application->api_version);
384 if (application->for_all_users)
385 free((void *)application->for_all_users);
386 if (application->effective_appid)
387 free((void *)application->effective_appid);
388 if (application->is_disabled)
389 free((void *)application->is_disabled);
390 if (application->splash_screen_display)
391 free((void *)application->splash_screen_display);
392 if (application->effectimage_type)
393 free((void *)application->effectimage_type);
394 if (application->package_type)
395 free((void *)application->package_type);
396 if (application->support_ambient)
397 free((void *)application->support_ambient);
398 if (application->alias_appid)
399 free((void *)application->alias_appid);
400 if (application->external_path)
401 free((void *)application->external_path);
402 if (application->package_system)
403 free((void *)application->package_system);
404 if (application->removable)
405 free((void *)application->removable);
406 if (application->package_installed_time)
407 free((void *)application->package_installed_time);
408 if (application->support_mode)
409 free((void *)application->support_mode);
410 if (application->setup_appid)
411 free((void *)application->setup_appid);
414 g_list_free_full(application->label, __ps_free_label);
416 g_list_free_full(application->icon, __ps_free_icon);
418 g_list_free_full(application->image, __ps_free_image);
420 g_list_free_full(application->appcontrol, __ps_free_appcontrol);
422 g_list_free_full(application->category, free);
424 g_list_free_full(application->metadata, __ps_free_metadata);
426 g_list_free_full(application->permission, __ps_free_permission);
427 /*Free LaunchConditions*/
428 g_list_free_full(application->launchconditions, free);
429 /*Free Notification*/
430 g_list_free_full(application->notification, __ps_free_notification);
432 g_list_free_full(application->datashare, __ps_free_datashare);
434 g_list_free_full(application->datacontrol, __ps_free_datacontrol);
435 /*Free BackgroundCategory*/
436 g_list_free_full(application->background_category, free);
437 /*Free SplashScreen*/
438 g_list_free_full(application->splashscreens, __ps_free_splashscreen);
439 /*Free ComponentInfo*/
440 g_list_free_full(application->components, __ps_free_component_info);
442 free((void *)application);
445 API void pkgmgrinfo_basic_free_application(application_x *application)
447 __ps_free_application(application);
450 API void pkgmgrinfo_basic_free_package(package_x *package)
454 if (package->for_all_users)
455 free((void *)package->for_all_users);
457 free((void *)package->ns);
458 if (package->package)
459 free((void *)package->package);
460 if (package->version)
461 free((void *)package->version);
462 if (package->installlocation)
463 free((void *)package->installlocation);
464 if (package->preload)
465 free((void *)package->preload);
466 if (package->readonly)
467 free((void *)package->readonly);
468 if (package->removable)
469 free((void *)package->removable);
471 free((void *)package->update);
473 free((void *)package->system);
475 free((void *)package->type);
476 if (package->package_size)
477 free((void *)package->package_size);
478 if (package->installed_time)
479 free((void *)package->installed_time);
480 if (package->installed_storage)
481 free((void *)package->installed_storage);
482 if (package->storeclient_id)
483 free((void *)package->storeclient_id);
484 if (package->mainapp_id)
485 free((void *)package->mainapp_id);
486 if (package->package_url)
487 free((void *)package->package_url);
488 if (package->root_path)
489 free((void *)package->root_path);
490 if (package->csc_path)
491 free((void *)package->csc_path);
492 if (package->appsetting)
493 free((void *)package->appsetting);
494 if (package->nodisplay_setting)
495 free((void *)package->nodisplay_setting);
496 if (package->api_version)
497 free((void *)package->api_version);
498 if (package->support_disable)
499 free((void *)package->support_disable);
500 if (package->tep_name)
501 free((void *)package->tep_name);
502 if (package->zip_mount_file)
503 free((void *)package->zip_mount_file);
504 if (package->external_path)
505 free((void *)package->external_path);
506 if (package->support_mode)
507 free((void *)package->support_mode);
508 if (package->use_system_certs)
509 free((void *)package->use_system_certs);
512 g_list_free_full(package->icon, __ps_free_icon);
514 g_list_free_full(package->label, __ps_free_label);
516 g_list_free_full(package->author, __ps_free_author);
518 g_list_free_full(package->description, __ps_free_description);
520 g_list_free_full(package->license, __ps_free_license);
522 g_list_free_full(package->privileges, __ps_free_privilege);
523 /*Free AppDefined Privileges*/
524 g_list_free_full(package->appdefined_privileges,
525 __ps_free_appdefined_privilege);
526 /*Free Providing AppDefined Privileges*/
527 g_list_free_full(package->provides_appdefined_privileges,
528 __ps_free_appdefined_privilege);
530 g_list_free_full(package->application, __ps_free_application);
531 /*Free Compatibility*/
532 g_list_free_full(package->compatibility, __ps_free_compatibility);
533 /*Free Device profiles*/
534 g_list_free_full(package->deviceprofile, free);
535 /*Free Dependencies*/
536 g_list_free_full(package->dependencies, __ps_free_dependency);
537 /*Free Plugin execution history*/
538 g_list_free_full(package->plugin, __ps_free_plugin_info);
539 free((void *)package);