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);
103 if (appcontrol->visibility)
104 free((void *)appcontrol->visibility);
107 free((void *)appcontrol->id);
109 if (appcontrol->privileges)
110 g_list_free_full(appcontrol->privileges, free);
111 free((void *)appcontrol);
114 static void __ps_free_define(gpointer data)
116 define_x *define = (define_x *)data;
121 free((void *)define->path);
123 g_list_free_full(define->request, free);
125 g_list_free_full(define->allowed, free);
126 free((void *)define);
129 static void __ps_free_datashare(gpointer data)
131 datashare_x *datashare = (datashare_x *)data;
132 if (datashare == NULL)
135 g_list_free_full(datashare->define, __ps_free_define);
137 g_list_free_full(datashare->request, free);
138 free((void *)datashare);
141 static void __ps_free_label(gpointer data)
143 label_x *label = (label_x *)data;
147 free((void *)label->name);
149 free((void *)label->text);
151 free((void *)label->lang);
155 static void __ps_free_author(gpointer data)
157 author_x *author = (author_x *)data;
161 free((void *)author->email);
163 free((void *)author->text);
165 free((void *)author->href);
167 free((void *)author->lang);
168 free((void *)author);
171 static void __ps_free_description(gpointer data)
173 description_x *description = (description_x *)data;
174 if (description == NULL)
176 if (description->name)
177 free((void *)description->name);
178 if (description->text)
179 free((void *)description->text);
180 if (description->lang)
181 free((void *)description->lang);
182 free((void *)description);
185 static void __ps_free_license(gpointer data)
187 license_x *license = (license_x *)data;
191 free((void *)license->text);
193 free((void *)license->lang);
194 free((void *)license);
197 static void __ps_free_splashscreen(gpointer data)
199 splashscreen_x *splashscreen = (splashscreen_x *)data;
200 if (splashscreen == NULL)
202 if (splashscreen->src)
203 free((void *)splashscreen->src);
204 if (splashscreen->type)
205 free((void *)splashscreen->type);
206 if (splashscreen->dpi)
207 free((void *)splashscreen->dpi);
208 if (splashscreen->orientation)
209 free((void *)splashscreen->orientation);
210 if (splashscreen->indicatordisplay)
211 free((void *)splashscreen->indicatordisplay);
212 if (splashscreen->operation)
213 free((void *)splashscreen->operation);
214 if (splashscreen->color_depth)
215 free((void *)splashscreen->color_depth);
216 free((void *)splashscreen);
219 static void __ps_free_privilege(gpointer data)
221 privilege_x *privilege = (privilege_x *)data;
222 if (privilege == NULL)
225 free((void *)privilege->type);
226 if (privilege->value)
227 free((void *)privilege->value);
228 free((void *)privilege);
231 static void __ps_free_appdefined_privilege(gpointer data)
233 appdefined_privilege_x *privilege = (appdefined_privilege_x *)data;
234 if (privilege == NULL)
237 free((void *)privilege->type);
238 if (privilege->value)
239 free((void *)privilege->value);
240 if (privilege->license)
241 free((void *)privilege->license);
242 free((void *)privilege);
245 static void __ps_free_datacontrol(gpointer data)
247 datacontrol_x *datacontrol = (datacontrol_x *)data;
248 if (datacontrol == NULL)
250 if (datacontrol->providerid)
251 free((void *)datacontrol->providerid);
252 if (datacontrol->access)
253 free((void *)datacontrol->access);
254 if (datacontrol->type)
255 free((void *)datacontrol->type);
256 if (datacontrol->trusted)
257 free((void *)datacontrol->trusted);
258 if (datacontrol->privileges)
259 g_list_free_full(datacontrol->privileges, free);
260 free((void *)datacontrol);
263 static void __ps_free_dependency(gpointer data)
265 dependency_x *dependency = (dependency_x *)data;
266 if (dependency == NULL)
268 if (dependency->depends_on)
269 free((void *)dependency->depends_on);
270 if (dependency->type)
271 free((void *)dependency->type);
272 if (dependency->required_version)
273 free((void *)dependency->required_version);
274 free((void *)dependency);
277 static void __ps_free_application(gpointer data)
279 application_x *application = (application_x *)data;
280 if (application == NULL)
283 if (application->appid)
284 free((void *)application->appid);
285 if (application->component)
286 free((void *)application->component);
287 if (application->exec)
288 free((void *)application->exec);
289 if (application->nodisplay)
290 free((void *)application->nodisplay);
291 if (application->type)
292 free((void *)application->type);
293 if (application->onboot)
294 free((void *)application->onboot);
295 if (application->multiple)
296 free((void *)application->multiple);
297 if (application->autorestart)
298 free((void *)application->autorestart);
299 if (application->taskmanage)
300 free((void *)application->taskmanage);
301 if (application->categories)
302 free((void *)application->categories);
303 if (application->extraid)
304 free((void *)application->extraid);
305 if (application->hwacceleration)
306 free((void *)application->hwacceleration);
307 if (application->screenreader)
308 free((void *)application->screenreader);
309 if (application->mainapp)
310 free((void *)application->mainapp);
311 if (application->recentimage)
312 free((void *)application->recentimage);
313 if (application->launchcondition)
314 free((void *)application->launchcondition);
315 if (application->indicatordisplay)
316 free((void *)application->indicatordisplay);
317 if (application->portraitimg)
318 free((void *)application->portraitimg);
319 if (application->landscapeimg)
320 free((void *)application->landscapeimg);
321 if (application->guestmode_visibility)
322 free((void *)application->guestmode_visibility);
323 if (application->permission_type)
324 free((void *)application->permission_type);
325 if (application->preload)
326 free((void *)application->preload);
327 if (application->submode)
328 free((void *)application->submode);
329 if (application->submode_mainid)
330 free((void *)application->submode_mainid);
331 if (application->process_pool)
332 free((void *)application->process_pool);
333 if (application->installed_storage)
334 free((void *)application->installed_storage);
335 if (application->launch_mode)
336 free((void *)application->launch_mode);
337 if (application->ui_gadget)
338 free((void *)application->ui_gadget);
339 if (application->component_type)
340 free((void *)application->component_type);
341 if (application->package)
342 free((void *)application->package);
343 if (application->support_disable)
344 free((void *)application->support_disable);
345 if (application->tep_name)
346 free((void *)application->tep_name);
347 if (application->zip_mount_file)
348 free((void *)application->zip_mount_file);
349 if (application->root_path)
350 free((void *)application->root_path);
351 if (application->api_version)
352 free((void *)application->api_version);
353 if (application->for_all_users)
354 free((void *)application->for_all_users);
355 if (application->effective_appid)
356 free((void *)application->effective_appid);
357 if (application->is_disabled)
358 free((void *)application->is_disabled);
359 if (application->splash_screen_display)
360 free((void *)application->splash_screen_display);
361 if (application->effectimage_type)
362 free((void *)application->effectimage_type);
363 if (application->package_type)
364 free((void *)application->package_type);
365 if (application->support_ambient)
366 free((void *)application->support_ambient);
367 if (application->alias_appid)
368 free((void *)application->alias_appid);
369 if (application->external_path)
370 free((void *)application->external_path);
371 if (application->package_system)
372 free((void *)application->package_system);
373 if (application->removable)
374 free((void *)application->removable);
375 if (application->package_installed_time)
376 free((void *)application->package_installed_time);
377 if (application->support_mode)
378 free((void *)application->support_mode);
379 if (application->setup_appid)
380 free((void *)application->setup_appid);
383 g_list_free_full(application->label, __ps_free_label);
385 g_list_free_full(application->icon, __ps_free_icon);
387 g_list_free_full(application->image, __ps_free_image);
389 g_list_free_full(application->appcontrol, __ps_free_appcontrol);
391 g_list_free_full(application->category, free);
393 g_list_free_full(application->metadata, __ps_free_metadata);
395 g_list_free_full(application->permission, __ps_free_permission);
396 /*Free LaunchConditions*/
397 g_list_free_full(application->launchconditions, free);
398 /*Free Notification*/
399 g_list_free_full(application->notification, __ps_free_notification);
401 g_list_free_full(application->datashare, __ps_free_datashare);
403 g_list_free_full(application->datacontrol, __ps_free_datacontrol);
404 /*Free BackgroundCategory*/
405 g_list_free_full(application->background_category, free);
406 /*Free SplashScreen*/
407 g_list_free_full(application->splashscreens, __ps_free_splashscreen);
409 free((void *)application);
412 API void pkgmgrinfo_basic_free_application(application_x *application)
414 __ps_free_application(application);
417 API void pkgmgrinfo_basic_free_package(package_x *package)
421 if (package->for_all_users)
422 free((void *)package->for_all_users);
424 free((void *)package->ns);
425 if (package->package)
426 free((void *)package->package);
427 if (package->version)
428 free((void *)package->version);
429 if (package->installlocation)
430 free((void *)package->installlocation);
431 if (package->preload)
432 free((void *)package->preload);
433 if (package->readonly)
434 free((void *)package->readonly);
435 if (package->removable)
436 free((void *)package->removable);
438 free((void *)package->update);
440 free((void *)package->system);
442 free((void *)package->type);
443 if (package->package_size)
444 free((void *)package->package_size);
445 if (package->installed_time)
446 free((void *)package->installed_time);
447 if (package->installed_storage)
448 free((void *)package->installed_storage);
449 if (package->storeclient_id)
450 free((void *)package->storeclient_id);
451 if (package->mainapp_id)
452 free((void *)package->mainapp_id);
453 if (package->package_url)
454 free((void *)package->package_url);
455 if (package->root_path)
456 free((void *)package->root_path);
457 if (package->csc_path)
458 free((void *)package->csc_path);
459 if (package->appsetting)
460 free((void *)package->appsetting);
461 if (package->nodisplay_setting)
462 free((void *)package->nodisplay_setting);
463 if (package->api_version)
464 free((void *)package->api_version);
465 if (package->support_disable)
466 free((void *)package->support_disable);
467 if (package->tep_name)
468 free((void *)package->tep_name);
469 if (package->zip_mount_file)
470 free((void *)package->zip_mount_file);
471 if (package->external_path)
472 free((void *)package->external_path);
473 if (package->support_mode)
474 free((void *)package->support_mode);
475 if (package->use_system_certs)
476 free((void *)package->use_system_certs);
479 g_list_free_full(package->icon, __ps_free_icon);
481 g_list_free_full(package->label, __ps_free_label);
483 g_list_free_full(package->author, __ps_free_author);
485 g_list_free_full(package->description, __ps_free_description);
487 g_list_free_full(package->license, __ps_free_license);
489 g_list_free_full(package->privileges, __ps_free_privilege);
490 /*Free AppDefined Privileges*/
491 g_list_free_full(package->appdefined_privileges,
492 __ps_free_appdefined_privilege);
493 /*Free Providing AppDefined Privileges*/
494 g_list_free_full(package->provides_appdefined_privileges,
495 __ps_free_appdefined_privilege);
497 g_list_free_full(package->application, __ps_free_application);
498 /*Free Compatibility*/
499 g_list_free_full(package->compatibility, __ps_free_compatibility);
500 /*Free Device profiles*/
501 g_list_free_full(package->deviceprofile, free);
502 /*Free Dependencies*/
503 g_list_free_full(package->dependencies, __ps_free_dependency);
504 free((void *)package);