add and implement EEZE_DISK_TYPE_FLASH for flash cards
SVN revision: 62879
This commit is contained in:
parent
ba66da6e8b
commit
59ede5ee9f
|
@ -36,9 +36,10 @@ extern "C" {
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
EEZE_DISK_TYPE_UNKNOWN = 0, /**< type could not be determined */
|
EEZE_DISK_TYPE_UNKNOWN = 0, /**< type could not be determined */
|
||||||
EEZE_DISK_TYPE_INTERNAL = 1, /**< internal drive */
|
EEZE_DISK_TYPE_INTERNAL = (1 << 0), /**< internal drive */
|
||||||
EEZE_DISK_TYPE_CDROM = 2, /**< cdrom drive */
|
EEZE_DISK_TYPE_CDROM = (1 << 1), /**< cdrom drive */
|
||||||
EEZE_DISK_TYPE_USB = 4 /**< usb drive */
|
EEZE_DISK_TYPE_USB = (1 << 2), /**< usb drive */
|
||||||
|
EEZE_DISK_TYPE_FLASH = (1 << 3) /**< flash disk */
|
||||||
} Eeze_Disk_Type;
|
} Eeze_Disk_Type;
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
|
|
|
@ -54,11 +54,23 @@ _eeze_disk_type_find(Eeze_Disk *disk)
|
||||||
if ((!test) && (!filesystem))
|
if ((!test) && (!filesystem))
|
||||||
test = _walk_children_get_attr(disk->syspath, "ID_BUS", "block", EINA_TRUE);
|
test = _walk_children_get_attr(disk->syspath, "ID_BUS", "block", EINA_TRUE);
|
||||||
if (!test)
|
if (!test)
|
||||||
return EEZE_DISK_TYPE_UNKNOWN; /* FIXME */
|
{
|
||||||
|
_udev_device *dev;
|
||||||
|
|
||||||
|
for (dev = udev_device_get_parent(disk->device); dev; dev = udev_device_get_parent(dev))
|
||||||
|
{
|
||||||
|
test = udev_device_get_subsystem(dev);
|
||||||
|
if (!test) return EEZE_DISK_TYPE_UNKNOWN;
|
||||||
|
if (!strcmp(test, "block"))) continue;
|
||||||
|
if (!strcmp(test, "mmc")) return EEZE_DISK_TYPE_FLASH;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return EEZE_DISK_TYPE_UNKNOWN; /* FIXME */
|
||||||
|
}
|
||||||
|
|
||||||
if (!strcmp(test, "ata")) ret = EEZE_DISK_TYPE_INTERNAL;
|
if (!strcmp(test, "ata")) ret = EEZE_DISK_TYPE_INTERNAL;
|
||||||
else if (!strcmp(test, "usb")) ret = EEZE_DISK_TYPE_USB;
|
else if (!strcmp(test, "usb")) ret = EEZE_DISK_TYPE_USB;
|
||||||
else ret = EEZE_DISK_TYPE_UNKNOWN;
|
else ret = EEZE_DISK_TYPE_UNKNOWN; /* FIXME */
|
||||||
|
|
||||||
eina_stringshare_del(test);
|
eina_stringshare_del(test);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue