1 #ifdef HAVE_CONFIG_H 2 #include "config.h" 3 #endif 4 5 #include "e_fm_shared_types.h" 6 #include "e_fm_shared_device.h" 7 8 void _e_fm_shared_device_storage_free(E_Storage * s)9_e_fm_shared_device_storage_free(E_Storage *s) 10 { 11 E_Volume *v; 12 EINA_LIST_FREE(s->volumes, v) 13 { 14 v->storage = NULL; 15 _e_fm_shared_device_volume_free(v); 16 } 17 eina_stringshare_del(s->udi); 18 eina_stringshare_del(s->bus); 19 eina_stringshare_del(s->drive_type); 20 eina_stringshare_del(s->model); 21 eina_stringshare_del(s->vendor); 22 eina_stringshare_del(s->serial); 23 eina_stringshare_del(s->icon.drive); 24 eina_stringshare_del(s->icon.volume); 25 #ifdef HAVE_UDISKS_MOUNT 26 eina_stringshare_del(s->dbus_path); 27 #endif 28 #ifdef HAVE_EEZE_MOUNT 29 if (s->disk) eeze_disk_free(s->disk); 30 #endif 31 free(s); 32 } 33 34 void _e_fm_shared_device_volume_free(E_Volume * v)35_e_fm_shared_device_volume_free(E_Volume *v) 36 { 37 if (v->storage) 38 { 39 v->storage->volumes = eina_list_remove(v->storage->volumes, v); 40 v->storage = NULL; 41 } 42 if (v->udi) eina_stringshare_del(v->udi); 43 if (v->uuid) eina_stringshare_del(v->uuid); 44 if (v->label) eina_stringshare_del(v->label); 45 if (v->icon) eina_stringshare_del(v->icon); 46 if (v->fstype) eina_stringshare_del(v->fstype); 47 if (v->partition_label) eina_stringshare_del(v->partition_label); 48 if (v->mount_point) eina_stringshare_del(v->mount_point); 49 if (v->parent) eina_stringshare_del(v->parent); 50 #ifdef HAVE_UDISKS_MOUNT 51 eina_stringshare_del(v->dbus_path); 52 #endif 53 free(v); 54 } 55 56