aboutsummaryrefslogtreecommitdiffstats
path: root/gdbus/api
diff options
context:
space:
mode:
authorMatt Ranostay <matt.ranostay@konsulko.com>2017-05-16 16:14:30 -0400
committerMatt Ranostay <matt.ranostay@konsulko.com>2017-06-02 22:28:18 -0700
commitcccbe1188021ac4f7cbba7ee26d297448f29bbf3 (patch)
tree5686a4dc65db48a4094beb52295675e8e45296d3 /gdbus/api
binding: add initial media binding
Add initial media binding that populates playlist on media insertion Bug-AGL: SPEC-610 Change-Id: I24227f7c718606191ae3de72bd692e747353c919 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
Diffstat (limited to 'gdbus/api')
-rw-r--r--gdbus/api/org.freedesktop.UDisks.xml1155
-rw-r--r--gdbus/api/org.lightmediascanner.xml75
2 files changed, 1230 insertions, 0 deletions
diff --git a/gdbus/api/org.freedesktop.UDisks.xml b/gdbus/api/org.freedesktop.UDisks.xml
new file mode 100644
index 0000000..f790351
--- /dev/null
+++ b/gdbus/api/org.freedesktop.UDisks.xml
@@ -0,0 +1,1155 @@
+<!DOCTYPE node PUBLIC
+"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
+"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
+
+ <interface name="org.freedesktop.UDisks">
+
+ <!-- ************************************************************ -->
+
+ <method name="EnumerateAdapters">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="devices" direction="out" type="ao">
+ <doc:doc><doc:summary>An array of object paths for storage adapters.</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Enumerate all storage adapters on the system.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+
+ <!-- ************************************************************ -->
+
+ <method name="EnumerateExpanders">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="devices" direction="out" type="ao">
+ <doc:doc><doc:summary>An array of object paths for storage expanders.</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Enumerate all storage expanders on the system.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+
+ <!-- ************************************************************ -->
+
+ <method name="EnumeratePorts">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="devices" direction="out" type="ao">
+ <doc:doc><doc:summary>An array of object paths for ports.</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Enumerate all storage ports on the system.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+
+ <!-- ************************************************************ -->
+
+ <method name="EnumerateDevices">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="devices" direction="out" type="ao">
+ <doc:doc><doc:summary>An array of object paths for devices.</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Enumerate all disk devices on the system.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+
+ <!-- ************************************************************ -->
+
+ <method name="EnumerateDeviceFiles">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="device_files" direction="out" type="as">
+ <doc:doc><doc:summary>An array device file names.</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Enumerate all device files (including symlinks) for disk devices on the system.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+
+ <!-- ************************************************************ -->
+
+ <method name="FindDeviceByDeviceFile">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="device_file" direction="in" type="s">
+ <doc:doc><doc:summary>UNIX special device file</doc:summary></doc:doc>
+ </arg>
+ <arg name="device" direction="out" type="o">
+ <doc:doc><doc:summary>Object path of device</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Finds a device by device path.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+
+ <!-- ************************************************************ -->
+
+ <method name="FindDeviceByMajorMinor">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="device_major" direction="in" type="x">
+ <doc:doc><doc:summary>Device major</doc:summary></doc:doc>
+ </arg>
+ <arg name="device_minor" direction="in" type="x">
+ <doc:doc><doc:summary>Device minor</doc:summary></doc:doc>
+ </arg>
+ <arg name="device" direction="out" type="o">
+ <doc:doc><doc:summary>Object path of device</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Finds a device by major:minor.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+
+ <!-- ************************************************************ -->
+
+ <method name="DriveInhibitAllPolling">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="options" direction="in" type="as">
+ <doc:doc><doc:summary>Inhibit options. Currently no options are recognized.</doc:summary></doc:doc>
+ </arg>
+
+ <arg name="cookie" direction="out" type="s">
+ <doc:doc><doc:summary>
+ A cookie that can be used in the
+ <doc:ref type="method" to="Disks.DriveUninhibitAllPolling">DriveUninhibitAllPolling()</doc:ref> method
+ to stop inhibiting polling of all devices.
+ </doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Inhibits the daemon from polling devices for media changes.
+ </doc:para>
+ </doc:description>
+ <doc:permission>
+ The caller will need one of the following PolicyKit authorizations:
+ <doc:list>
+ <doc:item>
+ <doc:term>org.freedesktop.udisks.inhibit-polling</doc:term>
+ <doc:definition>To inhibit polling</doc:definition>
+ </doc:item>
+ </doc:list>
+ </doc:permission>
+ <doc:errors>
+ <doc:error name="org.freedesktop.PolicyKit.Error.NotAuthorized">if the caller lacks the appropriate PolicyKit authorization</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the operation failed</doc:error>
+ </doc:errors>
+ </doc:doc>
+ </method>
+
+ <!-- ************************************************************ -->
+
+ <method name="DriveUninhibitAllPolling">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+
+ <arg name="cookie" direction="in" type="s">
+ <doc:doc><doc:summary>
+ A cookie obtained from the
+ <doc:ref type="method" to="Disks.DriveInhibitAllPolling">DriveInhibitAllPolling()</doc:ref> method.
+ </doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Uninhibits daemon from polling devices for media changes.
+ </doc:para>
+ </doc:description>
+ <doc:errors>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the given cookie is malformed</doc:error>
+ </doc:errors>
+ </doc:doc>
+ </method>
+
+ <!-- ************************************************************ -->
+
+ <method name="DriveSetAllSpindownTimeouts">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="timeout_seconds" direction="in" type="i">
+ <doc:doc><doc:summary>
+ Number of seconds before drives should be spun down.
+ </doc:summary></doc:doc>
+ </arg>
+
+ <arg name="options" direction="in" type="as">
+ <doc:doc><doc:summary>
+ Options related to setting spindown timeouts. Currently no options are recognized.
+ </doc:summary></doc:doc>
+ </arg>
+
+ <arg name="cookie" direction="out" type="s">
+ <doc:doc><doc:summary>
+ A cookie that can be used in the
+ <doc:ref type="method" to="Drive.DriveUnsetAllSpindownTimeouts">DriveUnsetAllSpindownTimeouts()</doc:ref> method
+ to unset the spindown timeout for drives.
+ </doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ 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<doc:tt>(1)</doc:tt> man page before using it.
+ </doc:para>
+ </doc:description>
+ <doc:permission>
+ The caller will need one of the following PolicyKit authorizations:
+ <doc:list>
+ <doc:item>
+ <doc:term>org.freedesktop.udisks.drive-set-spindown</doc:term>
+ <doc:definition>To set spindown timeouts</doc:definition>
+ </doc:item>
+ </doc:list>
+ </doc:permission>
+ <doc:errors>
+ <doc:error name="org.freedesktop.PolicyKit.Error.NotAuthorized">if the caller lacks the appropriate PolicyKit authorization</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the operation failed</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.InvalidOption">if an invalid or malformed option was given</doc:error>
+ </doc:errors>
+ </doc:doc>
+ </method>
+
+ <!-- ************************************************************ -->
+
+ <method name="DriveUnsetAllSpindownTimeouts">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+
+ <arg name="cookie" direction="in" type="s">
+ <doc:doc><doc:summary>
+ A cookie obtained from the
+ <doc:ref type="method" to="Device.DriveSetSpindownTimeout">DriveSetSpindownTimeout()</doc:ref> method.
+ </doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Unsets spindown timeout for the drive.
+ </doc:para>
+ </doc:description>
+ <doc:permission>
+ The caller will need one of the following PolicyKit authorizations:
+ <doc:list>
+ <doc:item>
+ <doc:term>org.freedesktop.udisks.drive-set-spindown</doc:term>
+ <doc:definition>To set spindown timeouts</doc:definition>
+ </doc:item>
+ </doc:list>
+ </doc:permission>
+ <doc:errors>
+ <doc:error name="org.freedesktop.PolicyKit.Error.NotAuthorized">if the caller lacks the appropriate PolicyKit authorization</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the operation failed</doc:error>
+ </doc:errors>
+ </doc:doc>
+ </method>
+
+
+ <!-- ************************************************************ -->
+
+ <method name="LinuxLvm2VGStart">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="uuid" direction="in" type="s">
+ <doc:doc><doc:summary>The UUID of the volume group to start.</doc:summary></doc:doc>
+ </arg>
+ <arg name="options" direction="in" type="as">
+ <doc:doc><doc:summary>Options for starting the VG. Currently no options are supported.</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Starts all logical volumes in Linux LVM2 Volume Group.
+ </doc:para>
+ </doc:description>
+ <doc:permission>
+ The caller will need the following PolicyKit authorization:
+ <doc:list>
+ <doc:item>
+ <doc:term>org.freedesktop.udisks.linux-lvm2</doc:term>
+ <doc:definition>
+ Needed to configured Linux LVM2 devices.
+ </doc:definition>
+ </doc:item>
+ </doc:list>
+ </doc:permission>
+ <doc:errors>
+ <doc:error name="org.freedesktop.PolicyKit.Error.NotAuthorized">if the caller lacks the appropriate PolicyKit authorization</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Busy">if one of the given components are busy</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the operation failed</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Cancelled">if the job was cancelled</doc:error>
+ </doc:errors>
+ </doc:doc>
+ </method>
+
+ <!-- ************************************************************ -->
+
+ <method name="LinuxLvm2VGStop">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="uuid" direction="in" type="s">
+ <doc:doc><doc:summary>The UUID of the volume group to stop.</doc:summary></doc:doc>
+ </arg>
+ <arg name="options" direction="in" type="as">
+ <doc:doc><doc:summary>Options for stopping the VG. Currently no options are supported.</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Stops all logical volumes in Linux LVM2 Volume Group.
+ </doc:para>
+ </doc:description>
+ <doc:permission>
+ The caller will need the following PolicyKit authorization:
+ <doc:list>
+ <doc:item>
+ <doc:term>org.freedesktop.udisks.linux-lvm2</doc:term>
+ <doc:definition>
+ Needed to configured Linux LVM2 devices.
+ </doc:definition>
+ </doc:item>
+ </doc:list>
+ </doc:permission>
+ <doc:errors>
+ <doc:error name="org.freedesktop.PolicyKit.Error.NotAuthorized">if the caller lacks the appropriate PolicyKit authorization</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Busy">if one of the given components are busy</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the operation failed</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Cancelled">if the job was cancelled</doc:error>
+ </doc:errors>
+ </doc:doc>
+ </method>
+
+ <!-- ************************************************************ -->
+
+ <method name="LinuxLvm2VGSetName">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="uuid" direction="in" type="s">
+ <doc:doc><doc:summary>The UUID of the volume group to set the name for.</doc:summary></doc:doc>
+ </arg>
+ <arg name="name" direction="in" type="s">
+ <doc:doc><doc:summary>The new name for the volume group.</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Sets the name for a volume group.
+ </doc:para>
+ </doc:description>
+ <doc:permission>
+ The caller will need the following PolicyKit authorization:
+ <doc:list>
+ <doc:item>
+ <doc:term>org.freedesktop.udisks.linux-lvm2</doc:term>
+ <doc:definition>
+ Needed to configured Linux LVM2 devices.
+ </doc:definition>
+ </doc:item>
+ </doc:list>
+ </doc:permission>
+ <doc:errors>
+ <doc:error name="org.freedesktop.PolicyKit.Error.NotAuthorized">if the caller lacks the appropriate PolicyKit authorization</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Busy">if one of the given components are busy</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the operation failed</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Cancelled">if the job was cancelled</doc:error>
+ </doc:errors>
+ </doc:doc>
+ </method>
+
+ <!-- ************************************************************ -->
+
+ <method name="LinuxLvm2VGAddPV">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="uuid" direction="in" type="s">
+ <doc:doc><doc:summary>The UUID of the volume group to add a physical volume to.</doc:summary></doc:doc>
+ </arg>
+ <arg name="physical_volume" direction="in" type="o">
+ <doc:doc><doc:summary>The objcet path of the device to use as a physical volume.</doc:summary></doc:doc>
+ </arg>
+ <arg name="options" direction="in" type="as">
+ <doc:doc><doc:summary>Currently unused.</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ 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.
+ </doc:para>
+ </doc:description>
+ <doc:permission>
+ The caller will need the following PolicyKit authorization:
+ <doc:list>
+ <doc:item>
+ <doc:term>org.freedesktop.udisks.linux-lvm2</doc:term>
+ <doc:definition>
+ Needed to configured Linux LVM2 devices.
+ </doc:definition>
+ </doc:item>
+ </doc:list>
+ </doc:permission>
+ <doc:errors>
+ <doc:error name="org.freedesktop.PolicyKit.Error.NotAuthorized">if the caller lacks the appropriate PolicyKit authorization</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Busy">if one of the given components are busy</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the operation failed</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Cancelled">if the job was cancelled</doc:error>
+ </doc:errors>
+ </doc:doc>
+ </method>
+
+ <!-- ************************************************************ -->
+
+ <method name="LinuxLvm2VGRemovePV">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="vg_uuid" direction="in" type="s">
+ <doc:doc><doc:summary>The UUID of the volume group to remove the physical volume from.</doc:summary></doc:doc>
+ </arg>
+ <arg name="pv_uuid" direction="in" type="s">
+ <doc:doc><doc:summary>The UUID of the physical volume to remove from the VG.</doc:summary></doc:doc>
+ </arg>
+ <arg name="options" direction="in" type="as">
+ <doc:doc><doc:summary>Currently unused.</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Removes a Physical volume from a Linux LVM2 Volume Group.
+ </doc:para>
+ </doc:description>
+ <doc:permission>
+ The caller will need the following PolicyKit authorization:
+ <doc:list>
+ <doc:item>
+ <doc:term>org.freedesktop.udisks.linux-lvm2</doc:term>
+ <doc:definition>
+ Needed to configured Linux LVM2 devices.
+ </doc:definition>
+ </doc:item>
+ </doc:list>
+ </doc:permission>
+ <doc:errors>
+ <doc:error name="org.freedesktop.PolicyKit.Error.NotAuthorized">if the caller lacks the appropriate PolicyKit authorization</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Busy">if one of the given components are busy</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the operation failed</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Cancelled">if the job was cancelled</doc:error>
+ </doc:errors>
+ </doc:doc>
+ </method>
+
+ <!-- ************************************************************ -->
+
+ <method name="LinuxLvm2LVSetName">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="group_uuid" direction="in" type="s">
+ <doc:doc><doc:summary>The UUID of the volume group for the logical volume.</doc:summary></doc:doc>
+ </arg>
+ <arg name="uuid" direction="in" type="s">
+ <doc:doc><doc:summary>The UUID of the logical volume to set the name for.</doc:summary></doc:doc>
+ </arg>
+ <arg name="name" direction="in" type="s">
+ <doc:doc><doc:summary>The new name for the logical volume.</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Sets the name for a logical volume.
+ </doc:para>
+ </doc:description>
+ <doc:permission>
+ The caller will need the following PolicyKit authorization:
+ <doc:list>
+ <doc:item>
+ <doc:term>org.freedesktop.udisks.linux-lvm2</doc:term>
+ <doc:definition>
+ Needed to configured Linux LVM2 devices.
+ </doc:definition>
+ </doc:item>
+ </doc:list>
+ </doc:permission>
+ <doc:errors>
+ <doc:error name="org.freedesktop.PolicyKit.Error.NotAuthorized">if the caller lacks the appropriate PolicyKit authorization</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Busy">if one of the given components are busy</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the operation failed</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Cancelled">if the job was cancelled</doc:error>
+ </doc:errors>
+ </doc:doc>
+ </method>
+
+ <!-- ************************************************************ -->
+
+ <method name="LinuxLvm2LVStart">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="group_uuid" direction="in" type="s">
+ <doc:doc><doc:summary>The UUID of the volume group of the logical volume to start belongs to.</doc:summary></doc:doc>
+ </arg>
+ <arg name="uuid" direction="in" type="s">
+ <doc:doc><doc:summary>The UUID of the logical volume to start.</doc:summary></doc:doc>
+ </arg>
+ <arg name="options" direction="in" type="as">
+ <doc:doc><doc:summary>Options for starting the logical volume. Currently no options are supported.</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Starts a LVM2 logical volume.
+ </doc:para>
+ </doc:description>
+ <doc:permission>
+ The caller will need the following PolicyKit authorization:
+ <doc:list>
+ <doc:item>
+ <doc:term>org.freedesktop.udisks.linux-lvm2</doc:term>
+ <doc:definition>
+ Needed to configured Linux LVM2 devices.
+ </doc:definition>
+ </doc:item>
+ </doc:list>
+ </doc:permission>
+ <doc:errors>
+ <doc:error name="org.freedesktop.PolicyKit.Error.NotAuthorized">if the caller lacks the appropriate PolicyKit authorization</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Busy">if one of the given components are busy</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the operation failed</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Cancelled">if the job was cancelled</doc:error>
+ </doc:errors>
+ </doc:doc>
+ </method>
+
+ <!-- ************************************************************ -->
+
+ <method name="LinuxLvm2LVRemove">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="group_uuid" direction="in" type="s">
+ <doc:doc><doc:summary>The UUID of the volume group of the logical volume to start belongs to.</doc:summary></doc:doc>
+ </arg>
+ <arg name="uuid" direction="in" type="s">
+ <doc:doc><doc:summary>The UUID of the logical volume to remove.</doc:summary></doc:doc>
+ </arg>
+ <arg name="options" direction="in" type="as">
+ <doc:doc><doc:summary>Options used for the removal of the logical volume. Currently no options are supported.</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Removes a LVM2 logical volume.
+ </doc:para>
+ </doc:description>
+ <doc:permission>
+ The caller will need the following PolicyKit authorization:
+ <doc:list>
+ <doc:item>
+ <doc:term>org.freedesktop.udisks.linux-lvm2</doc:term>
+ <doc:definition>
+ Needed to configured Linux LVM2 devices.
+ </doc:definition>
+ </doc:item>
+ </doc:list>
+ </doc:permission>
+ <doc:errors>
+ <doc:error name="org.freedesktop.PolicyKit.Error.NotAuthorized">if the caller lacks the appropriate PolicyKit authorization</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Busy">if one of the given components are busy</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the operation failed</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Cancelled">if the job was cancelled</doc:error>
+ </doc:errors>
+ </doc:doc>
+ </method>
+
+ <!-- ************************************************************ -->
+
+ <method name="LinuxLvm2LVCreate">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="group_uuid" direction="in" type="s">
+ <doc:doc><doc:summary>The UUID of the volume group to create a logical volume in.</doc:summary></doc:doc>
+ </arg>
+ <arg name="name" direction="in" type="s">
+ <doc:doc><doc:summary>The name for the logical volume.</doc:summary></doc:doc>
+ </arg>
+ <arg name="size" direction="in" type="t">
+ <doc:doc><doc:summary>The size of the logical volume, in bytes.</doc:summary></doc:doc>
+ </arg>
+ <arg name="num_stripes" direction="in" type="u">
+ <doc:doc><doc:summary>Number of stripes to use.</doc:summary></doc:doc>
+ </arg>
+ <arg name="stripe_size" direction="in" type="t">
+ <doc:doc><doc:summary>The stripe size to use or 0 if @num_stripes is 0. This must be a power of two.</doc:summary></doc:doc>
+ </arg>
+ <arg name="num_mirrors" direction="in" type="u">
+ <doc:doc><doc:summary>Number of mirrors to use.</doc:summary></doc:doc>
+ </arg>
+ <arg name="options" direction="in" type="as">
+ <doc:doc><doc:summary>Options used when creating the logical volume. Currently no options are supported.</doc:summary></doc:doc>
+ </arg>
+ <arg name="fstype" direction="in" type="s">
+ <doc:doc><doc:summary>
+ The file system to create in new logical filesystem. Leave
+ blank to skip creating a file system. See the
+ <doc:ref type="method" to="Device.FilesystemCreate">Device.FilesystemCreate()</doc:ref> method
+ for details.
+ </doc:summary></doc:doc>
+ </arg>
+ <arg name="fsoptions" direction="in" type="as">
+ <doc:doc><doc:summary>
+ Options to use for file system creation. See the
+ <doc:ref type="method" to="Device.FilesystemCreate">Device.FilesystemCreate()</doc:ref> method
+ for details.
+ </doc:summary></doc:doc>
+ </arg>
+ <arg name="created_device" direction="out" type="o">
+ <doc:doc><doc:summary>The object path of the newly added logical volume.</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Creates a new LVM2 logical volume.
+ </doc:para>
+ </doc:description>
+ <doc:permission>
+ The caller will need the following PolicyKit authorization:
+ <doc:list>
+ <doc:item>
+ <doc:term>org.freedesktop.udisks.linux-lvm2</doc:term>
+ <doc:definition>
+ Needed to configured Linux LVM2 devices.
+ </doc:definition>
+ </doc:item>
+ </doc:list>
+ </doc:permission>
+ <doc:errors>
+ <doc:error name="org.freedesktop.PolicyKit.Error.NotAuthorized">if the caller lacks the appropriate PolicyKit authorization</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Busy">if one of the given components are busy</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the operation failed</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Cancelled">if the job was cancelled</doc:error>
+ </doc:errors>
+ </doc:doc>
+ </method>
+
+ <!-- ************************************************************ -->
+
+ <method name="LinuxMdStart">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="components" direction="in" type="ao">
+ <doc:doc><doc:summary>The object paths of the components of the array to start.</doc:summary></doc:doc>
+ </arg>
+ <arg name="options" direction="in" type="as">
+ <doc:doc><doc:summary>Options for starting the array. Currently no options are supported.</doc:summary></doc:doc>
+ </arg>
+
+ <arg name="device" direction="out" type="o">
+ <doc:doc><doc:summary>The object path of the assembled array device.</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Starts an Linux md RAID array. The array will be assembled
+ and started in degraded mode if an insufficient number of
+ components are given.
+ </doc:para>
+ </doc:description>
+ <doc:permission>
+ The caller will need the following PolicyKit authorization:
+ <doc:list>
+ <doc:item>
+ <doc:term>org.freedesktop.udisks.linux-md</doc:term>
+ <doc:definition>
+ Needed to configured Linux md Software RAID devices.
+ </doc:definition>
+ </doc:item>
+ </doc:list>
+ </doc:permission>
+ <doc:errors>
+ <doc:error name="org.freedesktop.PolicyKit.Error.NotAuthorized">if the caller lacks the appropriate PolicyKit authorization</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Busy">if one of the given components are busy</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the operation failed</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Cancelled">if the job was cancelled</doc:error>
+ </doc:errors>
+ </doc:doc>
+ </method>
+
+ <!-- ************************************************************ -->
+
+ <method name="LinuxMdCreate">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="components" direction="in" type="ao">
+ <doc:doc><doc:summary>The object paths of the components to use for the array.</doc:summary></doc:doc>
+ </arg>
+ <arg name="level" direction="in" type="s">
+ <doc:doc><doc:summary>RAID level.</doc:summary></doc:doc>
+ </arg>
+ <arg name="stripe_size" direction="in" type="t">
+ <doc:doc><doc:summary>Stripe Size in bytes, or 0 to use the default stripe size.</doc:summary></doc:doc>
+ </arg>
+ <arg name="name" direction="in" type="s">
+ <doc:doc><doc:summary>Name of the array.</doc:summary></doc:doc>
+ </arg>
+ <arg name="options" direction="in" type="as">
+ <doc:doc><doc:summary>Options for creating the array. Currently no options are supported.</doc:summary></doc:doc>
+ </arg>
+
+ <arg name="device" direction="out" type="o">
+ <doc:doc><doc:summary>The object path of the created array device.</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Creates a Linux md RAID array. The array will be created and
+ assembled.
+ </doc:para>
+ </doc:description>
+ <doc:permission>
+ The caller will need the following PolicyKit authorization:
+ <doc:list>
+ <doc:item>
+ <doc:term>org.freedesktop.udisks.linux-md</doc:term>
+ <doc:definition>
+ Needed to configured Linux md Software RAID devices.
+ </doc:definition>
+ </doc:item>
+ </doc:list>
+ </doc:permission>
+ <doc:errors>
+ <doc:error name="org.freedesktop.PolicyKit.Error.NotAuthorized">if the caller lacks the appropriate PolicyKit authorization</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Busy">if one of the given components are busy</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the operation failed</doc:error>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Cancelled">if the job was cancelled</doc:error>
+ </doc:errors>
+ </doc:doc>
+ </method>
+
+ <!-- ************************************************************ -->
+
+ <method name="Inhibit">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="cookie" direction="out" type="s">
+ <doc:doc><doc:summary>
+ A cookie that can be used in the
+ <doc:ref type="method" to="Disks.Uninhibit">Uninhibit()</doc:ref> method.
+ to stop inhibiting the daemon.
+ </doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Inhibits clients from invoking methods on the daemon
+ of the daemon that require authorization (all methods
+ will return the <doc:tt>org.freedesktop.PolicyKit.Error.Inhibited</doc:tt> 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.
+ </doc:para>
+ </doc:description>
+ <doc:permission>
+ Only the super user can invoke this method.
+ </doc:permission>
+ <doc:errors>
+ <doc:error name="org.freedesktop.PolicyKit.Error.NotAuthorized">if the caller is not the super user</doc:error>
+ </doc:errors>
+ </doc:doc>
+ </method>
+
+ <!-- ************************************************************ -->
+
+ <method name="Uninhibit">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+
+ <arg name="cookie" direction="in" type="s">
+ <doc:doc><doc:summary>
+ A cookie obtained from the
+ <doc:ref type="method" to="Disks.Inhibit">Inhibit()</doc:ref> method.
+ </doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Uninhibits other clients from using the daemon.
+ </doc:para>
+ </doc:description>
+ <doc:errors>
+ <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the given cookie is malformed</doc:error>
+ </doc:errors>
+ </doc:doc>
+ </method>
+
+
+ <!-- ************************************************************ -->
+
+ <signal name="DeviceAdded">
+ <arg name="device" type="o">
+ <doc:doc><doc:summary>Object path of device that was added.</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Emitted when a device is added.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </signal>
+
+ <!-- ************************************************************ -->
+
+ <signal name="DeviceRemoved">
+ <arg name="device" type="o">
+ <doc:doc><doc:summary>Object path of device that was removed.</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Emitted when a device is removed.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </signal>
+
+ <!-- ************************************************************ -->
+
+ <signal name="DeviceChanged">
+ <arg name="device" type="o">
+ <doc:doc><doc:summary>Object path of device that was changed.</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Emitted when a device changed.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </signal>
+
+ <!-- ************************************************************ -->
+
+ <signal name="DeviceJobChanged">
+ <arg name="device" type="o">
+ <doc:doc><doc:summary>The object path of the device.</doc:summary></doc:doc>
+ </arg>
+ <arg name="job_in_progress" type="b">
+ <doc:doc><doc:summary>Whether a job is currently in progress.</doc:summary></doc:doc>
+ </arg>
+ <arg name="job_is_cancellable" type="b">
+ <doc:doc><doc:summary>Whether the job is cancellable.</doc:summary></doc:doc>
+ </arg>
+ <arg name="job_id" type="s">
+ <doc:doc><doc:summary>The identifier of the job.</doc:summary></doc:doc>
+ </arg>
+ <arg name="job_num_tasks" type="i">
+ <doc:doc><doc:summary>Number of tasks in the job.</doc:summary></doc:doc>
+ </arg>
+ <arg name="job_cur_task" type="i">
+ <doc:doc><doc:summary>Current task number (zero-based offset).</doc:summary></doc:doc>
+ </arg>
+ <arg name="job_cur_task_id" type="s">
+ <doc:doc><doc:summary>Task identifier for current task.</doc:summary></doc:doc>
+ </arg>
+ <arg name="job_cur_task_percentage" type="d">
+ <doc:doc><doc:summary>Percentage completed of current task (between 0 and 100, negative if unknown).</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Emitted when a job on a device changes.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </signal>
+
+ <!-- ************************************************************ -->
+
+ <signal name="AdapterAdded">
+ <arg name="adapter" type="o">
+ <doc:doc><doc:summary>Object path of adapter that was added.</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Emitted when an adapter is added.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </signal>
+ <signal name="AdapterRemoved">
+ <arg name="adapter" type="o">
+ <doc:doc><doc:summary>Object path of adapter that was removed.</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Emitted when an adapter is removed.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </signal>
+ <signal name="AdapterChanged">
+ <arg name="adapter" type="o">
+ <doc:doc><doc:summary>Object path of adapter that was changed.</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Emitted when an adapter changed.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </signal>
+
+ <!-- ************************************************************ -->
+
+ <signal name="ExpanderAdded">
+ <arg name="expander" type="o">
+ <doc:doc><doc:summary>Object path of expander that was added.</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Emitted when an expander is added.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </signal>
+ <signal name="ExpanderRemoved">
+ <arg name="expander" type="o">
+ <doc:doc><doc:summary>Object path of expander that was removed.</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Emitted when an expander is removed.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </signal>
+ <signal name="ExpanderChanged">
+ <arg name="expander" type="o">
+ <doc:doc><doc:summary>Object path of expander that was changed.</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Emitted when an expander changed.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </signal>
+
+ <!-- ************************************************************ -->
+
+ <signal name="PortAdded">
+ <arg name="port" type="o">
+ <doc:doc><doc:summary>Object path of port that was added.</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Emitted when a port is added.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </signal>
+ <signal name="PortRemoved">
+ <arg name="port" type="o">
+ <doc:doc><doc:summary>Object path of port that was removed.</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Emitted when a port is removed.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </signal>
+ <signal name="PortChanged">
+ <arg name="port" type="o">
+ <doc:doc><doc:summary>Object path of port that was changed.</doc:summary></doc:doc>
+ </arg>
+
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Emitted when a port changed.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </signal>
+
+ <!-- ************************************************************ -->
+
+ <property name="DaemonVersion" type="s" access="read">
+ <doc:doc><doc:description><doc:para>
+ The version of the running daemon.
+ </doc:para></doc:description></doc:doc>
+ </property>
+
+ <property name="DaemonIsInhibited" type="b" access="read">
+ <doc:doc><doc:description><doc:para>
+ TRUE only if the daemon is inhibited.
+ </doc:para></doc:description></doc:doc>
+ </property>
+
+ <property name="SupportsLuksDevices" type="b" access="read">
+ <doc:doc><doc:description><doc:para>
+ TRUE only if the daemon can create encrypted LUKS block devices, see the
+ <doc:ref type="method" to="Device.LuksLock">LuksUnlock()</doc:ref> and
+ <doc:ref type="method" to="Device.LuksLock">LuksLock()</doc:ref>
+ methods for details.
+ </doc:para></doc:description></doc:doc>
+ </property>
+
+
+ <!-- TODO: maybe this should return a dictionary so we can grow it in the future? -->
+ <property name="KnownFilesystems" type="a(ssbbbubbbbbbbb)" access="read">
+ <doc:doc><doc:description><doc:para>
+ An array of file systems known to the daemon and what features are supported.
+ Each element in the array contains the following members:
+ <doc:list>
+ <doc:item>
+ <doc:term>id</doc:term>
+ <doc:definition>
+ The name / identifier of the file system (such as <doc:tt>ext3</doc:tt> or <doc:tt>vfat</doc:tt>),
+ similar to the contents of the
+ <doc:ref type="property" to="Device:IdType">Device:IdType</doc:ref>
+ property.
+ </doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>name</doc:term>
+ <doc:definition>
+ A human readable name for the file system such as "Linux Ext3".
+ </doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>supports_unix_owners</doc:term>
+ <doc:definition>
+ Whether the file system supports the UNIX owners model (e.g. ext3 does, but vfat doesn't).
+ </doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>can_mount</doc:term>
+ <doc:definition>
+ Whether the file system can be mounted.
+ </doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>can_create</doc:term>
+ <doc:definition>
+ Whether the file system can be created on a device.
+ </doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>max_label_len</doc:term>
+ <doc:definition>
+ The maximum amount of bytes that the file system label can hold. Set to zero if the file
+ system doesn't support labels.
+ </doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>supports_label_rename</doc:term>
+ <doc:definition>
+ Whether the label of the file system can be changed.
+ </doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>supports_online_label_rename</doc:term>
+ <doc:definition>
+ Whether the label can be changed while the file system is mounted.
+ </doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>supports_fsck</doc:term>
+ <doc:definition>
+ Whether the file system can be checked.
+ </doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>supports_online_fsck</doc:term>
+ <doc:definition>
+ Whether the file system can be checked while mounted.
+ </doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>supports_resize_enlarge</doc:term>
+ <doc:definition>
+ Whether the file system can be enlarged.
+ </doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>supports_online_resize_enlarge</doc:term>
+ <doc:definition>
+ Whether the file system can be enlarged while mounted.
+ </doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>supports_resize_shrink</doc:term>
+ <doc:definition>
+ Whether the file system can be shrunk.
+ </doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>supports_online_resize_shrink</doc:term>
+ <doc:definition>
+ Whether the file system can be shrunk while mounted.
+ </doc:definition>
+ </doc:item>
+ </doc:list>
+
+ </doc:para></doc:description></doc:doc>
+ </property>
+
+ <!-- ************************************************************ -->
+
+ </interface>
+
+</node>
diff --git a/gdbus/api/org.lightmediascanner.xml b/gdbus/api/org.lightmediascanner.xml
new file mode 100644
index 0000000..1651b47
--- /dev/null
+++ b/gdbus/api/org.lightmediascanner.xml
@@ -0,0 +1,75 @@
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+<!-- GDBus 2.48.2 -->
+<node>
+ <interface name="org.freedesktop.DBus.Properties">
+ <method name="Get">
+ <arg type="s" name="interface_name" direction="in"/>
+ <arg type="s" name="property_name" direction="in"/>
+ <arg type="v" name="value" direction="out"/>
+ </method>
+ <method name="GetAll">
+ <arg type="s" name="interface_name" direction="in"/>
+ <arg type="a{sv}" name="properties" direction="out"/>
+ </method>
+ <method name="Set">
+ <arg type="s" name="interface_name" direction="in"/>
+ <arg type="s" name="property_name" direction="in"/>
+ <arg type="v" name="value" direction="in"/>
+ </method>
+ <signal name="PropertiesChanged">
+ <arg type="s" name="interface_name"/>
+ <arg type="a{sv}" name="changed_properties"/>
+ <arg type="as" name="invalidated_properties"/>
+ </signal>
+ </interface>
+ <interface name="org.freedesktop.DBus.Introspectable">
+ <method name="Introspect">
+ <arg type="s" name="xml_data" direction="out"/>
+ </method>
+ </interface>
+ <interface name="org.freedesktop.DBus.Peer">
+ <method name="Ping"/>
+ <method name="GetMachineId">
+ <arg type="s" name="machine_uuid" direction="out"/>
+ </method>
+ </interface>
+ <interface name="org.lightmediascanner.Scanner1">
+ <method name="Scan">
+ <arg type="a{sv}" name="specification" direction="in">
+ </arg>
+ </method>
+ <method name="Stop">
+ </method>
+ <method name="RequestWriteLock">
+ </method>
+ <method name="ReleaseWriteLock">
+ </method>
+ <signal name="ScanProgress">
+ <arg type="s" name="Category">
+ </arg>
+ <arg type="s" name="Path">
+ </arg>
+ <arg type="t" name="UpToDate">
+ </arg>
+ <arg type="t" name="Processed">
+ </arg>
+ <arg type="t" name="Deleted">
+ </arg>
+ <arg type="t" name="Skipped">
+ </arg>
+ <arg type="t" name="Errors">
+ </arg>
+ </signal>
+ <property type="s" name="DataBasePath" access="read">
+ </property>
+ <property type="b" name="IsScanning" access="read">
+ </property>
+ <property type="b" name="WriteLocked" access="read">
+ </property>
+ <property type="t" name="UpdateID" access="read">
+ </property>
+ <property type="a{sv}" name="Categories" access="read">
+ </property>
+ </interface>
+</node>