-->
<property name="ConnectionBus" type="s" access="read"/>
+ <!-- SortKey:
+ A string that can be used for sorting drive objects.
+ -->
+ <property name="SortKey" type="s" access="read"/>
+
<!--
Eject:
@options: Options (currently unused except for <link linkend="udisks-std-options">standard options</link>).
udisks_drive_get_size
udisks_drive_get_vendor
udisks_drive_get_wwn
+udisks_drive_get_sort_key
udisks_drive_set_connection_bus
udisks_drive_set_media
udisks_drive_set_media_compatibility
udisks_drive_set_size
udisks_drive_set_vendor
udisks_drive_set_wwn
+udisks_drive_set_sort_key
UDisksDriveProxy
UDisksDriveProxyClass
udisks_drive_proxy_new
gboolean ata_smart_failing;
gdouble ata_smart_temperature;
guint64 ata_smart_power_on_seconds;
+
+ guint64 detection_time_at_construction;
};
G_LOCK_DEFINE_STATIC (drive_lock);
{
UDisksDrive *iface = UDISKS_DRIVE (_iface);
GUdevDevice *device;
+ gchar *sort_key;
+ const gchar *name;
if (drive->devices == NULL)
goto out;
drive_set_media (drive, iface, device);
drive_set_rotation_rate (drive, iface, device);
drive_set_connection_bus (drive, iface, device);
+
+ /* This is pretty lame but works for now
+ *
+ * TODO: we probably want to make it so devices inserted last sorts
+ * last in the list etc.
+ */
+ name = g_udev_device_get_name (device);
+ if (g_str_has_prefix (name, "sd"))
+ sort_key = g_strdup_printf ("z_%s", name);
+ else
+ sort_key = g_strdup (name);
+ udisks_drive_set_sort_key (iface, sort_key);
+ g_free (sort_key);
out:
;
}