3 #include "pkgmgrinfo_basic.h"
4 #include "pkgmgrinfo_private.h"
6 static void __ps_free_category(category_x *category)
11 free((void *)category->name);
12 category->name = NULL;
14 free((void*)category);
18 static void __ps_free_privilege(privilege_x *privilege)
20 if (privilege == NULL)
22 if (privilege->text) {
23 free((void *)privilege->text);
24 privilege->text = NULL;
26 free((void*)privilege);
30 static void __ps_free_privileges(privileges_x *privileges)
32 if (privileges == NULL)
35 if (privileges->privilege) {
36 privilege_x *privilege = privileges->privilege;
37 privilege_x *tmp = NULL;
38 while(privilege != NULL) {
39 tmp = privilege->next;
40 __ps_free_privilege(privilege);
44 free((void*)privileges);
48 static void __ps_free_metadata(metadata_x *metadata)
53 free((void *)metadata->key);
56 if (metadata->value) {
57 free((void *)metadata->value);
58 metadata->value = NULL;
60 free((void*)metadata);
64 static void __ps_free_permission(permission_x *permission)
66 if (permission == NULL)
68 if (permission->type) {
69 free((void *)permission->type);
70 permission->type = NULL;
72 if (permission->value) {
73 free((void *)permission->value);
74 permission->value = NULL;
76 free((void*)permission);
80 static void __ps_free_icon(icon_x *icon)
85 free((void *)icon->text);
89 free((void *)icon->lang);
93 free((void *)icon->name);
97 free((void *)icon->section);
101 free((void *)icon->size);
104 if (icon->resolution) {
105 free((void *)icon->resolution);
106 icon->resolution = NULL;
112 static void __ps_free_image(image_x *image)
117 free((void *)image->text);
121 free((void *)image->lang);
125 free((void *)image->name);
128 if (image->section) {
129 free((void *)image->section);
130 image->section = NULL;
136 static void __ps_free_operation(operation_x *operation)
138 if (operation == NULL)
140 if (operation->text) {
141 free((void *)operation->text);
142 operation->text = NULL;
144 free((void*)operation);
148 static void __ps_free_uri(uri_x *uri)
153 free((void *)uri->text);
160 static void __ps_free_mime(mime_x *mime)
165 free((void *)mime->text);
172 static void __ps_free_subapp(subapp_x *subapp)
177 free((void *)subapp->text);
184 static void __ps_free_condition(condition_x *condition)
186 if (condition == NULL)
188 if (condition->text) {
189 free((void *)condition->text);
190 condition->text = NULL;
192 if (condition->name) {
193 free((void *)condition->name);
194 condition->name = NULL;
196 free((void*)condition);
200 static void __ps_free_notification(notification_x *notification)
202 if (notification == NULL)
204 if (notification->text) {
205 free((void *)notification->text);
206 notification->text = NULL;
208 if (notification->name) {
209 free((void *)notification->name);
210 notification->name = NULL;
212 free((void*)notification);
216 static void __ps_free_compatibility(compatibility_x *compatibility)
218 if (compatibility == NULL)
220 if (compatibility->text) {
221 free((void *)compatibility->text);
222 compatibility->text = NULL;
224 if (compatibility->name) {
225 free((void *)compatibility->name);
226 compatibility->name = NULL;
228 free((void*)compatibility);
229 compatibility = NULL;
232 static void __ps_free_allowed(allowed_x *allowed)
237 free((void *)allowed->name);
238 allowed->name = NULL;
241 free((void *)allowed->text);
242 allowed->text = NULL;
244 free((void*)allowed);
248 static void __ps_free_request(request_x *request)
253 free((void *)request->text);
254 request->text = NULL;
256 free((void*)request);
260 static void __ps_free_datacontrol(datacontrol_x *datacontrol)
262 if (datacontrol == NULL)
264 if (datacontrol->providerid) {
265 free((void *)datacontrol->providerid);
266 datacontrol->providerid = NULL;
268 if (datacontrol->access) {
269 free((void *)datacontrol->access);
270 datacontrol->access = NULL;
272 if (datacontrol->type) {
273 free((void *)datacontrol->type);
274 datacontrol->type = NULL;
276 free((void*)datacontrol);
280 static void __ps_free_launchconditions(launchconditions_x *launchconditions)
282 if (launchconditions == NULL)
284 if (launchconditions->text) {
285 free((void *)launchconditions->text);
286 launchconditions->text = NULL;
289 if (launchconditions->condition) {
290 condition_x *condition = launchconditions->condition;
291 condition_x *tmp = NULL;
292 while(condition != NULL) {
293 tmp = condition->next;
294 __ps_free_condition(condition);
298 free((void*)launchconditions);
299 launchconditions = NULL;
302 static void __ps_free_appcontrol(appcontrol_x *appcontrol)
304 if (appcontrol == NULL)
307 if (appcontrol->operation)
308 free((void *)appcontrol->operation);
311 free((void *)appcontrol->uri);
313 if (appcontrol->mime)
314 free((void *)appcontrol->mime);
315 free((void*)appcontrol);
319 static void __ps_free_appsvc(appsvc_x *appsvc)
324 free((void *)appsvc->text);
328 if (appsvc->operation) {
329 operation_x *operation = appsvc->operation;
330 operation_x *tmp = NULL;
331 while(operation != NULL) {
332 tmp = operation->next;
333 __ps_free_operation(operation);
339 uri_x *uri = appsvc->uri;
349 mime_x *mime = appsvc->mime;
351 while(mime != NULL) {
353 __ps_free_mime(mime);
358 if (appsvc->subapp) {
359 subapp_x *subapp = appsvc->subapp;
360 subapp_x *tmp = NULL;
361 while(subapp != NULL) {
363 __ps_free_subapp(subapp);
371 static void __ps_free_deviceprofile(deviceprofile_x *deviceprofile)
376 static void __ps_free_define(define_x *define)
381 free((void *)define->path);
385 if (define->request) {
386 request_x *request = define->request;
387 request_x *tmp = NULL;
388 while(request != NULL) {
390 __ps_free_request(request);
395 if (define->allowed) {
396 allowed_x *allowed = define->allowed;
397 allowed_x *tmp = NULL;
398 while(allowed != NULL) {
400 __ps_free_allowed(allowed);
408 static void __ps_free_datashare(datashare_x *datashare)
410 if (datashare == NULL)
413 if (datashare->define) {
414 define_x *define = datashare->define;
415 define_x *tmp = NULL;
416 while(define != NULL) {
418 __ps_free_define(define);
423 if (datashare->request) {
424 request_x *request = datashare->request;
425 request_x *tmp = NULL;
426 while(request != NULL) {
428 __ps_free_request(request);
432 free((void*)datashare);
436 static void __ps_free_label(label_x *label)
441 free((void *)label->name);
445 free((void *)label->text);
449 free((void *)label->lang);
456 static void __ps_free_author(author_x *author)
461 free((void *)author->email);
462 author->email = NULL;
465 free((void *)author->text);
469 free((void *)author->href);
473 free((void *)author->lang);
480 static void __ps_free_description(description_x *description)
482 if (description == NULL)
484 if (description->name) {
485 free((void *)description->name);
486 description->name = NULL;
488 if (description->text) {
489 free((void *)description->text);
490 description->text = NULL;
492 if (description->lang) {
493 free((void *)description->lang);
494 description->lang = NULL;
496 free((void*)description);
500 static void __ps_free_license(license_x *license)
505 free((void *)license->text);
506 license->text = NULL;
509 free((void *)license->lang);
510 license->lang = NULL;
512 free((void*)license);
516 static void __ps_free_font(font_x *font)
521 free((void *)font->name);
525 free((void *)font->text);
532 static void __ps_free_theme(theme_x *theme)
537 free((void *)theme->name);
541 free((void *)theme->text);
548 static void __ps_free_daemon(daemon_x *daemon)
553 free((void *)daemon->name);
557 free((void *)daemon->text);
564 static void __ps_free_ime(ime_x *ime)
569 free((void *)ime->name);
573 free((void *)ime->text);
580 static void __ps_free_application(application_x *application)
582 if (application == NULL)
585 if (application->appid)
586 free((void *)application->appid);
587 if (application->component)
588 free((void *)application->component);
589 if (application->exec)
590 free((void *)application->exec);
591 if (application->nodisplay)
592 free((void *)application->nodisplay);
593 if (application->type)
594 free((void *)application->type);
595 if (application->onboot)
596 free((void *)application->onboot);
597 if (application->multiple)
598 free((void *)application->multiple);
599 if (application->autorestart)
600 free((void *)application->autorestart);
601 if (application->taskmanage)
602 free((void *)application->taskmanage);
603 if (application->enabled)
604 free((void *)application->enabled);
605 if (application->categories)
606 free((void *)application->categories);
607 if (application->extraid)
608 free((void *)application->extraid);
609 if (application->hwacceleration)
610 free((void *)application->hwacceleration);
611 if (application->screenreader)
612 free((void *)application->screenreader);
613 if (application->mainapp)
614 free((void *)application->mainapp);
615 if (application->recentimage)
616 free((void *)application->recentimage);
617 if (application->launchcondition)
618 free((void *)application->launchcondition);
619 if (application->indicatordisplay)
620 free((void *)application->indicatordisplay);
621 if (application->portraitimg)
622 free((void *)application->portraitimg);
623 if (application->landscapeimg)
624 free((void *)application->landscapeimg);
625 if (application->guestmode_visibility)
626 free((void *)application->guestmode_visibility);
627 if (application->permission_type)
628 free((void *)application->permission_type);
629 if (application->preload)
630 free((void *)application->preload);
631 if (application->submode)
632 free((void *)application->submode);
633 if (application->submode_mainid)
634 free((void *)application->submode_mainid);
635 if (application->launch_mode)
636 free((void *)application->launch_mode);
637 if (application->ui_gadget)
638 free((void *)application->ui_gadget);
639 if (application->component_type)
640 free((void *)application->component_type);
641 if (application->package)
642 free((void *)application->package);
643 if (application->support_disable)
644 free((void *)application->support_disable);
647 if (application->label) {
648 label_x *label = application->label;
650 while(label != NULL) {
652 __ps_free_label(label);
657 if (application->icon) {
658 icon_x *icon = application->icon;
660 while(icon != NULL) {
662 __ps_free_icon(icon);
667 if (application->image) {
668 image_x *image = application->image;
670 while(image != NULL) {
672 __ps_free_image(image);
677 if (application->appsvc) {
678 appsvc_x *appsvc = application->appsvc;
679 appsvc_x *tmp = NULL;
680 while(appsvc != NULL) {
682 __ps_free_appsvc(appsvc);
687 if (application->appcontrol) {
688 appcontrol_x *appcontrol = application->appcontrol;
689 appcontrol_x *tmp = NULL;
690 while(appcontrol != NULL) {
691 tmp = appcontrol->next;
692 __ps_free_appcontrol(appcontrol);
697 if (application->category) {
698 category_x *category = application->category;
699 category_x *tmp = NULL;
700 while(category != NULL) {
701 tmp = category->next;
702 __ps_free_category(category);
707 if (application->metadata) {
708 metadata_x *metadata = application->metadata;
709 metadata_x *tmp = NULL;
710 while(metadata != NULL) {
711 tmp = metadata->next;
712 __ps_free_metadata(metadata);
717 if (application->permission) {
718 permission_x *permission = application->permission;
719 permission_x *tmp = NULL;
720 while(permission != NULL) {
721 tmp = permission->next;
722 __ps_free_permission(permission);
726 /*Free LaunchConditions*/
727 if (application->launchconditions) {
728 launchconditions_x *launchconditions = application->launchconditions;
729 launchconditions_x *tmp = NULL;
730 while(launchconditions != NULL) {
731 tmp = launchconditions->next;
732 __ps_free_launchconditions(launchconditions);
733 launchconditions = tmp;
736 /*Free Notification*/
737 if (application->notification) {
738 notification_x *notification = application->notification;
739 notification_x *tmp = NULL;
740 while(notification != NULL) {
741 tmp = notification->next;
742 __ps_free_notification(notification);
747 if (application->datashare) {
748 datashare_x *datashare = application->datashare;
749 datashare_x *tmp = NULL;
750 while(datashare != NULL) {
751 tmp = datashare->next;
752 __ps_free_datashare(datashare);
757 if (application->datacontrol) {
758 datacontrol_x *datacontrol = application->datacontrol;
759 datacontrol_x *tmp = NULL;
760 while(datacontrol != NULL) {
761 tmp = datacontrol->next;
762 __ps_free_datacontrol(datacontrol);
766 free((void *)application);
769 API void pkgmgrinfo_basic_free_application(application_x *application)
771 __ps_free_application(application);
774 API void pkgmgrinfo_basic_free_package(package_x *package)
778 if (package->for_all_users) {
779 free((void *)package->for_all_users);
780 package->for_all_users = NULL;
783 free((void *)package->ns);
786 if (package->package) {
787 free((void *)package->package);
788 package->package = NULL;
790 if (package->version) {
791 free((void *)package->version);
792 package->version = NULL;
794 if (package->installlocation) {
795 free((void *)package->installlocation);
796 package->installlocation = NULL;
798 if (package->preload) {
799 free((void *)package->preload);
800 package->preload = NULL;
802 if (package->readonly) {
803 free((void *)package->readonly);
804 package->readonly = NULL;
806 if (package->removable) {
807 free((void *)package->removable);
808 package->removable = NULL;
810 if (package->update) {
811 free((void *)package->update);
812 package->update = NULL;
814 if (package->system) {
815 free((void *)package->system);
816 package->system = NULL;
819 free((void *)package->type);
820 package->type = NULL;
822 if (package->package_size) {
823 free((void *)package->package_size);
824 package->package_size = NULL;
826 if (package->installed_time) {
827 free((void *)package->installed_time);
828 package->installed_time = NULL;
830 if (package->installed_storage) {
831 free((void *)package->installed_storage);
832 package->installed_storage = NULL;
834 if (package->storeclient_id) {
835 free((void *)package->storeclient_id);
836 package->storeclient_id = NULL;
838 if (package->mainapp_id) {
839 free((void *)package->mainapp_id);
840 package->mainapp_id = NULL;
842 if (package->package_url) {
843 free((void *)package->package_url);
844 package->package_url = NULL;
846 if (package->root_path) {
847 free((void *)package->root_path);
848 package->root_path = NULL;
850 if (package->csc_path) {
851 free((void *)package->csc_path);
852 package->csc_path = NULL;
854 if (package->appsetting) {
855 free((void *)package->appsetting);
856 package->appsetting = NULL;
858 if (package->nodisplay_setting) {
859 free((void *)package->nodisplay_setting);
860 package->nodisplay_setting = NULL;
862 if (package->api_version) {
863 free((void *)package->api_version);
864 package->api_version = NULL;
866 if (package->support_disable) {
867 free((void *)package->support_disable);
868 package->support_disable = NULL;
873 icon_x *icon = package->icon;
875 while(icon != NULL) {
877 __ps_free_icon(icon);
882 if (package->label) {
883 label_x *label = package->label;
885 while(label != NULL) {
887 __ps_free_label(label);
892 if (package->author) {
893 author_x *author = package->author;
894 author_x *tmp = NULL;
895 while(author != NULL) {
897 __ps_free_author(author);
902 if (package->description) {
903 description_x *description = package->description;
904 description_x *tmp = NULL;
905 while(description != NULL) {
906 tmp = description->next;
907 __ps_free_description(description);
912 if (package->license) {
913 license_x *license = package->license;
914 license_x *tmp = NULL;
915 while(license != NULL) {
917 __ps_free_license(license);
922 if (package->privileges) {
923 privileges_x *privileges = package->privileges;
924 privileges_x *tmp = NULL;
925 while(privileges != NULL) {
926 tmp = privileges->next;
927 __ps_free_privileges(privileges);
932 if (package->application) {
933 application_x *application = package->application;
934 application_x *tmp = NULL;
935 while(application != NULL) {
936 tmp = application->next;
937 __ps_free_application(application);
942 if (package->daemon) {
943 daemon_x *daemon = package->daemon;
944 daemon_x *tmp = NULL;
945 while(daemon != NULL) {
947 __ps_free_daemon(daemon);
952 if (package->theme) {
953 theme_x *theme = package->theme;
955 while(theme != NULL) {
957 __ps_free_theme(theme);
963 font_x *font = package->font;
965 while(font != NULL) {
967 __ps_free_font(font);
973 ime_x *ime = package->ime;
981 /*Free Compatibility*/
982 if (package->compatibility) {
983 compatibility_x *compatibility = package->compatibility;
984 compatibility_x *tmp = NULL;
985 while(compatibility != NULL) {
986 tmp = compatibility->next;
987 __ps_free_compatibility(compatibility);
991 /*Free DeviceProfile*/
992 if (package->deviceprofile) {
993 deviceprofile_x *deviceprofile = package->deviceprofile;
994 deviceprofile_x *tmp = NULL;
995 while(deviceprofile != NULL) {
996 tmp = deviceprofile->next;
997 __ps_free_deviceprofile(deviceprofile);
1001 free((void*)package);