diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 0460b1208..c7dbe3db6 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -414,6 +414,14 @@ if(NOT APPLE AND NOT WIN32)
dbus/org.freedesktop.Notifications.xml
dbus/notification)
+ # DeviceKit DBUS interfaces
+ qt4_add_dbus_interface(SOURCES
+ dbus/org.freedesktop.UDisks.xml
+ dbus/udisks)
+ qt4_add_dbus_interface(SOURCES
+ dbus/org.freedesktop.UDisks.Device.xml
+ dbus/udisksdevice)
+
# MPRIS source
list(APPEND SOURCES core/mpris.cpp)
list(APPEND HEADERS core/mpris.h)
diff --git a/src/dbus/org.freedesktop.UDisks.Device.xml b/src/dbus/org.freedesktop.UDisks.Device.xml
new file mode 100644
index 000000000..816dd6ffc
--- /dev/null
+++ b/src/dbus/org.freedesktop.UDisks.Device.xml
@@ -0,0 +1,2850 @@
+
+
+
+
+
+
+ This interface provides information about a block device on
+ a UNIX-like system. In addition to just providing
+ information, methods can be invoked to perform operations on
+ the block device. Objects implementing this interface have
+ object paths prefixed with /devices/
+ followed by a sanitized representation of the base name of
+ their native path. As the D-Bus specification greatly limits
+ what characters can be used in object paths, this doesn't
+ necessarily map one to one with the native basename; for
+ example the native
+ path /sys/devices/virtual/block/dm-0 will
+ be represented as /devices/dm_0.
+
+
+ Most methods on this interface take an array of strings
+ for options that can affect what the method does. Some of
+ these options are literal strings (such
+ as noatime) while some are encoded in the
+ form of a key/value pair (such
+ as label=).
+
+
+ A general note about properties: the set of values
+ returned can be expected to grow in the future as both
+ hardware and operating system capabilities evolve. Care
+ has been taken to namespace values so applications can
+ properly fall back (see e.g.
+ DriveMediaCompatibility)
+ and export both general and specific properties (such as
+ IdUsage
+ vs.
+ IdType).
+ In general an empty string in a property means not
+ set. Since the empty string is not a valid object path we
+ use the "/" to mean "not set" for object paths.
+
+
+
+
+
+
+
+
+
+
+
+
+ Cancels a job in progress.
+
+
+
+ The caller will need one of the following PolicyKit authorizations:
+
+
+ org.freedesktop.udisks.cancel-job-others
+ To cancel a job initiated by another user
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if the operation failed
+
+
+
+
+
+
+
+
+
+
+ The scheme of the partition table to create.
+
+
+
+ No options are currently supported.
+
+
+
+
+
+ Creates a new partition table. The following partition table schemes are supported:
+
+
+ none
+ To zero out existing partition tables signatures.
+
+
+ mbr
+
+ Use the
+ Master Boot Record
+ partitioning scheme.
+
+
+
+ gpt
+
+ Use the
+ GUID Partition Table
+ scheme.
+
+
+
+ apm
+
+ Use the
+ Apple Partition Map
+ partitioning scheme.
+
+
+
+
+
+
+ The caller will need one of the following PolicyKit authorizations:
+
+
+ org.freedesktop.udisks.change
+ If the operation is on a
+ non-system-internal
+ device
+
+
+ org.freedesktop.udisks.change-system-internal
+ If the operation is on a
+ system-internal
+ device
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if the device or a partition on it are busy
+ if the operation failed
+ if the job was cancelled
+
+
+
+
+
+
+
+
+
+ No options are currently supported.
+
+
+
+
+
+ Deletes a partition, removing it from the enclosing partition table.
+
+
+
+ The caller will need one of the following PolicyKit authorizations:
+
+
+ org.freedesktop.udisks.change
+ If the operation is on a
+ non-system-internal
+ device
+
+
+ org.freedesktop.udisks.change-system-internal
+ If the operation is on a
+ system-internal
+ device
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if the device is busy
+ if the operation failed
+ if the job was cancelled
+
+
+
+
+
+
+
+
+
+ Where on the device to create the partition.
+
+
+ Size of the partitition to create.
+
+
+
+ The type of the partition to create. Valid types depends
+ on the partitioning scheme used:
+
+
+ mbr
+
+ For the
+ Master Boot Record
+ partitioning scheme, the
+ given type must be a string representation of an
+ integer (both decimal and hexadecimal encodings are
+ accepted) between 0 and 255 both inclusive.
+
+
+
+ gpt
+
+ Any valid GUID string.
+
+
+
+ apm
+
+ Any valid type for
+ Apple Partition Map
+ for example Apple_Unix_SVR2.
+
+
+
+
+
+
+
+ The label to use for the partition. Leave blank if the
+ partition table scheme is mbr.
+
+
+
+
+ Flags to use for the partition. Valid flags depends on the
+ partitioning scheme used:
+
+
+ mbr
+
+ Only the flag boot is valid.
+
+
+
+ gpt
+
+ Only the flag required is valid.
+
+
+
+ apm
+
+ The flags
+ allocated,
+ in_use,
+ boot,
+ allow_read,
+ allow_write,
+ boot_code_is_pic
+ are valid.
+
+
+
+
+
+
+ Currently unused.
+
+
+
+ The file system to create in new partition. Leave
+ blank to skip creating a file system. See the
+ FilesystemCreate() method
+ for details.
+
+
+
+
+ Options to use for file system creation. See the
+ FilesystemCreate() method
+ for details.
+
+
+
+ The object path of the newly added partition.
+
+
+
+
+
+ Create a new partition and, optionally, create a file
+ system on it. The partition won't necessarily be created
+ at the exact location requested due to disk geometry
+ constraints.
+
+
+
+ The caller will need one of the following PolicyKit authorizations:
+
+
+ org.freedesktop.udisks.change
+ If the operation is on a
+ non-system-internal
+ device
+
+
+ org.freedesktop.udisks.change-system-internal
+ If the operation is on a
+ system-internal
+ device
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if the device is busy
+ if the operation failed
+ if the job was cancelled
+
+
+
+
+
+
+
+
+
+
+ The type of the partition to create. See the type parameter of the
+ PartitionCreate() method
+ for details on valid types.
+
+
+
+
+ The label to use for the partition. See the label parameter of the
+ PartitionCreate() method
+ for details on valid labels.
+
+
+
+
+ Flags to use for the partition. See the flags parameter of the
+ PartitionCreate() method
+ for details on valid flags
+
+
+
+
+
+
+ Modifies meta data for a partition, such as type, label and flags.
+ TODO: Consider allowing changing offset and
+ size. Or maybe that should be a separate method.
+
+
+
+ The caller will need one of the following PolicyKit authorizations:
+
+
+ org.freedesktop.udisks.change
+ If the operation is on a
+ non-system-internal
+ device
+
+
+ org.freedesktop.udisks.change-system-internal
+ If the operation is on a
+ system-internal
+ device
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if the enclosing partition table device is busy
+ if the operation failed
+ if the job was cancelled
+
+
+
+
+
+
+
+
+
+
+ The type of file system to
+ create. Pass empty to not create a file
+ system and just clear the areas of the device known to host
+ file system signatures. Use @TODO@ to get a list of file systems that can
+ be created.
+
+
+
+
+ To set the label on the file system use
+ the label=NAME option. Labels may not be
+ supported for all file systems and the allowed length of a
+ label may vary (see @TODO@). To create the file system on
+ an LUKS encrypted block device, pass
+ the luks_encrypt= option with the value
+ set to the passphrase to use. For file systems with the
+ concept of owners (e.g.
+ ext3), the options take_ownership_uid= and
+ take_ownership_gid= are supported and can be used to set the
+ initial owner of the created file system.
+
+
+
+
+
+
+ Create a file system on a device. If
+ the luks_encrypt= option is passed then an
+ LUKS encrypted block device will be created, then unlocked and
+ the file system will be created on the corresponding
+ cleartext device.
+
+
+
+ The caller will need one of the following PolicyKit authorizations:
+
+
+ org.freedesktop.udisks.change
+ If the operation is on a
+ non-system-internal
+ device
+
+
+ org.freedesktop.udisks.change-system-internal
+ If the operation is on a
+ system-internal
+ device
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if the device is busy
+ if the operation failed
+ if the job was cancelled
+ if mkfs for this type is not available
+
+
+
+
+
+
+
+
+
+
+ New label for file system.
+
+
+
+
+
+
+ Changes the file system label. See the options parameter of
+ FilesystemCreate()
+ method for details of what valid labels are valid.
+
+
+
+ The caller will need one of the following PolicyKit authorizations:
+
+
+ org.freedesktop.udisks.change
+ If the operation is on a
+ non-system-internal
+ device
+
+
+ org.freedesktop.udisks.change-system-internal
+ If the operation is on a
+ system-internal
+ device
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if the device is busy and changing the label requires an unmounted file system
+ if the operation failed
+ if the job was cancelled
+ if the label changing tool for this file system type is not available
+
+
+
+
+
+
+
+
+
+ File system type to use.
+
+
+
+ Mount Options. Valid mount options include mount options accepted by the native mount program.
+ The option auth_no_user_interaction
can be used to avoid user interaction (e.g. authentication dialogs) when checking whether the caller is authorized.
+
+
+ Where the device was mounted.
+
+
+
+
+
+ Mount the device. If the device is referenced in the
+ system-wide /etc/fstab file, the given
+ parameters are all ignored and the device will be
+ attempted to be mounted as the calling user.
+
+
+
+ The caller will need one of the following PolicyKit authorizations:
+
+
+ org.freedesktop.udisks.filesystem-mount
+ If the operation is on a
+ non-system-internal
+ device
+
+
+ org.freedesktop.udisks.filesystem-mount-system-internal
+ If the operation is on a
+ system-internal
+ device
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if the device is busy
+ if the operation failed
+ if the job was cancelled
+ if an invalid or malformed mount option was given
+ if the kernel driver for this file system type is not available
+
+
+
+
+
+
+
+
+
+ Unmount options. Valid options currently include only 'force'.
+
+
+
+
+
+ Unmount the device. If the device is referenced in the
+ system-wide /etc/fstab file (both at
+ mount time and when this method is invoked), the device
+ will be attempted to be unmounted as the calling user.
+
+
+
+ The caller will need one of the following PolicyKit authorizations:
+
+
+ org.freedesktop.udisks.filesystem-unmount-others
+ To unmount a device mounted by another user
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if the device is busy
+ if the operation failed
+ if the job was cancelled
+ if an invalid or malformed unmount option was given
+
+
+
+
+
+
+
+
+
+ Currently unused.
+
+
+
+ Returns TRUE if the file system is clean, FALSE if there are errors on the file system.
+
+
+
+
+
+
+ Perform a non-interactive file system check.
+
+
+
+ The caller will need one of the following PolicyKit authorizations:
+
+
+ org.freedesktop.udisks.filesystem-check
+ To check a file system on a
+ non-system-internal
+ device.
+
+
+ org.freedesktop.udisks.filesystem-check-system-internal
+ To check a file system on a
+ system-internal
+ device.
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if the device is mounted and the file system doesn't support online file system checking. See TODO for how to determine if a file system supports online fsck
+ if the operation failed
+ if the job was cancelled
+
+
+
+
+
+
+
+
+
+
+
+ An array of triples (pid, uid, command line for the process
+ image) for processes currently having open files on the given mounted file system.
+ Note that this operation is not run as a job.
+
+
+
+
+
+
+ List open files on a mounted file system.
+
+
+
+ The caller will need one of the following PolicyKit authorizations:
+
+
+ org.freedesktop.udisks.filesystem-lsof
+ To check a file system on a
+ non-system-internal
+ device.
+
+
+ org.freedesktop.udisks.filesystem-lsof-system-internal
+ To check a file system on a
+ system-internal
+ device.
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if the device is mounted and the file system doesn't support online file system checking. See TODO for how to determine if a file system supports online fsck
+ if the operation failed
+
+
+
+
+
+
+
+
+
+ Passphrase for unlocking the cleartext data.
+
+
+ Currently unused.
+
+
+ The cleartext device created.
+
+
+
+
+
+ Sets up a cleartext device using the given device as backing store.
+
+
+
+ The caller will need one of the following PolicyKit authorizations:
+
+
+ org.freedesktop.udisks.luks-unlock
+ To unlock LUKS encrypted devices
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if the device is busy
+ if the operation failed
+ if the job was cancelled
+
+
+
+
+
+
+
+
+
+ Currently unused.
+
+
+
+
+
+ Tears down the cleartext device set up using
+ e.g. the LuksUnlock()
+ method.
+
+
+
+ The caller will need one of the following PolicyKit authorizations:
+
+
+ org.freedesktop.udisks.luks-lock-others
+ To lock an encrypted LUKS device unlocked by another user
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if the device is busy
+ if the operation failed
+ if the job was cancelled
+
+
+
+
+
+
+
+
+
+ The current passphrase.
+
+
+ The new passphrase.
+
+
+
+
+
+ Change the passphrase used to unlock a LUKS encrypted device.
+
+
+
+ The caller will need one of the following PolicyKit authorizations:
+
+
+ org.freedesktop.udisks.change
+ If the operation is on a
+ non-system-internal
+ device
+
+
+ org.freedesktop.udisks.change-system-internal
+ If the operation is on a
+ system-internal
+ device
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if the device is busy
+ if the operation failed
+ if the job was cancelled
+
+
+
+
+
+
+
+
+
+ Object path of the component to add
+
+
+ Currently unused.
+
+
+
+
+
+ Adds a component to a Linux md RAID array. Existing data
+ on the given component will be erased.
+
+
+
+ The caller will need the following PolicyKit authorization:
+
+
+ org.freedesktop.udisks.linux-md
+
+ Needed to configured Linux md Software RAID devices.
+
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ component to add is busy
+ if the operation failed
+ if the job was cancelled
+
+
+
+
+
+
+
+
+
+ Object paths of the components to use for growing the array
+
+
+ Currently unused.
+
+
+
+
+
+ Grows the Linux md RAID array with the given components.
+
+
+
+ The caller will need the following PolicyKit authorization:
+
+
+ org.freedesktop.udisks.linux-md
+
+ Needed to configured Linux md Software RAID devices.
+
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ component to add is busy
+ if the operation failed
+ if the job was cancelled
+
+
+
+
+
+
+
+
+
+ The component to remove from the array.
+
+
+ No options are currently supported.
+
+
+
+
+
+ Removes a component from a Linux md RAID array. The component
+ will be removed and then the signatures on the component will be
+ scrubbed.
+
+
+
+ The caller will need the following PolicyKit authorization:
+
+
+ org.freedesktop.udisks.linux-md
+
+ Needed to configured Linux md Software RAID devices.
+
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ component to add is busy
+ if the operation failed
+ if the job was cancelled
+
+
+
+
+
+
+
+
+
+ Currently unused.
+
+
+
+
+
+ Stops a Linux md RAID array.
+
+
+
+ The caller will need the following PolicyKit authorization:
+
+
+ org.freedesktop.udisks.linux-md
+
+ Needed to configured Linux md Software RAID devices.
+
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if the operation failed
+ if the job was cancelled
+
+
+
+
+
+
+
+
+
+ Currently unused.
+
+
+
+
+
+ Stops a Linux LVM2 Logical Volume.
+
+
+
+ The caller will need the following PolicyKit authorization:
+
+
+ org.freedesktop.udisks.linux-lvm2
+
+ Needed to configured Linux LVM2.
+
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if the operation failed
+ if the job was cancelled
+
+
+
+
+
+
+
+
+
+
+ Use the repair option to fix any problems encountered.
+
+
+
+
+
+ Number of mismatched sectors/pages found (or fixed if the repair option is used).
+
+
+
+
+
+
+ Checks a Linux md RAID array and returns the number of
+ sectors/page with errors found/fixed. This can only be done if the
+ property
+ LinuxMdSyncAction
+ is idle
.
+
+
+
+ The caller will need the following PolicyKit authorization:
+
+
+ org.freedesktop.udisks.linux-md
+
+ Needed to configured Linux md Software RAID devices.
+
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if the operation failed
+ if the job was cancelled
+
+
+
+
+
+
+
+
+
+ Inhibit options. Currently no options are recognized.
+
+
+
+
+ A cookie that can be used in the
+ DriveUninhibitPolling() method
+ to stop inhibiting polling of the device.
+
+
+
+
+
+
+ Inhibits the daemon from polling the device for media changes.
+
+
+
+ The caller will need one of the following PolicyKit authorizations:
+
+
+ org.freedesktop.udisks.inhibit-polling
+ To inhibit polling
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if the operation failed
+
+
+
+
+
+
+
+
+
+
+
+ A cookie obtained from the
+ DriveInhibitPolling() method.
+
+
+
+
+
+
+ Uninhibits daemon from polling the device for media changes.
+
+
+
+ if the given cookie is malformed
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Polls the drive for media. This is typically only useful when the
+ DeviceIsMediaChangeDetected property
+ is FALSE.
+
+
+
+ The caller will need one of the following PolicyKit authorizations:
+
+
+ org.freedesktop.udisks.inhibit-polling
+ To inhibit polling
+
+
+
+
+ if the operation failed
+
+
+
+
+
+
+
+
+
+ Eject options. Currently no options are recognized.
+
+
+
+
+
+ Ejects media from the device.
+
+
+
+ The caller will need one of the following PolicyKit authorizations:
+
+
+ org.freedesktop.udisks.drive-eject
+ To eject media from a device
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if the device or a dependent device (e.g. partition or cleartext luks device) is busy (e.g. mounted)
+ if the operation failed
+ if the job was cancelled
+ if an invalid or malformed option was given
+
+
+
+
+
+
+
+
+
+ Detach options. Currently no options are recognized.
+
+
+
+
+
+ Detachs the device by e.g. powering down the physical port
+ it is connected to. Note that not all devices or ports are
+ capable of this. Check the
+ DriveCanDetach
+ property before attempting to invoke this method.
+
+
+ Note that the physical port a drive belongs to may be
+ located inside the physical casing - for example, some
+ netbooks provide a SD card drive connect through USB. As
+ such, users of this method should be careful – don't
+ automatically invoke this method if the user presses
+ e.g. an Eject button in the UI. Instead, provide e.g. a
+ "Safely Remove Drive" option.
+
+
+
+ The caller will need one of the following PolicyKit authorizations:
+
+
+ org.freedesktop.udisks.drive-detach
+ To detach a device
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if the device or a dependent device (e.g. partition or cleartext luks device) is busy (e.g. mounted)
+ if the operation failed
+ if the job was cancelled
+ if an invalid or malformed option was given
+
+
+
+
+
+
+
+
+
+
+ Number of seconds before the drive should be spun down.
+
+
+
+
+
+ Options related to setting spindown timeout. Currently no options are recognized.
+
+
+
+
+
+ A cookie that can be used in the
+ DriveUnsetSpindownTimeout() method
+ to unset the spindown timeout of the device.
+
+
+
+
+
+
+ Configures spindown timeout for the drive.
+ Check the
+ DriveCanSpindown
+ property before attempting to invoke this method.
+ Caution should be exercised when using this method, see
+ the SPINNING DOWN DISKS section in the
+ udisks(1) man page before using it.
+
+
+
+ The caller will need one of the following PolicyKit authorizations:
+
+
+ org.freedesktop.udisks.drive-set-spindown
+ To set spindown timeouts
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if the operation failed
+ if an invalid or malformed option was given
+
+
+
+
+
+
+
+
+
+
+
+ A cookie obtained from the
+ DriveSetSpindownTimeout() method.
+
+
+
+
+
+
+ Unsets spindown timeout for the drive.
+
+
+
+ The caller will need one of the following PolicyKit authorizations:
+
+
+ org.freedesktop.udisks.drive-set-spindown
+ To set spindown timeouts
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if the operation failed
+
+
+
+
+
+
+
+
+
+
+ The option nowakeup can be passed to
+ avoid spinning up the disk if it's in a low-power mode.
+ The option simulate= can be used to pass a path to
+ a blob with libatasmart data to use instead of reading it from the disk.
+ The simulate= option can only be used by the super user.
+
+
+
+
+
+ Refreshes the
+ ATA SMART
+ data for the given drive. Note that this operation is not run as a job.
+
+
+
+ The caller will need one of the following PolicyKit authorizations:
+
+
+ org.freedesktop.udisks.drive-ata-smart-refresh
+ Needed to refresh ATA SMART data
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ If the disk is sleeping and the nowakeup option was passed
+ if the operation failed
+
+
+
+
+
+
+
+
+
+
+
+ The name of the test to run; supported values are 'short'
+ (usually less than ten minutes), 'extended' (usually tens
+ of minutes) and 'conveyance' (usually a few minutes).
+
+
+
+ Currently unused.
+
+
+
+
+
+ Runs a ATA SMART self test on the drive.
+
+
+
+ The caller will need one of the following PolicyKit authorizations:
+
+
+ org.freedesktop.udisks.drive-ata-smart-selftest
+ Needed to run ATA SMART self tests
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if the operation failed
+ if the job was cancelled
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ If TRUE, write performance will be benchmarked in addition
+ to read performance. Note that benchmarking write performance
+ will scribble zeros in various parts of the drive and can
+ only be used on a drive where the contents are completely
+ unrecognized (e.g. no partition table and device). Use
+ this option with caution.
+
+
+
+ Currently unused.
+
+
+
+
+ An array of pairs where the first element is the offset
+ and the second element is the measured read transfer rate
+ (in bytes/sec) at the given offset.
+
+
+
+
+
+ An array of pairs where the first element is the offset
+ and the second element is the measured read transfer rate
+ (in bytes/sec) at the given offset.
+ This is an empty array unless write benchmarking has been
+ requested.
+
+
+
+
+
+ An array of pairs where the first element is the offset
+ and the second element the amount of time (in seconds) it
+ took to seek to the position.
+
+
+
+
+
+
+ Benchmarks the drive.
+
+
+
+ The caller will need one of the following PolicyKit authorizations:
+
+
+ org.freedesktop.udisks.change
+ Needed to run benchmarks
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if the operation failed
+ if the job was cancelled
+
+
+
+
+
+
+
+
+
+
+ Something on the device changed. Changes in job state wont
+ trigger this signal; see the JobChanged() signal.
+
+
+
+
+
+
+
+
+
+ Whether a job is currently in progress.
+
+
+ Whether the job is cancellable.
+
+
+ The identifier of the job.
+
+
+ The UNIX user id of the user who initiated the job.
+
+
+ Percentage completed of the job (between 0 and 100, negative if unknown).
+
+
+
+
+
+ Emitted when a job on a device changes. Clients should
+ listen to this signal to avoid polling the daemon for job
+ state.
+
+
+
+
+
+
+
+
+
+ OS specific native path of the device. On Linux this is the sysfs path, for example /sys/devices/pci0000:00/0000:00:1f.2/host2/target2:0:1/2:0:1:0/block/sda.
+
+
+
+
+ The point in time (seconds since the Epoch Jan 1, 1970 0:00 UTC) when the device
+ was detected by the daemon.
+
+
+
+
+ The point in time (seconds since the Epoch Jan 1, 1970 0:00 UTC) when the
+ media currently in the device was detected by the daemon or 0 if the
+ device has no media.
+
+
+
+
+ Major for the device or -1 if not set.
+
+
+
+
+ Major for the device or -1 if not set.
+
+
+
+
+ UNIX special device file for device. Example: /dev/sda.
+
+
+
+
+ Either the value of the
+ DeviceFile
+ property, otherwise the preferred device file (typically a symlink to the value of the
+ DeviceFile
+ property) to present in user interface.
+ Example: /dev/mapper/mpathb or
+ /dev/vg_phobos/lv_root.
+
+
+
+
+ Symlinks to UNIX special device file that are stable and uniquely identifies the device.
+ Example: /dev/disk/by-id/scsi-SATA_ST910021AS_3MH05AVA,
+ /dev/disk/by-id/ata-ST910021AS_3MH05AVA.
+
+
+
+
+ Symlinks to UNIX special device file that uniquely identifies the port/partition the device
+ is plugged into. Example: /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:1:0
+
+
+
+
+ TRUE if the device is considered system internal. Typically, system internal devices
+ include non-removable internal hard disks and other drives that are not easily added/removed
+ by a local console user. The heuristic typically used is that only devices on removable media
+ and devices connected via Firewire, USB, eSATA and SDIO are considered external.
+
+
+
+
+ TRUE if the device is a partition. See the properties starting with partition- for details.
+
+
+
+
+ TRUE if the device contains a partition table. See partition- properties for details.
+
+
+
+
+ TRUE if the device contains removable media.
+
+
+
+
+ TRUE if media is available in the device.
+
+
+
+
+ TRUE if media changes are detected.
+
+
+
+
+ TRUE if media changes are detected through the host
+ polling the device, e.g. waking up every two seconds to
+ revalidate the media. This typically keeps the device in a
+ high power state and uses cycles on the CPU. As an
+ example, SATA AN capable optical drives does not need
+ polling.
+
+
+
+
+ TRUE if it is possible to inhibit media detection on the device (to avoid keeping the device in a high power state and waking up the host).
+
+
+
+
+ TRUE if media detection is inhibited (to avoid keeping the device in a high power state and waking up the host).
+
+
+
+
+ TRUE if the device read-only.
+
+
+
+
+ TRUE if the device is a drive.
+ See the drive- properties for details.
+
+
+
+
+ TRUE if the device is an optical drive and an optical disc is inserted.
+ See the optical-disc- properties for details.
+
+
+
+
+ TRUE if the device is mounted.
+
+
+
+
+ A list of paths in the root namespace where the root of the device is mounted.
+ This property is only valid if
+ DeviceIsMounted
+ is TRUE.
+
+
+
+
+ The UNIX user id of the user who mounted the device. Set to 0 if
+ not mounted by udisks.
+ This property is only valid if
+ DeviceIsMounted
+ is TRUE.
+
+
+
+
+ TRUE if device is an LUKS encrypted device. See Lucks properties for details.
+
+
+
+
+ TRUE if device is a cleartext device backed by a LUKS encrypted device. See LucksCleartext properties for details.
+
+
+
+
+ TRUE if the device is a Linux md RAID component. See LinuxMdComponent properties for details.
+
+
+
+
+ TRUE if the device is a Linux md RAID array. See LinuxMd properties for details.
+
+
+
+
+ TRUE if the device is a Linux LVM2 logical volume. See LinuxLvm2LV properties for details.
+
+
+
+
+ TRUE if the device is a Linux LVM2 physical. See LinuxLvm2PV properties for details.
+
+
+
+
+ TRUE if the device is a component (e.g. active path) of a Linux dm-multipath device.
+
+
+
+
+ TRUE if the device is a Linux dm-multipath device.
+
+
+
+
+ TRUE if the device is a Linux loop device.
+
+
+
+
+ The size of the device in bytes.
+
+
+
+
+ The block size of the device in bytes.
+
+
+
+
+ A hint if the device should be hidden from the user interface.
+
+
+
+
+ A hint if the device (or e.g. the multi-disk device that the device is
+ part of) shouldn't be automatically mounted / assembled.
+
+
+
+
+ The name to use when presenting the device to an end user.
+
+
+
+
+ The icon to use when presenting the device to an end user. If set, must be a name
+ following the freedesktop.org icon theme specification.
+
+
+
+
+
+ The job properties specify if a job initiated via the
+ udisks daemon is currently in progress.
+
+
+
+
+ This property is used to identify the job and maps 1-1
+ with the names of the method calls on this interface,
+ e.g. 'FilesystemCreate' and so on.
+
+
+
+
+ The UNIX user id of the user who initiated the job.
+
+
+
+
+ Whether the job can be cancelled
+ using JobCancel() method.
+
+
+
+
+ Percentage completed of the job (between 0 and 100, negative if unknown).
+
+
+
+
+
+ A result of probing for signatures on the block device;
+ known values are:
+
+
+ filesystem
+ A mountable file system was detected
+
+
+ crypto
+ Encrypted data (e.g. LUKS) was detected
+
+
+ partitiontable
+ A partition table was detected
+
+
+ raid
+ Used for RAID and LVM components
+
+
+ other
+ A non-standard signature was detected
+
+
+ If blank, no known signature was detected. This doesn't
+ necessarily mean the device contains no structured data;
+ it only means that no signature known to the probing code
+ was detected.
+
+
+
+
+ This property contains more information about the result
+ of probing the block device. It's value depends of the
+ value the
+ IdUsage
+ property:
+
+
+ filesystem
+ The mountable file system that was detected (e.g. ext3, vfat)
+
+
+ crypto
+ Known values include crypto_LUKS
+
+
+ partitiontable
+
+ Known values include
+ mbr (for the
+ Master Boot Record
+ scheme),
+ gpt (for the
+ GUID Partition Table
+ scheme),
+ apm (for the
+ Apple Partition Map
+ scheme).
+
+
+
+ raid
+
+ Known values include
+ LVM1_member (for Linux LVM1 components),
+ LVM2_member (for Linux LVM2 components),
+ linux_raid_member (for Linux md (Software RAID) components)
+
+
+
+ other
+
+ Known values include
+ swap (for swap space),
+ suspend (data used when resuming from STD)
+
+
+
+
+
+
+
+ The version of the
+ detected file system (or other identified data structure) identified by the
+ IdUsage
+ and
+ IdType
+ properties.
+
+
+
+
+ The UUID (universally unique identifier) of the
+ detected file system (or other identified data structure) identified by the
+ IdUsage
+ and
+ IdType
+ properties.
+
+
+
+
+ The user-visible label of the
+ detected file system (or other identified data structure) identified by the
+ IdUsage
+ and
+ IdType
+ properties.
+
+
+
+
+
+ The cleartext device that is using the LUKS device.
+ This property is only valid if
+ DeviceIsLuks
+ is TRUE.
+
+
+
+
+
+ The encrypted LUKS device backing a crypto cleartext device.
+ This property is only valid if
+ DeviceIsLuksCleartext
+ is TRUE.
+
+
+
+
+ The UNIX user id of the user who unlocked the LUKS device. Set to 0 if
+ not unlocked by udisks.
+ This property is only valid if
+ DeviceIsLuksCleartext
+ is TRUE.
+
+
+
+
+
+ The object path of the partition table the partition is part of.
+ This property is only valid if
+ DeviceIsPartition
+ is TRUE.
+
+
+
+
+ The scheme of the partition table this partition is part of.
+ See the scheme parameter of the
+ PartitionTableCreate() method
+ for details on known partitioning schemes.
+ This property is only valid if
+ DeviceIsPartition
+ is TRUE.
+
+
+
+
+ The type of the partition.
+ See the type parameter of the
+ PartitionCreate() method
+ for details on known partitioning types.
+ This property is only valid if
+ DeviceIsPartition
+ is TRUE.
+
+
+
+
+ The label of the partition.
+ See the label parameter of the
+ PartitionCreate() method
+ for details on partition labels.
+ This property is only valid if
+ DeviceIsPartition
+ is TRUE.
+
+
+
+
+ The UUID of the partition.
+ See the uuid parameter of the
+ PartitionCreate() method
+ for details on partition UUID's.
+ This property is only valid if
+ DeviceIsPartition
+ is TRUE.
+
+
+
+
+ Partition flags.
+ See the flags parameter of the
+ PartitionCreate() method
+ for details on partition flags.
+ This property is only valid if
+ DeviceIsPartition
+ is TRUE.
+
+
+
+
+ Number of the partition. Typically partition numbers start at 1 and are identical
+ to the numbers used by the kernel. Note that partitions may not be sequentially
+ numbered.
+ This property is only valid if
+ DeviceIsPartition
+ is TRUE.
+
+
+
+
+ Offset in bytes where the partition is located on the enclosing partition table device (see
+ PartitionSlave).
+ This property is only valid if
+ DeviceIsPartition
+ is TRUE.
+
+
+
+
+ Size of the partition in bytes.
+ This property is only valid if
+ DeviceIsPartition
+ is TRUE.
+
+
+
+
+
+ The amount of bytes the beginning of the partition is offset
+ from the disk's natural alignment.
+ This property is only valid if
+ DeviceIsPartition
+ is TRUE.
+
+
+
+
+
+ The scheme of the partition table.
+ See the scheme parameter of the
+ PartitionTableCreate() method
+ for details on known partitioning schemes.
+ This property is only valid if
+ DeviceIsPartitionTable
+ is TRUE.
+
+
+
+
+ Number of partitions in the partition table.
+ This property is only valid if
+ DeviceIsPartitionTable
+ is TRUE.
+
+
+
+
+
+ Name of the vendor of the drive, for example MATSHITA or BELKIN.
+ This property is only valid if
+ DeviceIsDrive
+ is TRUE.
+
+
+
+
+ Name of the model of the drive, for example ST910021AS or USB 2 HS-CF.
+ This property is only valid if
+ DeviceIsDrive
+ is TRUE.
+
+
+
+
+ Revision of the drive, for example 3.07 or 1.95.
+ This property is only valid if
+ DeviceIsDrive
+ is TRUE.
+
+
+
+
+ The serial number of the drive or blank if unknown.
+ Examples: 3MH05AVA, A0000001B900.
+ This property is only valid if
+ DeviceIsDrive
+ is TRUE.
+
+
+
+
+ The World Wide Name
+ in hex (without a leading "0x") or blank if the drive has no WWN.
+ Example: 50014ee0016eb572.
+ This property is only valid if
+ DeviceIsDrive
+ is TRUE.
+
+
+
+
+ The rotational rate of the disk (e.g. 4200, 5400, 5900, 7200, 10000, 15000) in rounds
+ per minute or 0 if unknown.
+ This property is only valid if
+ DeviceIsDrive
+ is TRUE and
+ DriveIsRotational
+ is TRUE.
+
+
+
+
+ Whether the write cache is enabled, known values include "enabled" and "disabled" and
+ the blank string if unknown.
+ This property is only valid if
+ DeviceIsDrive
+ is TRUE.
+
+
+
+
+ The interface through which the drive is connected. Known values include:
+
+
+
+ virtual
+ Device is a composite device e.g. Software RAID or similar
+
+
+ ata
+ Connected via ATA
+
+
+ ata_serial
+ Connected via Serial ATA
+
+
+ ata_serial_esata
+ Connected via eSATA
+
+
+ ata_parallel
+ Connected via Parallel ATA
+
+
+ scsi
+ Connected via SCSI
+
+
+ usb
+ Connected via the Universal Serial Bus
+
+
+ firewire
+ Connected via Firewire
+
+
+ sdio
+ Connected via SDIO
+
+
+ platform
+ Part of the platform, e.g. PC floppy drive
+
+
+ This property is only valid if
+ DeviceIsDrive
+ is TRUE.
+
+
+
+
+ The nominal speed of the connection interface in bits per
+ second. If unknown this property is set to 0.
+ This property is only valid if
+ DeviceIsDrive
+ is TRUE.
+
+
+
+
+ An array of media types that can be used in the
+ drive. This property is sometimes set using quirk files if
+ the hardware isn't capable of precisely reporting it.
+ Known values include:
+
+
+ flash
+ Flash Card
+
+
+ flash_cf
+ CompactFlash
+
+
+ flash_ms
+ MemoryStick
+
+
+ flash_sm
+ SmartMedia
+
+
+ flash_sd
+ Secure Digital
+
+
+ flash_sdhc
+ Secure Digital High-Capacity
+
+
+ flash_mmc
+ MultiMediaCard
+
+
+ floppy
+ Floppy Disk
+
+
+ floppy_zip
+ Zip Disk
+
+
+ floppy_jaz
+ Jaz Disk
+
+
+ optical
+ Optical Disc
+
+
+ optical_cd
+ Compact Disc
+
+
+ optical_cd_r
+ Compact Disc Recordable
+
+
+ optical_cd_rw
+ Compact Disc Rewritable
+
+
+ optical_dvd
+ Digital Versatile Disc
+
+
+ optical_dvd_r
+ DVD-R
+
+
+ optical_dvd_rw
+ DVD-RW
+
+
+ optical_dvd_ram
+ DVD-RAM
+
+
+ optical_dvd_plus_r
+ DVD+R
+
+
+ optical_dvd_plus_rw
+ DVD+RW
+
+
+ optical_dvd_plus_r_dl
+ DVD+R Dual Layer
+
+
+ optical_dvd_plus_rw_dl
+ DVD+RW Dual Layer
+
+
+ optical_bd
+ Bluray Disc
+
+
+ optical_bd_r
+ BluRay Recordable
+
+
+ optical_bd_re
+ BluRay Rewritable
+
+
+ optical_hddvd
+ HD DVD
+
+
+ optical_hddvd_r
+ HD DVD Recordable
+
+
+ optical_hddvd_rw
+ HD DVD Rewritable
+
+
+ optical_mo
+ Magneto Optical
+
+
+ optical_mrw
+ Can read Mount Rainer media
+
+
+ optical_mrw_w
+ Can write Mount Rainer media
+
+
+
+ This property is only valid if
+ DeviceIsDrive
+ is TRUE.
+
+
+
+
+ The type of media currently in the drive (blank if no media is available). Known
+ values include the ones listed for the
+ DriveMediaCompatibility
+ property.
+ This property is only valid if
+ DeviceIsDrive
+ is TRUE.
+
+
+
+
+ TRUE only if the media can be physically ejected by issuing a command
+ from the host to the drive (e.g. optical and Zip drives).
+ This property is only valid if
+ DeviceIsDrive
+ is TRUE.
+
+
+
+
+ TRUE only if the drive is capable of being detached by
+ e.g. powering down the port it is connected to.
+ This property is only valid if
+ DeviceIsDrive
+ is TRUE.
+
+
+
+
+ TRUE only if the drive is capable of being put into
+ a standby mode (typically powering down the spindle motor).
+ This property is only valid if
+ DeviceIsDrive
+ is TRUE.
+
+
+
+
+ TRUE if the disk uses rotational media, such as a hard disk.
+ This property is only valid if
+ DeviceIsDrive
+ is TRUE.
+
+
+
+
+ The object of the storage adapter for the drive or "/" if no adapter exists.
+ This property is only valid if
+ DeviceIsDrive
+ is TRUE.
+
+
+
+
+ The object paths of the ports for the drive or empty if no ports exist.
+ This property is only valid if
+ DeviceIsDrive
+ is TRUE.
+
+
+
+
+ An array of object paths for devices with similar serial number and/or WWN.
+ Typically all drives with similar serial number and/or WWN
+ are configured as a multipath device (for example via the
+ Linux device-mapper target cf.
+ DeviceIsLinuxDmmp and
+ DeviceIsLinuxDmmpComponent)
+ but in some cases the OS needs manual configuration.
+ Presentation-level software can (and should) display a
+ warning when this property is non-empty and the device
+ isn't a multipath component or multipath device e.g. when both
+ DeviceIsLinuxDmmpComponent) and
+ DeviceIsLinuxDmmp)
+ is FALSE.
+ This property is only valid if
+ DeviceIsDrive
+ is TRUE.
+
+
+
+
+
+
+
+ TRUE only if the disc is appendable.
+ This property is only valid if
+ DeviceIsOpticalDisc
+ is TRUE.
+
+
+
+
+ TRUE only if the disc is appendable.
+ This property is only valid if
+ DeviceIsOpticalDisc
+ is TRUE.
+
+
+
+
+ TRUE only if the disc is appendable.
+ This property is only valid if
+ DeviceIsOpticalDisc
+ is TRUE.
+
+
+
+
+ Number of tracks on the disc.
+ This property is only valid if
+ DeviceIsOpticalDisc
+ is TRUE.
+
+
+
+
+ Number of audio tracks on the disc.
+ This property is only valid if
+ DeviceIsOpticalDisc
+ is TRUE.
+
+
+
+
+ Number of sessions on the disc.
+ This property is only valid if
+ DeviceIsOpticalDisc
+ is TRUE.
+
+
+
+
+
+
+
+ TRUE if the disk is capable of reporting SMART data, FALSE otherwise.
+
+
+
+
+ The point in time (seconds since the Epoch Jan 1, 1970
+ 0:00 UTC) when ATA SMART data was collected.
+ This property is only valid if
+ DriveAtaSmartTimeCollected
+ is greater than zero.
+
+
+
+
+ The overall assessment for the disk. Is one of the following strings
+ GOOD
,
+ BAD_ATTRIBUTES_IN_THE_PAST
(At least one pre-fail attribute is exceeded its threshold in the past),
+ BAD_SECTOR
(At least one bad sector),
+ BAD_ATTRIBUTE_NOW
(At least one pre-fail attribute is exceeding its threshold now),
+ BAD_SECTOR_MANY
(Many bad sectors)),
+ BAD_STATUS
(Smart Self Assessment negative)
+ or empty if some error occured trying to determine the result.
+ This property is only valid if
+ DriveAtaSmartTimeCollected
+ is greater than zero.
+
+
+
+
+ A blob containing the ATA SMART data. This blob can be used with libatasmart to get
+ more information.
+ This property is only valid if
+ DriveAtaSmartTimeCollected
+ is greater than zero.
+
+
+
+
+
+
+
+ The RAID level of the array the component is part of. Known values include
+
+
+ linear
+ The array is Just A Bunch of Disks
+
+
+ raid0
+ RAID-0
+
+
+ raid1
+ RAID-1
+
+
+ raid4
+ RAID-4
+
+
+ raid5
+ RAID-5
+
+
+ raid6
+ RAID-6
+
+
+ raid10
+ RAID-10
+
+
+ This property is only valid if
+ DeviceIsLinuxMdComponent
+ is TRUE.
+
+
+
+
+ The zero-based position of the component or -1 if not part of a running array.
+ This property is only valid if
+ DeviceIsLinuxMdComponent
+ is TRUE.
+
+
+
+
+ The number of component devices in the array the component is part of.
+ This property is only valid if
+ DeviceIsLinuxMdComponent
+ is TRUE.
+
+
+
+
+ The UUID of the array the component is part of.
+ This property is only valid if
+ DeviceIsLinuxMdComponent
+ is TRUE.
+
+
+
+
+ The name of the array the component is part of. Blank if the array
+ doesn't have a name (e.g. pre-1.0 meta data).
+ This property is only valid if
+ DeviceIsLinuxMdComponent
+ is TRUE.
+
+
+
+
+ The home host of the array the component is part of, e.g. where it was created. Blank if the array
+ has pre-1.0 meta data.
+ This property is only valid if
+ DeviceIsLinuxMdComponent
+ is TRUE.
+
+
+
+
+ The version of superblock of the component.
+ This property is only valid if
+ DeviceIsLinuxMdComponent
+ is TRUE.
+
+
+
+
+ The holder of the component or "/" if the component isn't claimed by any array.
+ This property is only valid if
+ DeviceIsLinuxMdComponent
+ is TRUE.
+
+
+
+
+ The state of the component (contents of md/dev-XXX/state file).
+ This property is only valid if
+ DeviceIsLinuxMdComponent
+ is TRUE and
+ DeviceIsLinuxMdComponentHolder
+ is non-empty.
+
+
+
+
+
+ The state of the array (contents of the md/array_state file).
+ This property is only valid if
+ DeviceIsLinuxMd
+ is TRUE.
+
+
+
+
+ The RAID level of the array. For known values see the
+ LinuxMdComponentLevel
+ property.
+ This property is only valid if
+ DeviceIsLinuxMd
+ is TRUE.
+
+
+
+
+ The UUID of the array.
+ This property is only valid if
+ DeviceIsLinuxMd
+ is TRUE.
+
+
+
+
+ The home host of the array, e.g. where if was created. Blank if the array
+ has pre-1.0 meta data.
+ DeviceIsLinuxMd
+ is TRUE.
+
+
+
+
+ The name of the array. Blank if the array
+ doesn't have a name (e.g. pre-1.0 meta data).
+ DeviceIsLinuxMd
+ is TRUE.
+
+
+
+
+ Number of component devices in the array.
+ This property is only valid if
+ DeviceIsLinuxMd
+ is TRUE.
+
+
+
+
+ Metadata version used in the components.
+ This property is only valid if
+ DeviceIsLinuxMd
+ is TRUE.
+
+
+
+
+ An array of object paths for components currently part of the array.
+ This property is only valid if
+ DeviceIsLinuxMd
+ is TRUE.
+
+
+
+
+ TRUE only if the array is running in degraded mode.
+ This property is only valid if
+ DeviceIsLinuxMd
+ is TRUE.
+
+
+
+
+ The operation currently pending on the array. Known values
+ include
+
+
+ idle
+ No operation is pending
+
+
+ reshape
+ A reshape is in progress
+
+
+ resync
+ Redudancy is being calculated
+
+
+ repair
+ A repair operation is in progress
+
+
+ recover
+ A hot spare is being built to replace a failed/missing device
+
+
+ This property is only valid if
+ DeviceIsLinuxMd
+ is TRUE.
+
+
+
+
+ The progress of the current sync operation.
+ This property is only valid if
+ DeviceIsLinuxMd
+ is TRUE and the value of the property
+ LinuxMdSyncAction
+ is not idle.
+
+
+
+
+ The speed of the sync operation in bytes per second.
+ This property is only valid if
+ DeviceIsLinuxMd
+ is TRUE and the value of the property
+ LinuxMdSyncAction
+ is not idle.
+
+
+
+
+
+
+
+
+
+
+ The UUID of the PV.
+ This property is only valid if
+ DeviceIsLinuxLvm2PV
+ is TRUE.
+
+
+
+
+ The number of metadata areas on the PV.
+ This property is only valid if
+ DeviceIsLinuxLvm2PV
+ is TRUE.
+
+
+
+
+
+
+ The name of the volume group (that this physical volume belongs to).
+ This property is only valid if
+ DeviceIsLinuxLvm2PV
+ is TRUE.
+
+
+
+
+ The UUID of the volume group (that this physical volume belongs to).
+ This property is only valid if
+ DeviceIsLinuxLvm2PV
+ is TRUE.
+
+
+
+
+ The size of the volume group (that this physical volume belongs to) in bytes.
+ This property is only valid if
+ DeviceIsLinuxLvm2PV
+ is TRUE.
+
+
+
+
+ The unallocated size of the volume group (that this physical volume belongs to) in bytes.
+ This property is only valid if
+ DeviceIsLinuxLvm2PV
+ is TRUE.
+
+
+
+
+ The sequence number for the volume group (that this physical volume belongs to).
+ This property is only valid if
+ DeviceIsLinuxLvm2PV
+ is TRUE.
+
+
+
+
+ The extent size for the volume group (that this physical volume belongs to) in bytes.
+ This property is only valid if
+ DeviceIsLinuxLvm2PV
+ is TRUE.
+
+
+
+
+ The physical volumes that belongs to the volume group (that this physical volume belongs to).
+ Each element is a semicolon separated list of key/value pairs. The only known key/value
+ type as this point is uuid for the UUID of the physical volume.
+ This property is only valid if
+ DeviceIsLinuxLvm2PV
+ is TRUE.
+
+
+
+
+ The logical volumes that belongs to the volume group (that this physical volume belongs to).
+ Each element is a semicolon separated list of key/value pairs. The only known key/value
+ types as this point are
+ uuid (for the UUID of the logical volume),
+ name (for the name of the logical volume),
+ size (for the size of the logical volume) and
+ active (whether the logical volume is active).
+ This property is only valid if
+ DeviceIsLinuxLvm2PV
+ is TRUE.
+
+
+
+
+
+
+
+
+
+
+
+ The name of the logical volume.
+ This property is only valid if
+ DeviceIsLinuxLvm2LV
+ is TRUE.
+
+
+
+
+ The UUID of the logical volume.
+ This property is only valid if
+ DeviceIsLinuxLvm2LV
+ is TRUE.
+
+
+
+
+ The name of volume group the logical volume belongs to.
+ This property is only valid if
+ DeviceIsLinuxLvm2LV
+ is TRUE.
+
+
+
+
+ The UUID of the volume group the logical volume belongs to.
+ This property is only valid if
+ DeviceIsLinuxLvm2LV
+ is TRUE.
+
+
+
+
+
+
+
+
+
+ The object path of the multi-path device the component is currently part of.
+ This property is only valid if
+ DeviceIsLinuxDmmpComponent
+ is TRUE.
+
+
+
+
+
+
+
+
+
+ The symbolic name for the multipath device, e.g. mpathb.
+ This property is only valid if
+ DeviceIsLinuxDmmp
+ is TRUE.
+
+
+
+
+ The object paths of currently active component devices, e.g. paths.
+ This property is only valid if
+ DeviceIsLinuxDmmp
+ is TRUE.
+
+
+
+
+ The parameters/configuration for the multipath device.
+ This property is only valid if
+ DeviceIsLinuxDmmp
+ is TRUE.
+
+
+
+
+
+ The file backing the loop device.
+ This property is only valid if
+ DeviceIsLinuxLoop
+ is TRUE.
+
+
+
+
+
+
diff --git a/src/dbus/org.freedesktop.UDisks.xml b/src/dbus/org.freedesktop.UDisks.xml
new file mode 100644
index 000000000..07daea04d
--- /dev/null
+++ b/src/dbus/org.freedesktop.UDisks.xml
@@ -0,0 +1,1156 @@
+
+
+
+
+
+
+
+
+
+
+ An array of object paths for storage adapters.
+
+
+
+
+
+ Enumerate all storage adapters on the system.
+
+
+
+
+
+
+
+
+
+
+ An array of object paths for storage expanders.
+
+
+
+
+
+ Enumerate all storage expanders on the system.
+
+
+
+
+
+
+
+
+
+
+ An array of object paths for ports.
+
+
+
+
+
+ Enumerate all storage ports on the system.
+
+
+
+
+
+
+
+
+
+
+ An array of object paths for devices.
+
+
+
+
+
+ Enumerate all disk devices on the system.
+
+
+
+
+
+
+
+
+
+
+ An array device file names.
+
+
+
+
+
+ Enumerate all device files (including symlinks) for disk devices on the system.
+
+
+
+
+
+
+
+
+
+
+ UNIX special device file
+
+
+ Object path of device
+
+
+
+
+
+ Finds a device by device path.
+
+
+
+
+
+
+
+
+
+
+ Device major
+
+
+ Device minor
+
+
+ Object path of device
+
+
+
+
+
+ Finds a device by major:minor.
+
+
+
+
+
+
+
+
+
+
+ Inhibit options. Currently no options are recognized.
+
+
+
+
+ A cookie that can be used in the
+ DriveUninhibitAllPolling() method
+ to stop inhibiting polling of all devices.
+
+
+
+
+
+
+ Inhibits the daemon from polling devices for media changes.
+
+
+
+ The caller will need one of the following PolicyKit authorizations:
+
+
+ org.freedesktop.udisks.inhibit-polling
+ To inhibit polling
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if the operation failed
+
+
+
+
+
+
+
+
+
+
+
+ A cookie obtained from the
+ DriveInhibitAllPolling() method.
+
+
+
+
+
+
+ Uninhibits daemon from polling devices for media changes.
+
+
+
+ if the given cookie is malformed
+
+
+
+
+
+
+
+
+
+
+ Number of seconds before drives should be spun down.
+
+
+
+
+
+ Options related to setting spindown timeouts. Currently no options are recognized.
+
+
+
+
+
+ A cookie that can be used in the
+ DriveUnsetAllSpindownTimeouts() method
+ to unset the spindown timeout for drives.
+
+
+
+
+
+
+ Configures spindown timeout for all drives capable of being spun down.
+ Caution should be exercised when using this method, see
+ the SPINNING DOWN DISKS section in the
+ udisks(1) man page before using it.
+
+
+
+ The caller will need one of the following PolicyKit authorizations:
+
+
+ org.freedesktop.udisks.drive-set-spindown
+ To set spindown timeouts
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if the operation failed
+ if an invalid or malformed option was given
+
+
+
+
+
+
+
+
+
+
+
+ A cookie obtained from the
+ DriveSetSpindownTimeout() method.
+
+
+
+
+
+
+ Unsets spindown timeout for the drive.
+
+
+
+ The caller will need one of the following PolicyKit authorizations:
+
+
+ org.freedesktop.udisks.drive-set-spindown
+ To set spindown timeouts
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if the operation failed
+
+
+
+
+
+
+
+
+
+
+ The UUID of the volume group to start.
+
+
+ Options for starting the VG. Currently no options are supported.
+
+
+
+
+
+ Starts all logical volumes in Linux LVM2 Volume Group.
+
+
+
+ The caller will need the following PolicyKit authorization:
+
+
+ org.freedesktop.udisks.linux-lvm2
+
+ Needed to configured Linux LVM2 devices.
+
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if one of the given components are busy
+ if the operation failed
+ if the job was cancelled
+
+
+
+
+
+
+
+
+
+ The UUID of the volume group to stop.
+
+
+ Options for stopping the VG. Currently no options are supported.
+
+
+
+
+
+ Stops all logical volumes in Linux LVM2 Volume Group.
+
+
+
+ The caller will need the following PolicyKit authorization:
+
+
+ org.freedesktop.udisks.linux-lvm2
+
+ Needed to configured Linux LVM2 devices.
+
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if one of the given components are busy
+ if the operation failed
+ if the job was cancelled
+
+
+
+
+
+
+
+
+
+ The UUID of the volume group to set the name for.
+
+
+ The new name for the volume group.
+
+
+
+
+
+ Sets the name for a volume group.
+
+
+
+ The caller will need the following PolicyKit authorization:
+
+
+ org.freedesktop.udisks.linux-lvm2
+
+ Needed to configured Linux LVM2 devices.
+
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if one of the given components are busy
+ if the operation failed
+ if the job was cancelled
+
+
+
+
+
+
+
+
+
+ The UUID of the volume group to add a physical volume to.
+
+
+ The objcet path of the device to use as a physical volume.
+
+
+ Currently unused.
+
+
+
+
+
+ Adds a Physical volume to a Linux LVM2 Volume Group. Existing data
+ on the given device to use for a physical volume will be erased.
+
+
+
+ The caller will need the following PolicyKit authorization:
+
+
+ org.freedesktop.udisks.linux-lvm2
+
+ Needed to configured Linux LVM2 devices.
+
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if one of the given components are busy
+ if the operation failed
+ if the job was cancelled
+
+
+
+
+
+
+
+
+
+ The UUID of the volume group to remove the physical volume from.
+
+
+ The UUID of the physical volume to remove from the VG.
+
+
+ Currently unused.
+
+
+
+
+
+ Removes a Physical volume from a Linux LVM2 Volume Group.
+
+
+
+ The caller will need the following PolicyKit authorization:
+
+
+ org.freedesktop.udisks.linux-lvm2
+
+ Needed to configured Linux LVM2 devices.
+
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if one of the given components are busy
+ if the operation failed
+ if the job was cancelled
+
+
+
+
+
+
+
+
+
+ The UUID of the volume group for the logical volume.
+
+
+ The UUID of the logical volume to set the name for.
+
+
+ The new name for the logical volume.
+
+
+
+
+
+ Sets the name for a logical volume.
+
+
+
+ The caller will need the following PolicyKit authorization:
+
+
+ org.freedesktop.udisks.linux-lvm2
+
+ Needed to configured Linux LVM2 devices.
+
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if one of the given components are busy
+ if the operation failed
+ if the job was cancelled
+
+
+
+
+
+
+
+
+
+ The UUID of the volume group of the logical volume to start belongs to.
+
+
+ The UUID of the logical volume to start.
+
+
+ Options for starting the logical volume. Currently no options are supported.
+
+
+
+
+
+ Starts a LVM2 logical volume.
+
+
+
+ The caller will need the following PolicyKit authorization:
+
+
+ org.freedesktop.udisks.linux-lvm2
+
+ Needed to configured Linux LVM2 devices.
+
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if one of the given components are busy
+ if the operation failed
+ if the job was cancelled
+
+
+
+
+
+
+
+
+
+ The UUID of the volume group of the logical volume to start belongs to.
+
+
+ The UUID of the logical volume to remove.
+
+
+ Options used for the removal of the logical volume. Currently no options are supported.
+
+
+
+
+
+ Removes a LVM2 logical volume.
+
+
+
+ The caller will need the following PolicyKit authorization:
+
+
+ org.freedesktop.udisks.linux-lvm2
+
+ Needed to configured Linux LVM2 devices.
+
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if one of the given components are busy
+ if the operation failed
+ if the job was cancelled
+
+
+
+
+
+
+
+
+
+ The UUID of the volume group to create a logical volume in.
+
+
+ The name for the logical volume.
+
+
+ The size of the logical volume, in bytes.
+
+
+ Number of stripes to use.
+
+
+ The stripe size to use or 0 if @num_stripes is 0. This must be a power of two.
+
+
+ Number of mirrors to use.
+
+
+ Options used when creating the logical volume. Currently no options are supported.
+
+
+
+ The file system to create in new logical filesystem. Leave
+ blank to skip creating a file system. See the
+ Device.FilesystemCreate() method
+ for details.
+
+
+
+
+ Options to use for file system creation. See the
+ Device.FilesystemCreate() method
+ for details.
+
+
+
+ The object path of the newly added logical volume.
+
+
+
+
+
+ Creates a new LVM2 logical volume.
+
+
+
+ The caller will need the following PolicyKit authorization:
+
+
+ org.freedesktop.udisks.linux-lvm2
+
+ Needed to configured Linux LVM2 devices.
+
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if one of the given components are busy
+ if the operation failed
+ if the job was cancelled
+
+
+
+
+
+
+
+
+
+ The object paths of the components of the array to start.
+
+
+ Options for starting the array. Currently no options are supported.
+
+
+
+ The object path of the assembled array device.
+
+
+
+
+
+ Starts an Linux md RAID array. The array will be assembled
+ and started in degraded mode if an insufficient number of
+ components are given.
+
+
+
+ The caller will need the following PolicyKit authorization:
+
+
+ org.freedesktop.udisks.linux-md
+
+ Needed to configured Linux md Software RAID devices.
+
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if one of the given components are busy
+ if the operation failed
+ if the job was cancelled
+
+
+
+
+
+
+
+
+
+ The object paths of the components to use for the array.
+
+
+ RAID level.
+
+
+ Stripe Size in bytes, or 0 to use the default stripe size.
+
+
+ Name of the array.
+
+
+ Options for creating the array. Currently no options are supported.
+
+
+
+ The object path of the created array device.
+
+
+
+
+
+ Creates a Linux md RAID array. The array will be created and
+ assembled.
+
+
+
+ The caller will need the following PolicyKit authorization:
+
+
+ org.freedesktop.udisks.linux-md
+
+ Needed to configured Linux md Software RAID devices.
+
+
+
+
+
+ if the caller lacks the appropriate PolicyKit authorization
+ if one of the given components are busy
+ if the operation failed
+ if the job was cancelled
+
+
+
+
+
+
+
+
+
+
+ A cookie that can be used in the
+ Uninhibit() method.
+ to stop inhibiting the daemon.
+
+
+
+
+
+
+ Inhibits clients from invoking methods on the daemon
+ of the daemon that require authorization (all methods
+ will return the org.freedesktop.PolicyKit.Error.Inhibited error)
+ if the caller is not the super user.
+ This is typically used by OS installers and other
+ programs that expects full control of the system, specifically
+ to avoid automounting devices.
+
+
+
+ Only the super user can invoke this method.
+
+
+ if the caller is not the super user
+
+
+
+
+
+
+
+
+
+
+
+ A cookie obtained from the
+ Inhibit() method.
+
+
+
+
+
+
+ Uninhibits other clients from using the daemon.
+
+
+
+ if the given cookie is malformed
+
+
+
+
+
+
+
+
+
+ Object path of device that was added.
+
+
+
+
+
+ Emitted when a device is added.
+
+
+
+
+
+
+
+
+
+ Object path of device that was removed.
+
+
+
+
+
+ Emitted when a device is removed.
+
+
+
+
+
+
+
+
+
+ Object path of device that was changed.
+
+
+
+
+
+ Emitted when a device changed.
+
+
+
+
+
+
+
+
+
+ The object path of the device.
+
+
+ Whether a job is currently in progress.
+
+
+ Whether the job is cancellable.
+
+
+ The identifier of the job.
+
+
+ Number of tasks in the job.
+
+
+ Current task number (zero-based offset).
+
+
+ Task identifier for current task.
+
+
+ Percentage completed of current task (between 0 and 100, negative if unknown).
+
+
+
+
+
+ Emitted when a job on a device changes.
+
+
+
+
+
+
+
+
+
+ Object path of adapter that was added.
+
+
+
+
+
+ Emitted when an adapter is added.
+
+
+
+
+
+
+ Object path of adapter that was removed.
+
+
+
+
+
+ Emitted when an adapter is removed.
+
+
+
+
+
+
+ Object path of adapter that was changed.
+
+
+
+
+
+ Emitted when an adapter changed.
+
+
+
+
+
+
+
+
+
+ Object path of expander that was added.
+
+
+
+
+
+ Emitted when an expander is added.
+
+
+
+
+
+
+ Object path of expander that was removed.
+
+
+
+
+
+ Emitted when an expander is removed.
+
+
+
+
+
+
+ Object path of expander that was changed.
+
+
+
+
+
+ Emitted when an expander changed.
+
+
+
+
+
+
+
+
+
+ Object path of port that was added.
+
+
+
+
+
+ Emitted when a port is added.
+
+
+
+
+
+
+ Object path of port that was removed.
+
+
+
+
+
+ Emitted when a port is removed.
+
+
+
+
+
+
+ Object path of port that was changed.
+
+
+
+
+
+ Emitted when a port changed.
+
+
+
+
+
+
+
+
+
+ The version of the running daemon.
+
+
+
+
+
+ TRUE only if the daemon is inhibited.
+
+
+
+
+
+ TRUE only if the daemon can create encrypted LUKS block devices, see the
+ LuksUnlock() and
+ LuksLock()
+ methods for details.
+
+
+
+
+
+
+
+
+ An array of file systems known to the daemon and what features are supported.
+ Each element in the array contains the following members:
+
+
+ id
+
+ The name / identifier of the file system (such as ext3 or vfat),
+ similar to the contents of the
+ Device:IdType
+ property.
+
+
+
+ name
+
+ A human readable name for the file system such as "Linux Ext3".
+
+
+
+ supports_unix_owners
+
+ Whether the file system supports the UNIX owners model (e.g. ext3 does, but vfat doesn't).
+
+
+
+ can_mount
+
+ Whether the file system can be mounted.
+
+
+
+ can_create
+
+ Whether the file system can be created on a device.
+
+
+
+ max_label_len
+
+ The maximum amount of bytes that the file system label can hold. Set to zero if the file
+ system doesn't support labels.
+
+
+
+ supports_label_rename
+
+ Whether the label of the file system can be changed.
+
+
+
+ supports_online_label_rename
+
+ Whether the label can be changed while the file system is mounted.
+
+
+
+ supports_fsck
+
+ Whether the file system can be checked.
+
+
+
+ supports_online_fsck
+
+ Whether the file system can be checked while mounted.
+
+
+
+ supports_resize_enlarge
+
+ Whether the file system can be enlarged.
+
+
+
+ supports_online_resize_enlarge
+
+ Whether the file system can be enlarged while mounted.
+
+
+
+ supports_resize_shrink
+
+ Whether the file system can be shrunk.
+
+
+
+ supports_online_resize_shrink
+
+ Whether the file system can be shrunk while mounted.
+
+
+
+
+
+
+
+
+
+
+
+