3 #include "pkgmgrinfo_basic.h"
6 #define API __attribute__ ((visibility("default")))
9 static void __ps_free_metadata(gpointer data)
11 metadata_x *metadata = (metadata_x *)data;
15 free((void *)metadata->key);
17 free((void *)metadata->value);
18 free((void *)metadata);
21 static void __ps_free_permission(gpointer data)
23 permission_x *permission = (permission_x *)data;
24 if (permission == NULL)
27 free((void *)permission->type);
28 if (permission->value)
29 free((void *)permission->value);
30 free((void *)permission);
33 static void __ps_free_icon(gpointer data)
35 icon_x *icon = (icon_x *)data;
39 free((void *)icon->text);
41 free((void *)icon->lang);
43 free((void *)icon->section);
45 free((void *)icon->size);
47 free((void *)icon->resolution);
49 free((void *)icon->dpi);
53 static void __ps_free_image(gpointer data)
55 image_x *image = (image_x *)data;
59 free((void *)image->text);
61 free((void *)image->lang);
63 free((void *)image->section);
67 static void __ps_free_notification(gpointer data)
69 notification_x *notification = (notification_x *)data;
70 if (notification == NULL)
72 if (notification->text)
73 free((void *)notification->text);
74 if (notification->name)
75 free((void *)notification->name);
76 free((void *)notification);
79 static void __ps_free_compatibility(gpointer data)
81 compatibility_x *compatibility = (compatibility_x *)data;
82 if (compatibility == NULL)
84 if (compatibility->text)
85 free((void *)compatibility->text);
86 if (compatibility->name)
87 free((void *)compatibility->name);
88 free((void *)compatibility);
91 static void __ps_free_plugin_info(gpointer data)
93 plugin_x *plugin = (plugin_x *)data;
97 free((void *)plugin->pkgid);
99 free((void *)plugin->appid);
100 if (plugin->plugin_type)
101 free((void *)plugin->plugin_type);
102 if (plugin->plugin_name)
103 free((void *)plugin->plugin_name);
104 free((void *)plugin);
107 static void __ps_free_appcontrol(gpointer data)
109 appcontrol_x *appcontrol = (appcontrol_x *)data;
110 if (appcontrol == NULL)
113 if (appcontrol->operation)
114 free((void *)appcontrol->operation);
117 free((void *)appcontrol->uri);
119 if (appcontrol->mime)
120 free((void *)appcontrol->mime);
122 if (appcontrol->visibility)
123 free((void *)appcontrol->visibility);
126 free((void *)appcontrol->id);
128 if (appcontrol->privileges)
129 g_list_free_full(appcontrol->privileges, free);
130 free((void *)appcontrol);
133 static void __ps_free_define(gpointer data)
135 define_x *define = (define_x *)data;
140 free((void *)define->path);
142 g_list_free_full(define->request, free);
144 g_list_free_full(define->allowed, free);
145 free((void *)define);
148 static void __ps_free_datashare(gpointer data)
150 datashare_x *datashare = (datashare_x *)data;
151 if (datashare == NULL)
154 g_list_free_full(datashare->define, __ps_free_define);
156 g_list_free_full(datashare->request, free);
157 free((void *)datashare);
160 static void __ps_free_label(gpointer data)
162 label_x *label = (label_x *)data;
166 free((void *)label->name);
168 free((void *)label->text);
170 free((void *)label->lang);
174 static void __ps_free_author(gpointer data)
176 author_x *author = (author_x *)data;
180 free((void *)author->email);
182 free((void *)author->text);
184 free((void *)author->href);
186 free((void *)author->lang);
187 free((void *)author);
190 static void __ps_free_description(gpointer data)
192 description_x *description = (description_x *)data;
193 if (description == NULL)
195 if (description->name)
196 free((void *)description->name);
197 if (description->text)
198 free((void *)description->text);
199 if (description->lang)
200 free((void *)description->lang);
201 free((void *)description);
204 static void __ps_free_license(gpointer data)
206 license_x *license = (license_x *)data;
210 free((void *)license->text);
212 free((void *)license->lang);
213 free((void *)license);
216 static void __ps_free_splashscreen(gpointer data)
218 splashscreen_x *splashscreen = (splashscreen_x *)data;
219 if (splashscreen == NULL)
221 if (splashscreen->src)
222 free((void *)splashscreen->src);
223 if (splashscreen->type)
224 free((void *)splashscreen->type);
225 if (splashscreen->dpi)
226 free((void *)splashscreen->dpi);
227 if (splashscreen->orientation)
228 free((void *)splashscreen->orientation);
229 if (splashscreen->indicatordisplay)
230 free((void *)splashscreen->indicatordisplay);
231 if (splashscreen->operation)
232 free((void *)splashscreen->operation);
233 if (splashscreen->color_depth)
234 free((void *)splashscreen->color_depth);
235 free((void *)splashscreen);
238 static void __ps_free_privilege(gpointer data)
240 privilege_x *privilege = (privilege_x *)data;
241 if (privilege == NULL)
244 free((void *)privilege->type);
245 if (privilege->value)
246 free((void *)privilege->value);
247 free((void *)privilege);
250 static void __ps_free_appdefined_privilege(gpointer data)
252 appdefined_privilege_x *privilege = (appdefined_privilege_x *)data;
253 if (privilege == NULL)
256 free((void *)privilege->type);
257 if (privilege->value)
258 free((void *)privilege->value);
259 if (privilege->license)
260 free((void *)privilege->license);
261 free((void *)privilege);
264 static void __ps_free_datacontrol(gpointer data)
266 datacontrol_x *datacontrol = (datacontrol_x *)data;
267 if (datacontrol == NULL)
269 if (datacontrol->providerid)
270 free((void *)datacontrol->providerid);
271 if (datacontrol->access)
272 free((void *)datacontrol->access);
273 if (datacontrol->type)
274 free((void *)datacontrol->type);
275 if (datacontrol->trusted)
276 free((void *)datacontrol->trusted);
277 if (datacontrol->privileges)
278 g_list_free_full(datacontrol->privileges, free);
279 free((void *)datacontrol);
282 static void __ps_free_dependency(gpointer data)
284 dependency_x *dependency = (dependency_x *)data;
285 if (dependency == NULL)
287 if (dependency->pkgid)
288 free((void *)dependency->pkgid);
289 if (dependency->depends_on)
290 free((void *)dependency->depends_on);
291 if (dependency->type)
292 free((void *)dependency->type);
293 if (dependency->required_version)
294 free((void *)dependency->required_version);
295 free((void *)dependency);
298 static void __ps_free_application(gpointer data)
300 application_x *application = (application_x *)data;
301 if (application == NULL)
304 if (application->appid)
305 free((void *)application->appid);
306 if (application->component)
307 free((void *)application->component);
308 if (application->exec)
309 free((void *)application->exec);
310 if (application->nodisplay)
311 free((void *)application->nodisplay);
312 if (application->type)
313 free((void *)application->type);
314 if (application->onboot)
315 free((void *)application->onboot);
316 if (application->multiple)
317 free((void *)application->multiple);
318 if (application->autorestart)
319 free((void *)application->autorestart);
320 if (application->taskmanage)
321 free((void *)application->taskmanage);
322 if (application->categories)
323 free((void *)application->categories);
324 if (application->extraid)
325 free((void *)application->extraid);
326 if (application->hwacceleration)
327 free((void *)application->hwacceleration);
328 if (application->screenreader)
329 free((void *)application->screenreader);
330 if (application->mainapp)
331 free((void *)application->mainapp);
332 if (application->recentimage)
333 free((void *)application->recentimage);
334 if (application->launchcondition)
335 free((void *)application->launchcondition);
336 if (application->indicatordisplay)
337 free((void *)application->indicatordisplay);
338 if (application->portraitimg)
339 free((void *)application->portraitimg);
340 if (application->landscapeimg)
341 free((void *)application->landscapeimg);
342 if (application->guestmode_visibility)
343 free((void *)application->guestmode_visibility);
344 if (application->permission_type)
345 free((void *)application->permission_type);
346 if (application->preload)
347 free((void *)application->preload);
348 if (application->submode)
349 free((void *)application->submode);
350 if (application->submode_mainid)
351 free((void *)application->submode_mainid);
352 if (application->process_pool)
353 free((void *)application->process_pool);
354 if (application->installed_storage)
355 free((void *)application->installed_storage);
356 if (application->launch_mode)
357 free((void *)application->launch_mode);
358 if (application->ui_gadget)
359 free((void *)application->ui_gadget);
360 if (application->component_type)
361 free((void *)application->component_type);
362 if (application->package)
363 free((void *)application->package);
364 if (application->support_disable)
365 free((void *)application->support_disable);
366 if (application->tep_name)
367 free((void *)application->tep_name);
368 if (application->zip_mount_file)
369 free((void *)application->zip_mount_file);
370 if (application->root_path)
371 free((void *)application->root_path);
372 if (application->api_version)
373 free((void *)application->api_version);
374 if (application->for_all_users)
375 free((void *)application->for_all_users);
376 if (application->effective_appid)
377 free((void *)application->effective_appid);
378 if (application->is_disabled)
379 free((void *)application->is_disabled);
380 if (application->splash_screen_display)
381 free((void *)application->splash_screen_display);
382 if (application->effectimage_type)
383 free((void *)application->effectimage_type);
384 if (application->package_type)
385 free((void *)application->package_type);
386 if (application->support_ambient)
387 free((void *)application->support_ambient);
388 if (application->alias_appid)
389 free((void *)application->alias_appid);
390 if (application->external_path)
391 free((void *)application->external_path);
392 if (application->package_system)
393 free((void *)application->package_system);
394 if (application->removable)
395 free((void *)application->removable);
396 if (application->package_installed_time)
397 free((void *)application->package_installed_time);
398 if (application->support_mode)
399 free((void *)application->support_mode);
400 if (application->setup_appid)
401 free((void *)application->setup_appid);
402 if (application->locale)
403 free((void *)application->locale);
406 g_list_free_full(application->label, __ps_free_label);
408 g_list_free_full(application->icon, __ps_free_icon);
410 g_list_free_full(application->image, __ps_free_image);
412 g_list_free_full(application->appcontrol, __ps_free_appcontrol);
414 g_list_free_full(application->category, free);
416 g_list_free_full(application->metadata, __ps_free_metadata);
418 g_list_free_full(application->permission, __ps_free_permission);
419 /*Free LaunchConditions*/
420 g_list_free_full(application->launchconditions, free);
421 /*Free Notification*/
422 g_list_free_full(application->notification, __ps_free_notification);
424 g_list_free_full(application->datashare, __ps_free_datashare);
426 g_list_free_full(application->datacontrol, __ps_free_datacontrol);
427 /*Free BackgroundCategory*/
428 g_list_free_full(application->background_category, free);
429 /*Free SplashScreen*/
430 g_list_free_full(application->splashscreens, __ps_free_splashscreen);
432 free((void *)application);
435 API void pkgmgrinfo_basic_free_application(application_x *application)
437 __ps_free_application(application);
440 API void pkgmgrinfo_basic_free_dependency(dependency_x *dependency)
442 __ps_free_dependency(dependency);
445 API void pkgmgrinfo_basic_free_package(package_x *package)
449 if (package->for_all_users)
450 free((void *)package->for_all_users);
452 free((void *)package->ns);
453 if (package->package)
454 free((void *)package->package);
455 if (package->version)
456 free((void *)package->version);
457 if (package->installlocation)
458 free((void *)package->installlocation);
459 if (package->preload)
460 free((void *)package->preload);
461 if (package->readonly)
462 free((void *)package->readonly);
463 if (package->removable)
464 free((void *)package->removable);
466 free((void *)package->update);
468 free((void *)package->system);
470 free((void *)package->type);
471 if (package->package_size)
472 free((void *)package->package_size);
473 if (package->installed_time)
474 free((void *)package->installed_time);
475 if (package->installed_storage)
476 free((void *)package->installed_storage);
477 if (package->storeclient_id)
478 free((void *)package->storeclient_id);
479 if (package->mainapp_id)
480 free((void *)package->mainapp_id);
481 if (package->package_url)
482 free((void *)package->package_url);
483 if (package->root_path)
484 free((void *)package->root_path);
485 if (package->csc_path)
486 free((void *)package->csc_path);
487 if (package->appsetting)
488 free((void *)package->appsetting);
489 if (package->nodisplay_setting)
490 free((void *)package->nodisplay_setting);
491 if (package->api_version)
492 free((void *)package->api_version);
493 if (package->support_disable)
494 free((void *)package->support_disable);
495 if (package->tep_name)
496 free((void *)package->tep_name);
497 if (package->zip_mount_file)
498 free((void *)package->zip_mount_file);
499 if (package->external_path)
500 free((void *)package->external_path);
501 if (package->support_mode)
502 free((void *)package->support_mode);
503 if (package->use_system_certs)
504 free((void *)package->use_system_certs);
506 free((void *)package->locale);
509 g_list_free_full(package->icon, __ps_free_icon);
511 g_list_free_full(package->label, __ps_free_label);
513 g_list_free_full(package->author, __ps_free_author);
515 g_list_free_full(package->description, __ps_free_description);
517 g_list_free_full(package->license, __ps_free_license);
519 g_list_free_full(package->privileges, __ps_free_privilege);
520 /*Free AppDefined Privileges*/
521 g_list_free_full(package->appdefined_privileges,
522 __ps_free_appdefined_privilege);
523 /*Free Providing AppDefined Privileges*/
524 g_list_free_full(package->provides_appdefined_privileges,
525 __ps_free_appdefined_privilege);
527 g_list_free_full(package->application, __ps_free_application);
528 /*Free Compatibility*/
529 g_list_free_full(package->compatibility, __ps_free_compatibility);
530 /*Free Device profiles*/
531 g_list_free_full(package->deviceprofile, free);
532 /*Free Dependencies*/
533 g_list_free_full(package->dependencies, __ps_free_dependency);
534 /*Free Plugin execution history*/
535 g_list_free_full(package->plugin, __ps_free_plugin_info);
536 free((void *)package);