binding: add initial media binding
[apps/mediaplayer.git] / binding / gdbus / api / org.freedesktop.UDisks.xml
1 <!DOCTYPE node PUBLIC
2 "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
3 "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
4 <node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
5
6   <interface name="org.freedesktop.UDisks">
7
8     <!-- ************************************************************ -->
9
10     <method name="EnumerateAdapters">
11       <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
12       <arg name="devices" direction="out" type="ao">
13         <doc:doc><doc:summary>An array of object paths for storage adapters.</doc:summary></doc:doc>
14       </arg>
15
16       <doc:doc>
17         <doc:description>
18           <doc:para>
19             Enumerate all storage adapters on the system.
20           </doc:para>
21         </doc:description>
22       </doc:doc>
23     </method>
24
25     <!-- ************************************************************ -->
26
27     <method name="EnumerateExpanders">
28       <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
29       <arg name="devices" direction="out" type="ao">
30         <doc:doc><doc:summary>An array of object paths for storage expanders.</doc:summary></doc:doc>
31       </arg>
32
33       <doc:doc>
34         <doc:description>
35           <doc:para>
36             Enumerate all storage expanders on the system.
37           </doc:para>
38         </doc:description>
39       </doc:doc>
40     </method>
41
42     <!-- ************************************************************ -->
43
44     <method name="EnumeratePorts">
45       <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
46       <arg name="devices" direction="out" type="ao">
47         <doc:doc><doc:summary>An array of object paths for ports.</doc:summary></doc:doc>
48       </arg>
49
50       <doc:doc>
51         <doc:description>
52           <doc:para>
53             Enumerate all storage ports on the system.
54           </doc:para>
55         </doc:description>
56       </doc:doc>
57     </method>
58
59     <!-- ************************************************************ -->
60
61     <method name="EnumerateDevices">
62       <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
63       <arg name="devices" direction="out" type="ao">
64         <doc:doc><doc:summary>An array of object paths for devices.</doc:summary></doc:doc>
65       </arg>
66
67       <doc:doc>
68         <doc:description>
69           <doc:para>
70             Enumerate all disk devices on the system.
71           </doc:para>
72         </doc:description>
73       </doc:doc>
74     </method>
75
76     <!-- ************************************************************ -->
77
78     <method name="EnumerateDeviceFiles">
79       <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
80       <arg name="device_files" direction="out" type="as">
81         <doc:doc><doc:summary>An array device file names.</doc:summary></doc:doc>
82       </arg>
83
84       <doc:doc>
85         <doc:description>
86           <doc:para>
87             Enumerate all device files (including symlinks) for disk devices on the system.
88           </doc:para>
89         </doc:description>
90       </doc:doc>
91     </method>
92
93     <!-- ************************************************************ -->
94
95     <method name="FindDeviceByDeviceFile">
96       <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
97       <arg name="device_file" direction="in" type="s">
98         <doc:doc><doc:summary>UNIX special device file</doc:summary></doc:doc>
99       </arg>
100       <arg name="device" direction="out" type="o">
101         <doc:doc><doc:summary>Object path of device</doc:summary></doc:doc>
102       </arg>
103
104       <doc:doc>
105         <doc:description>
106           <doc:para>
107             Finds a device by device path.
108           </doc:para>
109         </doc:description>
110       </doc:doc>
111     </method>
112
113     <!-- ************************************************************ -->
114
115     <method name="FindDeviceByMajorMinor">
116       <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
117       <arg name="device_major" direction="in" type="x">
118         <doc:doc><doc:summary>Device major</doc:summary></doc:doc>
119       </arg>
120       <arg name="device_minor" direction="in" type="x">
121         <doc:doc><doc:summary>Device minor</doc:summary></doc:doc>
122       </arg>
123       <arg name="device" direction="out" type="o">
124         <doc:doc><doc:summary>Object path of device</doc:summary></doc:doc>
125       </arg>
126
127       <doc:doc>
128         <doc:description>
129           <doc:para>
130             Finds a device by major:minor.
131           </doc:para>
132         </doc:description>
133       </doc:doc>
134     </method>
135
136     <!-- ************************************************************ -->
137
138     <method name="DriveInhibitAllPolling">
139       <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
140       <arg name="options" direction="in" type="as">
141         <doc:doc><doc:summary>Inhibit options. Currently no options are recognized.</doc:summary></doc:doc>
142       </arg>
143
144       <arg name="cookie" direction="out" type="s">
145         <doc:doc><doc:summary>
146             A cookie that can be used in the
147             <doc:ref type="method" to="Disks.DriveUninhibitAllPolling">DriveUninhibitAllPolling()</doc:ref> method
148             to stop inhibiting polling of all devices.
149         </doc:summary></doc:doc>
150       </arg>
151
152       <doc:doc>
153         <doc:description>
154           <doc:para>
155             Inhibits the daemon from polling devices for media changes.
156           </doc:para>
157         </doc:description>
158         <doc:permission>
159           The caller will need one of the following PolicyKit authorizations:
160           <doc:list>
161             <doc:item>
162               <doc:term>org.freedesktop.udisks.inhibit-polling</doc:term>
163               <doc:definition>To inhibit polling</doc:definition>
164             </doc:item>
165           </doc:list>
166         </doc:permission>
167         <doc:errors>
168           <doc:error name="org.freedesktop.PolicyKit.Error.NotAuthorized">if the caller lacks the appropriate PolicyKit authorization</doc:error>
169           <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the operation failed</doc:error>
170         </doc:errors>
171       </doc:doc>
172     </method>
173
174     <!-- ************************************************************ -->
175
176     <method name="DriveUninhibitAllPolling">
177       <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
178
179       <arg name="cookie" direction="in" type="s">
180         <doc:doc><doc:summary>
181             A cookie obtained from the
182             <doc:ref type="method" to="Disks.DriveInhibitAllPolling">DriveInhibitAllPolling()</doc:ref> method.
183         </doc:summary></doc:doc>
184       </arg>
185
186       <doc:doc>
187         <doc:description>
188           <doc:para>
189             Uninhibits daemon from polling devices for media changes.
190           </doc:para>
191         </doc:description>
192         <doc:errors>
193           <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the given cookie is malformed</doc:error>
194         </doc:errors>
195       </doc:doc>
196     </method>
197
198     <!-- ************************************************************ -->
199
200     <method name="DriveSetAllSpindownTimeouts">
201       <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
202       <arg name="timeout_seconds" direction="in" type="i">
203         <doc:doc><doc:summary>
204             Number of seconds before drives should be spun down.
205         </doc:summary></doc:doc>
206       </arg>
207
208       <arg name="options" direction="in" type="as">
209         <doc:doc><doc:summary>
210             Options related to setting spindown timeouts. Currently no options are recognized.
211         </doc:summary></doc:doc>
212       </arg>
213
214       <arg name="cookie" direction="out" type="s">
215         <doc:doc><doc:summary>
216             A cookie that can be used in the
217             <doc:ref type="method" to="Drive.DriveUnsetAllSpindownTimeouts">DriveUnsetAllSpindownTimeouts()</doc:ref> method
218             to unset the spindown timeout for drives.
219         </doc:summary></doc:doc>
220       </arg>
221
222       <doc:doc>
223         <doc:description>
224           <doc:para>
225             Configures spindown timeout for all drives capable of being spun down.
226             Caution should be exercised when using this method, see
227             the SPINNING DOWN DISKS section in the
228             udisks<doc:tt>(1)</doc:tt> man page before using it.
229           </doc:para>
230         </doc:description>
231         <doc:permission>
232           The caller will need one of the following PolicyKit authorizations:
233           <doc:list>
234             <doc:item>
235               <doc:term>org.freedesktop.udisks.drive-set-spindown</doc:term>
236               <doc:definition>To set spindown timeouts</doc:definition>
237             </doc:item>
238           </doc:list>
239         </doc:permission>
240         <doc:errors>
241           <doc:error name="org.freedesktop.PolicyKit.Error.NotAuthorized">if the caller lacks the appropriate PolicyKit authorization</doc:error>
242           <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the operation failed</doc:error>
243           <doc:error name="org.freedesktop.PolicyKit.Error.InvalidOption">if an invalid or malformed option was given</doc:error>
244         </doc:errors>
245       </doc:doc>
246     </method>
247
248     <!-- ************************************************************ -->
249
250     <method name="DriveUnsetAllSpindownTimeouts">
251       <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
252
253       <arg name="cookie" direction="in" type="s">
254         <doc:doc><doc:summary>
255             A cookie obtained from the
256             <doc:ref type="method" to="Device.DriveSetSpindownTimeout">DriveSetSpindownTimeout()</doc:ref> method.
257         </doc:summary></doc:doc>
258       </arg>
259
260       <doc:doc>
261         <doc:description>
262           <doc:para>
263             Unsets spindown timeout for the drive.
264           </doc:para>
265         </doc:description>
266         <doc:permission>
267           The caller will need one of the following PolicyKit authorizations:
268           <doc:list>
269             <doc:item>
270               <doc:term>org.freedesktop.udisks.drive-set-spindown</doc:term>
271               <doc:definition>To set spindown timeouts</doc:definition>
272             </doc:item>
273           </doc:list>
274         </doc:permission>
275         <doc:errors>
276           <doc:error name="org.freedesktop.PolicyKit.Error.NotAuthorized">if the caller lacks the appropriate PolicyKit authorization</doc:error>
277           <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the operation failed</doc:error>
278         </doc:errors>
279       </doc:doc>
280     </method>
281
282
283     <!-- ************************************************************ -->
284
285     <method name="LinuxLvm2VGStart">
286       <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
287       <arg name="uuid" direction="in" type="s">
288         <doc:doc><doc:summary>The UUID of the volume group to start.</doc:summary></doc:doc>
289       </arg>
290       <arg name="options" direction="in" type="as">
291         <doc:doc><doc:summary>Options for starting the VG. Currently no options are supported.</doc:summary></doc:doc>
292       </arg>
293
294       <doc:doc>
295         <doc:description>
296           <doc:para>
297             Starts all logical volumes in Linux LVM2 Volume Group.
298           </doc:para>
299         </doc:description>
300         <doc:permission>
301           The caller will need the following PolicyKit authorization:
302           <doc:list>
303             <doc:item>
304               <doc:term>org.freedesktop.udisks.linux-lvm2</doc:term>
305               <doc:definition>
306                 Needed to configured Linux LVM2 devices.
307               </doc:definition>
308             </doc:item>
309           </doc:list>
310         </doc:permission>
311         <doc:errors>
312           <doc:error name="org.freedesktop.PolicyKit.Error.NotAuthorized">if the caller lacks the appropriate PolicyKit authorization</doc:error>
313           <doc:error name="org.freedesktop.PolicyKit.Error.Busy">if one of the given components are busy</doc:error>
314           <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the operation failed</doc:error>
315           <doc:error name="org.freedesktop.PolicyKit.Error.Cancelled">if the job was cancelled</doc:error>
316         </doc:errors>
317       </doc:doc>
318     </method>
319
320     <!-- ************************************************************ -->
321
322     <method name="LinuxLvm2VGStop">
323       <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
324       <arg name="uuid" direction="in" type="s">
325         <doc:doc><doc:summary>The UUID of the volume group to stop.</doc:summary></doc:doc>
326       </arg>
327       <arg name="options" direction="in" type="as">
328         <doc:doc><doc:summary>Options for stopping the VG. Currently no options are supported.</doc:summary></doc:doc>
329       </arg>
330
331       <doc:doc>
332         <doc:description>
333           <doc:para>
334             Stops all logical volumes in Linux LVM2 Volume Group.
335           </doc:para>
336         </doc:description>
337         <doc:permission>
338           The caller will need the following PolicyKit authorization:
339           <doc:list>
340             <doc:item>
341               <doc:term>org.freedesktop.udisks.linux-lvm2</doc:term>
342               <doc:definition>
343                 Needed to configured Linux LVM2 devices.
344               </doc:definition>
345             </doc:item>
346           </doc:list>
347         </doc:permission>
348         <doc:errors>
349           <doc:error name="org.freedesktop.PolicyKit.Error.NotAuthorized">if the caller lacks the appropriate PolicyKit authorization</doc:error>
350           <doc:error name="org.freedesktop.PolicyKit.Error.Busy">if one of the given components are busy</doc:error>
351           <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the operation failed</doc:error>
352           <doc:error name="org.freedesktop.PolicyKit.Error.Cancelled">if the job was cancelled</doc:error>
353         </doc:errors>
354       </doc:doc>
355     </method>
356
357     <!-- ************************************************************ -->
358
359     <method name="LinuxLvm2VGSetName">
360       <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
361       <arg name="uuid" direction="in" type="s">
362         <doc:doc><doc:summary>The UUID of the volume group to set the name for.</doc:summary></doc:doc>
363       </arg>
364       <arg name="name" direction="in" type="s">
365         <doc:doc><doc:summary>The new name for the volume group.</doc:summary></doc:doc>
366       </arg>
367
368       <doc:doc>
369         <doc:description>
370           <doc:para>
371             Sets the name for a volume group.
372           </doc:para>
373         </doc:description>
374         <doc:permission>
375           The caller will need the following PolicyKit authorization:
376           <doc:list>
377             <doc:item>
378               <doc:term>org.freedesktop.udisks.linux-lvm2</doc:term>
379               <doc:definition>
380                 Needed to configured Linux LVM2 devices.
381               </doc:definition>
382             </doc:item>
383           </doc:list>
384         </doc:permission>
385         <doc:errors>
386           <doc:error name="org.freedesktop.PolicyKit.Error.NotAuthorized">if the caller lacks the appropriate PolicyKit authorization</doc:error>
387           <doc:error name="org.freedesktop.PolicyKit.Error.Busy">if one of the given components are busy</doc:error>
388           <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the operation failed</doc:error>
389           <doc:error name="org.freedesktop.PolicyKit.Error.Cancelled">if the job was cancelled</doc:error>
390         </doc:errors>
391       </doc:doc>
392     </method>
393
394     <!-- ************************************************************ -->
395
396     <method name="LinuxLvm2VGAddPV">
397       <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
398       <arg name="uuid" direction="in" type="s">
399         <doc:doc><doc:summary>The UUID of the volume group to add a physical volume to.</doc:summary></doc:doc>
400       </arg>
401       <arg name="physical_volume" direction="in" type="o">
402         <doc:doc><doc:summary>The objcet path of the device to use as a physical volume.</doc:summary></doc:doc>
403       </arg>
404       <arg name="options" direction="in" type="as">
405         <doc:doc><doc:summary>Currently unused.</doc:summary></doc:doc>
406       </arg>
407
408       <doc:doc>
409         <doc:description>
410           <doc:para>
411             Adds a Physical volume to a Linux LVM2 Volume Group. Existing data
412             on the given device to use for a physical volume will be erased.
413           </doc:para>
414         </doc:description>
415         <doc:permission>
416           The caller will need the following PolicyKit authorization:
417           <doc:list>
418             <doc:item>
419               <doc:term>org.freedesktop.udisks.linux-lvm2</doc:term>
420               <doc:definition>
421                 Needed to configured Linux LVM2 devices.
422               </doc:definition>
423             </doc:item>
424           </doc:list>
425         </doc:permission>
426         <doc:errors>
427           <doc:error name="org.freedesktop.PolicyKit.Error.NotAuthorized">if the caller lacks the appropriate PolicyKit authorization</doc:error>
428           <doc:error name="org.freedesktop.PolicyKit.Error.Busy">if one of the given components are busy</doc:error>
429           <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the operation failed</doc:error>
430           <doc:error name="org.freedesktop.PolicyKit.Error.Cancelled">if the job was cancelled</doc:error>
431         </doc:errors>
432       </doc:doc>
433     </method>
434
435     <!-- ************************************************************ -->
436
437     <method name="LinuxLvm2VGRemovePV">
438       <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
439       <arg name="vg_uuid" direction="in" type="s">
440         <doc:doc><doc:summary>The UUID of the volume group to remove the physical volume from.</doc:summary></doc:doc>
441       </arg>
442       <arg name="pv_uuid" direction="in" type="s">
443         <doc:doc><doc:summary>The UUID of the physical volume to remove from the VG.</doc:summary></doc:doc>
444       </arg>
445       <arg name="options" direction="in" type="as">
446         <doc:doc><doc:summary>Currently unused.</doc:summary></doc:doc>
447       </arg>
448
449       <doc:doc>
450         <doc:description>
451           <doc:para>
452             Removes a Physical volume from a Linux LVM2 Volume Group.
453           </doc:para>
454         </doc:description>
455         <doc:permission>
456           The caller will need the following PolicyKit authorization:
457           <doc:list>
458             <doc:item>
459               <doc:term>org.freedesktop.udisks.linux-lvm2</doc:term>
460               <doc:definition>
461                 Needed to configured Linux LVM2 devices.
462               </doc:definition>
463             </doc:item>
464           </doc:list>
465         </doc:permission>
466         <doc:errors>
467           <doc:error name="org.freedesktop.PolicyKit.Error.NotAuthorized">if the caller lacks the appropriate PolicyKit authorization</doc:error>
468           <doc:error name="org.freedesktop.PolicyKit.Error.Busy">if one of the given components are busy</doc:error>
469           <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the operation failed</doc:error>
470           <doc:error name="org.freedesktop.PolicyKit.Error.Cancelled">if the job was cancelled</doc:error>
471         </doc:errors>
472       </doc:doc>
473     </method>
474
475     <!-- ************************************************************ -->
476
477     <method name="LinuxLvm2LVSetName">
478       <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
479       <arg name="group_uuid" direction="in" type="s">
480         <doc:doc><doc:summary>The UUID of the volume group for the logical volume.</doc:summary></doc:doc>
481       </arg>
482       <arg name="uuid" direction="in" type="s">
483         <doc:doc><doc:summary>The UUID of the logical volume to set the name for.</doc:summary></doc:doc>
484       </arg>
485       <arg name="name" direction="in" type="s">
486         <doc:doc><doc:summary>The new name for the logical volume.</doc:summary></doc:doc>
487       </arg>
488
489       <doc:doc>
490         <doc:description>
491           <doc:para>
492             Sets the name for a logical volume.
493           </doc:para>
494         </doc:description>
495         <doc:permission>
496           The caller will need the following PolicyKit authorization:
497           <doc:list>
498             <doc:item>
499               <doc:term>org.freedesktop.udisks.linux-lvm2</doc:term>
500               <doc:definition>
501                 Needed to configured Linux LVM2 devices.
502               </doc:definition>
503             </doc:item>
504           </doc:list>
505         </doc:permission>
506         <doc:errors>
507           <doc:error name="org.freedesktop.PolicyKit.Error.NotAuthorized">if the caller lacks the appropriate PolicyKit authorization</doc:error>
508           <doc:error name="org.freedesktop.PolicyKit.Error.Busy">if one of the given components are busy</doc:error>
509           <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the operation failed</doc:error>
510           <doc:error name="org.freedesktop.PolicyKit.Error.Cancelled">if the job was cancelled</doc:error>
511         </doc:errors>
512       </doc:doc>
513     </method>
514
515     <!-- ************************************************************ -->
516
517     <method name="LinuxLvm2LVStart">
518       <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
519       <arg name="group_uuid" direction="in" type="s">
520         <doc:doc><doc:summary>The UUID of the volume group of the logical volume to start belongs to.</doc:summary></doc:doc>
521       </arg>
522       <arg name="uuid" direction="in" type="s">
523         <doc:doc><doc:summary>The UUID of the logical volume to start.</doc:summary></doc:doc>
524       </arg>
525       <arg name="options" direction="in" type="as">
526         <doc:doc><doc:summary>Options for starting the logical volume. Currently no options are supported.</doc:summary></doc:doc>
527       </arg>
528
529       <doc:doc>
530         <doc:description>
531           <doc:para>
532             Starts a LVM2 logical volume.
533           </doc:para>
534         </doc:description>
535         <doc:permission>
536           The caller will need the following PolicyKit authorization:
537           <doc:list>
538             <doc:item>
539               <doc:term>org.freedesktop.udisks.linux-lvm2</doc:term>
540               <doc:definition>
541                 Needed to configured Linux LVM2 devices.
542               </doc:definition>
543             </doc:item>
544           </doc:list>
545         </doc:permission>
546         <doc:errors>
547           <doc:error name="org.freedesktop.PolicyKit.Error.NotAuthorized">if the caller lacks the appropriate PolicyKit authorization</doc:error>
548           <doc:error name="org.freedesktop.PolicyKit.Error.Busy">if one of the given components are busy</doc:error>
549           <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the operation failed</doc:error>
550           <doc:error name="org.freedesktop.PolicyKit.Error.Cancelled">if the job was cancelled</doc:error>
551         </doc:errors>
552       </doc:doc>
553     </method>
554
555     <!-- ************************************************************ -->
556
557     <method name="LinuxLvm2LVRemove">
558       <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
559       <arg name="group_uuid" direction="in" type="s">
560         <doc:doc><doc:summary>The UUID of the volume group of the logical volume to start belongs to.</doc:summary></doc:doc>
561       </arg>
562       <arg name="uuid" direction="in" type="s">
563         <doc:doc><doc:summary>The UUID of the logical volume to remove.</doc:summary></doc:doc>
564       </arg>
565       <arg name="options" direction="in" type="as">
566         <doc:doc><doc:summary>Options used for the removal of the logical volume. Currently no options are supported.</doc:summary></doc:doc>
567       </arg>
568
569       <doc:doc>
570         <doc:description>
571           <doc:para>
572             Removes a LVM2 logical volume.
573           </doc:para>
574         </doc:description>
575         <doc:permission>
576           The caller will need the following PolicyKit authorization:
577           <doc:list>
578             <doc:item>
579               <doc:term>org.freedesktop.udisks.linux-lvm2</doc:term>
580               <doc:definition>
581                 Needed to configured Linux LVM2 devices.
582               </doc:definition>
583             </doc:item>
584           </doc:list>
585         </doc:permission>
586         <doc:errors>
587           <doc:error name="org.freedesktop.PolicyKit.Error.NotAuthorized">if the caller lacks the appropriate PolicyKit authorization</doc:error>
588           <doc:error name="org.freedesktop.PolicyKit.Error.Busy">if one of the given components are busy</doc:error>
589           <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the operation failed</doc:error>
590           <doc:error name="org.freedesktop.PolicyKit.Error.Cancelled">if the job was cancelled</doc:error>
591         </doc:errors>
592       </doc:doc>
593     </method>
594
595     <!-- ************************************************************ -->
596
597     <method name="LinuxLvm2LVCreate">
598       <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
599       <arg name="group_uuid" direction="in" type="s">
600         <doc:doc><doc:summary>The UUID of the volume group to create a logical volume in.</doc:summary></doc:doc>
601       </arg>
602       <arg name="name" direction="in" type="s">
603         <doc:doc><doc:summary>The name for the logical volume.</doc:summary></doc:doc>
604       </arg>
605       <arg name="size" direction="in" type="t">
606         <doc:doc><doc:summary>The size of the logical volume, in bytes.</doc:summary></doc:doc>
607       </arg>
608       <arg name="num_stripes" direction="in" type="u">
609         <doc:doc><doc:summary>Number of stripes to use.</doc:summary></doc:doc>
610       </arg>
611       <arg name="stripe_size" direction="in" type="t">
612         <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>
613       </arg>
614       <arg name="num_mirrors" direction="in" type="u">
615         <doc:doc><doc:summary>Number of mirrors to use.</doc:summary></doc:doc>
616       </arg>
617       <arg name="options" direction="in" type="as">
618         <doc:doc><doc:summary>Options used when creating the logical volume. Currently no options are supported.</doc:summary></doc:doc>
619       </arg>
620       <arg name="fstype" direction="in" type="s">
621         <doc:doc><doc:summary>
622             The file system to create in new logical filesystem. Leave
623             blank to skip creating a file system. See the
624             <doc:ref type="method" to="Device.FilesystemCreate">Device.FilesystemCreate()</doc:ref> method
625             for details.
626         </doc:summary></doc:doc>
627       </arg>
628       <arg name="fsoptions" direction="in" type="as">
629         <doc:doc><doc:summary>
630             Options to use for file system creation. See the
631             <doc:ref type="method" to="Device.FilesystemCreate">Device.FilesystemCreate()</doc:ref> method
632             for details.
633         </doc:summary></doc:doc>
634       </arg>
635       <arg name="created_device" direction="out" type="o">
636         <doc:doc><doc:summary>The object path of the newly added logical volume.</doc:summary></doc:doc>
637       </arg>
638
639       <doc:doc>
640         <doc:description>
641           <doc:para>
642             Creates a new LVM2 logical volume.
643           </doc:para>
644         </doc:description>
645         <doc:permission>
646           The caller will need the following PolicyKit authorization:
647           <doc:list>
648             <doc:item>
649               <doc:term>org.freedesktop.udisks.linux-lvm2</doc:term>
650               <doc:definition>
651                 Needed to configured Linux LVM2 devices.
652               </doc:definition>
653             </doc:item>
654           </doc:list>
655         </doc:permission>
656         <doc:errors>
657           <doc:error name="org.freedesktop.PolicyKit.Error.NotAuthorized">if the caller lacks the appropriate PolicyKit authorization</doc:error>
658           <doc:error name="org.freedesktop.PolicyKit.Error.Busy">if one of the given components are busy</doc:error>
659           <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the operation failed</doc:error>
660           <doc:error name="org.freedesktop.PolicyKit.Error.Cancelled">if the job was cancelled</doc:error>
661         </doc:errors>
662       </doc:doc>
663     </method>
664
665     <!-- ************************************************************ -->
666
667     <method name="LinuxMdStart">
668       <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
669       <arg name="components" direction="in" type="ao">
670         <doc:doc><doc:summary>The object paths of the components of the array to start.</doc:summary></doc:doc>
671       </arg>
672       <arg name="options" direction="in" type="as">
673         <doc:doc><doc:summary>Options for starting the array. Currently no options are supported.</doc:summary></doc:doc>
674       </arg>
675
676       <arg name="device" direction="out" type="o">
677         <doc:doc><doc:summary>The object path of the assembled array device.</doc:summary></doc:doc>
678       </arg>
679
680       <doc:doc>
681         <doc:description>
682           <doc:para>
683             Starts an Linux md RAID array. The array will be assembled
684             and started in degraded mode if an insufficient number of
685             components are given.
686           </doc:para>
687         </doc:description>
688         <doc:permission>
689           The caller will need the following PolicyKit authorization:
690           <doc:list>
691             <doc:item>
692               <doc:term>org.freedesktop.udisks.linux-md</doc:term>
693               <doc:definition>
694                 Needed to configured Linux md Software RAID devices.
695               </doc:definition>
696             </doc:item>
697           </doc:list>
698         </doc:permission>
699         <doc:errors>
700           <doc:error name="org.freedesktop.PolicyKit.Error.NotAuthorized">if the caller lacks the appropriate PolicyKit authorization</doc:error>
701           <doc:error name="org.freedesktop.PolicyKit.Error.Busy">if one of the given components are busy</doc:error>
702           <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the operation failed</doc:error>
703           <doc:error name="org.freedesktop.PolicyKit.Error.Cancelled">if the job was cancelled</doc:error>
704         </doc:errors>
705       </doc:doc>
706     </method>
707
708     <!-- ************************************************************ -->
709
710     <method name="LinuxMdCreate">
711       <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
712       <arg name="components" direction="in" type="ao">
713         <doc:doc><doc:summary>The object paths of the components to use for the array.</doc:summary></doc:doc>
714       </arg>
715       <arg name="level" direction="in" type="s">
716         <doc:doc><doc:summary>RAID level.</doc:summary></doc:doc>
717       </arg>
718       <arg name="stripe_size" direction="in" type="t">
719         <doc:doc><doc:summary>Stripe Size in bytes, or 0 to use the default stripe size.</doc:summary></doc:doc>
720       </arg>
721       <arg name="name" direction="in" type="s">
722         <doc:doc><doc:summary>Name of the array.</doc:summary></doc:doc>
723       </arg>
724       <arg name="options" direction="in" type="as">
725         <doc:doc><doc:summary>Options for creating the array. Currently no options are supported.</doc:summary></doc:doc>
726       </arg>
727
728       <arg name="device" direction="out" type="o">
729         <doc:doc><doc:summary>The object path of the created array device.</doc:summary></doc:doc>
730       </arg>
731
732       <doc:doc>
733         <doc:description>
734           <doc:para>
735             Creates a Linux md RAID array. The array will be created and
736             assembled.
737           </doc:para>
738         </doc:description>
739         <doc:permission>
740           The caller will need the following PolicyKit authorization:
741           <doc:list>
742             <doc:item>
743               <doc:term>org.freedesktop.udisks.linux-md</doc:term>
744               <doc:definition>
745                 Needed to configured Linux md Software RAID devices.
746               </doc:definition>
747             </doc:item>
748           </doc:list>
749         </doc:permission>
750         <doc:errors>
751           <doc:error name="org.freedesktop.PolicyKit.Error.NotAuthorized">if the caller lacks the appropriate PolicyKit authorization</doc:error>
752           <doc:error name="org.freedesktop.PolicyKit.Error.Busy">if one of the given components are busy</doc:error>
753           <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the operation failed</doc:error>
754           <doc:error name="org.freedesktop.PolicyKit.Error.Cancelled">if the job was cancelled</doc:error>
755         </doc:errors>
756       </doc:doc>
757     </method>
758
759     <!-- ************************************************************ -->
760
761     <method name="Inhibit">
762       <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
763       <arg name="cookie" direction="out" type="s">
764         <doc:doc><doc:summary>
765             A cookie that can be used in the
766             <doc:ref type="method" to="Disks.Uninhibit">Uninhibit()</doc:ref> method.
767             to stop inhibiting the daemon.
768         </doc:summary></doc:doc>
769       </arg>
770
771       <doc:doc>
772         <doc:description>
773           <doc:para>
774             Inhibits clients from invoking methods on the daemon
775             of the daemon that require authorization (all methods
776             will return the <doc:tt>org.freedesktop.PolicyKit.Error.Inhibited</doc:tt> error)
777             if the caller is not the super user.
778             This is typically used by OS installers and other
779             programs that expects full control of the system, specifically
780             to avoid automounting devices.
781           </doc:para>
782         </doc:description>
783         <doc:permission>
784           Only the super user can invoke this method.
785         </doc:permission>
786         <doc:errors>
787           <doc:error name="org.freedesktop.PolicyKit.Error.NotAuthorized">if the caller is not the super user</doc:error>
788         </doc:errors>
789       </doc:doc>
790     </method>
791
792     <!-- ************************************************************ -->
793
794     <method name="Uninhibit">
795       <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
796
797       <arg name="cookie" direction="in" type="s">
798         <doc:doc><doc:summary>
799             A cookie obtained from the
800             <doc:ref type="method" to="Disks.Inhibit">Inhibit()</doc:ref> method.
801         </doc:summary></doc:doc>
802       </arg>
803
804       <doc:doc>
805         <doc:description>
806           <doc:para>
807             Uninhibits other clients from using the daemon.
808           </doc:para>
809         </doc:description>
810         <doc:errors>
811           <doc:error name="org.freedesktop.PolicyKit.Error.Failed">if the given cookie is malformed</doc:error>
812         </doc:errors>
813       </doc:doc>
814     </method>
815
816
817     <!-- ************************************************************ -->
818
819     <signal name="DeviceAdded">
820       <arg name="device" type="o">
821         <doc:doc><doc:summary>Object path of device that was added.</doc:summary></doc:doc>
822       </arg>
823
824       <doc:doc>
825         <doc:description>
826           <doc:para>
827             Emitted when a device is added.
828           </doc:para>
829         </doc:description>
830       </doc:doc>
831     </signal>
832
833     <!-- ************************************************************ -->
834
835     <signal name="DeviceRemoved">
836       <arg name="device" type="o">
837         <doc:doc><doc:summary>Object path of device that was removed.</doc:summary></doc:doc>
838       </arg>
839
840       <doc:doc>
841         <doc:description>
842           <doc:para>
843             Emitted when a device is removed.
844           </doc:para>
845         </doc:description>
846       </doc:doc>
847     </signal>
848
849     <!-- ************************************************************ -->
850
851     <signal name="DeviceChanged">
852       <arg name="device" type="o">
853         <doc:doc><doc:summary>Object path of device that was changed.</doc:summary></doc:doc>
854       </arg>
855
856       <doc:doc>
857         <doc:description>
858           <doc:para>
859             Emitted when a device changed.
860           </doc:para>
861         </doc:description>
862       </doc:doc>
863     </signal>
864
865     <!-- ************************************************************ -->
866
867     <signal name="DeviceJobChanged">
868       <arg name="device" type="o">
869         <doc:doc><doc:summary>The object path of the device.</doc:summary></doc:doc>
870       </arg>
871       <arg name="job_in_progress" type="b">
872         <doc:doc><doc:summary>Whether a job is currently in progress.</doc:summary></doc:doc>
873       </arg>
874       <arg name="job_is_cancellable" type="b">
875         <doc:doc><doc:summary>Whether the job is cancellable.</doc:summary></doc:doc>
876       </arg>
877       <arg name="job_id" type="s">
878         <doc:doc><doc:summary>The identifier of the job.</doc:summary></doc:doc>
879       </arg>
880       <arg name="job_num_tasks" type="i">
881         <doc:doc><doc:summary>Number of tasks in the job.</doc:summary></doc:doc>
882       </arg>
883       <arg name="job_cur_task" type="i">
884         <doc:doc><doc:summary>Current task number (zero-based offset).</doc:summary></doc:doc>
885       </arg>
886       <arg name="job_cur_task_id" type="s">
887         <doc:doc><doc:summary>Task identifier for current task.</doc:summary></doc:doc>
888       </arg>
889       <arg name="job_cur_task_percentage" type="d">
890         <doc:doc><doc:summary>Percentage completed of current task (between 0 and 100, negative if unknown).</doc:summary></doc:doc>
891       </arg>
892
893       <doc:doc>
894         <doc:description>
895           <doc:para>
896             Emitted when a job on a device changes.
897           </doc:para>
898         </doc:description>
899       </doc:doc>
900     </signal>
901
902     <!-- ************************************************************ -->
903
904     <signal name="AdapterAdded">
905       <arg name="adapter" type="o">
906         <doc:doc><doc:summary>Object path of adapter that was added.</doc:summary></doc:doc>
907       </arg>
908
909       <doc:doc>
910         <doc:description>
911           <doc:para>
912             Emitted when an adapter is added.
913           </doc:para>
914         </doc:description>
915       </doc:doc>
916     </signal>
917     <signal name="AdapterRemoved">
918       <arg name="adapter" type="o">
919         <doc:doc><doc:summary>Object path of adapter that was removed.</doc:summary></doc:doc>
920       </arg>
921
922       <doc:doc>
923         <doc:description>
924           <doc:para>
925             Emitted when an adapter is removed.
926           </doc:para>
927         </doc:description>
928       </doc:doc>
929     </signal>
930     <signal name="AdapterChanged">
931       <arg name="adapter" type="o">
932         <doc:doc><doc:summary>Object path of adapter that was changed.</doc:summary></doc:doc>
933       </arg>
934
935       <doc:doc>
936         <doc:description>
937           <doc:para>
938             Emitted when an adapter changed.
939           </doc:para>
940         </doc:description>
941       </doc:doc>
942     </signal>
943
944     <!-- ************************************************************ -->
945
946     <signal name="ExpanderAdded">
947       <arg name="expander" type="o">
948         <doc:doc><doc:summary>Object path of expander that was added.</doc:summary></doc:doc>
949       </arg>
950
951       <doc:doc>
952         <doc:description>
953           <doc:para>
954             Emitted when an expander is added.
955           </doc:para>
956         </doc:description>
957       </doc:doc>
958     </signal>
959     <signal name="ExpanderRemoved">
960       <arg name="expander" type="o">
961         <doc:doc><doc:summary>Object path of expander that was removed.</doc:summary></doc:doc>
962       </arg>
963
964       <doc:doc>
965         <doc:description>
966           <doc:para>
967             Emitted when an expander is removed.
968           </doc:para>
969         </doc:description>
970       </doc:doc>
971     </signal>
972     <signal name="ExpanderChanged">
973       <arg name="expander" type="o">
974         <doc:doc><doc:summary>Object path of expander that was changed.</doc:summary></doc:doc>
975       </arg>
976
977       <doc:doc>
978         <doc:description>
979           <doc:para>
980             Emitted when an expander changed.
981           </doc:para>
982         </doc:description>
983       </doc:doc>
984     </signal>
985
986     <!-- ************************************************************ -->
987
988     <signal name="PortAdded">
989       <arg name="port" type="o">
990         <doc:doc><doc:summary>Object path of port that was added.</doc:summary></doc:doc>
991       </arg>
992
993       <doc:doc>
994         <doc:description>
995           <doc:para>
996             Emitted when a port is added.
997           </doc:para>
998         </doc:description>
999       </doc:doc>
1000     </signal>
1001     <signal name="PortRemoved">
1002       <arg name="port" type="o">
1003         <doc:doc><doc:summary>Object path of port that was removed.</doc:summary></doc:doc>
1004       </arg>
1005
1006       <doc:doc>
1007         <doc:description>
1008           <doc:para>
1009             Emitted when a port is removed.
1010           </doc:para>
1011         </doc:description>
1012       </doc:doc>
1013     </signal>
1014     <signal name="PortChanged">
1015       <arg name="port" type="o">
1016         <doc:doc><doc:summary>Object path of port that was changed.</doc:summary></doc:doc>
1017       </arg>
1018
1019       <doc:doc>
1020         <doc:description>
1021           <doc:para>
1022             Emitted when a port changed.
1023           </doc:para>
1024         </doc:description>
1025       </doc:doc>
1026     </signal>
1027
1028     <!-- ************************************************************ -->
1029
1030     <property name="DaemonVersion" type="s" access="read">
1031       <doc:doc><doc:description><doc:para>
1032             The version of the running daemon.
1033       </doc:para></doc:description></doc:doc>
1034     </property>
1035
1036     <property name="DaemonIsInhibited" type="b" access="read">
1037       <doc:doc><doc:description><doc:para>
1038             TRUE only if the daemon is inhibited.
1039       </doc:para></doc:description></doc:doc>
1040     </property>
1041
1042     <property name="SupportsLuksDevices" type="b" access="read">
1043       <doc:doc><doc:description><doc:para>
1044             TRUE only if the daemon can create encrypted LUKS block devices, see the
1045             <doc:ref type="method" to="Device.LuksLock">LuksUnlock()</doc:ref> and
1046             <doc:ref type="method" to="Device.LuksLock">LuksLock()</doc:ref>
1047             methods for details.
1048       </doc:para></doc:description></doc:doc>
1049     </property>
1050
1051
1052     <!-- TODO: maybe this should return a dictionary so we can grow it in the future? -->
1053     <property name="KnownFilesystems" type="a(ssbbbubbbbbbbb)" access="read">
1054       <doc:doc><doc:description><doc:para>
1055             An array of file systems known to the daemon and what features are supported.
1056             Each element in the array contains the following members:
1057             <doc:list>
1058               <doc:item>
1059                 <doc:term>id</doc:term>
1060                 <doc:definition>
1061                   The name / identifier of the file system (such as <doc:tt>ext3</doc:tt> or <doc:tt>vfat</doc:tt>),
1062                   similar to the contents of the
1063                   <doc:ref type="property" to="Device:IdType">Device:IdType</doc:ref>
1064                   property.
1065                 </doc:definition>
1066               </doc:item>
1067               <doc:item>
1068                 <doc:term>name</doc:term>
1069                 <doc:definition>
1070                   A human readable name for the file system such as "Linux Ext3".
1071                 </doc:definition>
1072               </doc:item>
1073               <doc:item>
1074                 <doc:term>supports_unix_owners</doc:term>
1075                 <doc:definition>
1076                   Whether the file system supports the UNIX owners model (e.g. ext3 does, but vfat doesn't).
1077                 </doc:definition>
1078               </doc:item>
1079               <doc:item>
1080                 <doc:term>can_mount</doc:term>
1081                 <doc:definition>
1082                   Whether the file system can be mounted.
1083                 </doc:definition>
1084               </doc:item>
1085               <doc:item>
1086                 <doc:term>can_create</doc:term>
1087                 <doc:definition>
1088                   Whether the file system can be created on a device.
1089                 </doc:definition>
1090               </doc:item>
1091               <doc:item>
1092                 <doc:term>max_label_len</doc:term>
1093                 <doc:definition>
1094                   The maximum amount of bytes that the file system label can hold. Set to zero if the file
1095                   system doesn't support labels.
1096                 </doc:definition>
1097               </doc:item>
1098               <doc:item>
1099                 <doc:term>supports_label_rename</doc:term>
1100                 <doc:definition>
1101                   Whether the label of the file system can be changed.
1102                 </doc:definition>
1103               </doc:item>
1104               <doc:item>
1105                 <doc:term>supports_online_label_rename</doc:term>
1106                 <doc:definition>
1107                   Whether the label can be changed while the file system is mounted.
1108                 </doc:definition>
1109               </doc:item>
1110               <doc:item>
1111                 <doc:term>supports_fsck</doc:term>
1112                 <doc:definition>
1113                   Whether the file system can be checked.
1114                 </doc:definition>
1115               </doc:item>
1116               <doc:item>
1117                 <doc:term>supports_online_fsck</doc:term>
1118                 <doc:definition>
1119                   Whether the file system can be checked while mounted.
1120                 </doc:definition>
1121               </doc:item>
1122               <doc:item>
1123                 <doc:term>supports_resize_enlarge</doc:term>
1124                 <doc:definition>
1125                   Whether the file system can be enlarged.
1126                 </doc:definition>
1127               </doc:item>
1128               <doc:item>
1129                 <doc:term>supports_online_resize_enlarge</doc:term>
1130                 <doc:definition>
1131                   Whether the file system can be enlarged while mounted.
1132                 </doc:definition>
1133               </doc:item>
1134               <doc:item>
1135                 <doc:term>supports_resize_shrink</doc:term>
1136                 <doc:definition>
1137                   Whether the file system can be shrunk.
1138                 </doc:definition>
1139               </doc:item>
1140               <doc:item>
1141                 <doc:term>supports_online_resize_shrink</doc:term>
1142                 <doc:definition>
1143                   Whether the file system can be shrunk while mounted.
1144                 </doc:definition>
1145               </doc:item>
1146             </doc:list>
1147
1148       </doc:para></doc:description></doc:doc>
1149     </property>
1150
1151     <!-- ************************************************************ -->
1152
1153   </interface>
1154
1155 </node>