diff options
author | Matt Ranostay <matt.ranostay@konsulko.com> | 2017-05-16 16:14:30 -0400 |
---|---|---|
committer | Matt Ranostay <matt.ranostay@konsulko.com> | 2017-06-02 22:28:18 -0700 |
commit | cccbe1188021ac4f7cbba7ee26d297448f29bbf3 (patch) | |
tree | 5686a4dc65db48a4094beb52295675e8e45296d3 /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.xml | 1155 | ||||
-rw-r--r-- | gdbus/api/org.lightmediascanner.xml | 75 |
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> |