Tcl DBus Interface

Hex Artifact Content
Login

Artifact 66eb789fab86015b40cd30d788a3b13c1dfe05b6f70874834f49c9b6e32382b9:

Wiki page [Manual page] by schelte 2018-01-19 13:43:42.
0000: 44 20 32 30 31 38 2d 30 31 2d 31 39 54 31 33 3a  D 2018-01-19T13:
0010: 34 33 3a 34 32 2e 39 34 39 0a 4c 20 4d 61 6e 75  43:42.949.L Manu
0020: 61 6c 5c 73 70 61 67 65 0a 50 20 39 39 66 63 63  al\spage.P 99fcc
0030: 37 61 65 63 61 64 31 33 62 38 64 61 36 37 31 66  7aecad13b8da671f
0040: 32 36 64 33 38 33 63 37 34 38 36 33 66 30 38 33  26d383c74863f083
0050: 30 36 30 37 66 62 31 30 61 64 61 65 36 65 34 39  0607fb10adae6e49
0060: 35 32 35 37 35 37 30 63 66 65 33 0a 55 20 73 63  5257570cfe3.U sc
0070: 68 65 6c 74 65 0a 57 20 32 33 31 39 39 0a 3c 68  helte.W 23199.<h
0080: 31 3e 54 63 6c 20 44 2d 42 75 73 20 49 6e 74 65  1>Tcl D-Bus Inte
0090: 72 66 61 63 65 3c 2f 68 31 3e 0d 0a 0d 0a 3c 70  rface</h1>....<p
00a0: 3e 64 62 69 66 20 2d 20 41 70 70 6c 69 63 61 74  >dbif - Applicat
00b0: 69 6f 6e 20 6c 61 79 65 72 20 61 72 6f 75 6e 64  ion layer around
00c0: 20 74 68 65 20 54 63 6c 20 44 2d 42 75 73 20 6c   the Tcl D-Bus l
00d0: 69 62 72 61 72 79 0d 0a 0d 0a 3c 68 72 3e 0d 0a  ibrary....<hr>..
00e0: 0d 0a 3c 68 32 3e 53 79 6e 6f 70 73 69 73 3c 2f  ..<h2>Synopsis</
00f0: 68 32 3e 0d 0a 0d 0a 3c 70 3e 0d 0a 70 61 63 6b  h2>....<p>..pack
0100: 61 67 65 20 72 65 71 75 69 72 65 20 3c 62 3e 54  age require <b>T
0110: 63 6c 20 38 2e 35 3c 2f 62 3e 3c 62 72 3e 0d 0a  cl 8.5</b><br>..
0120: 70 61 63 6b 61 67 65 20 72 65 71 75 69 72 65 20  package require 
0130: 3c 62 3e 64 62 75 73 20 32 2e 31 3c 2f 62 3e 3c  <b>dbus 2.1</b><
0140: 62 72 3e 0d 0a 70 61 63 6b 61 67 65 20 72 65 71  br>..package req
0150: 75 69 72 65 20 3c 62 3e 64 62 69 66 20 31 2e 33  uire <b>dbif 1.3
0160: 3c 2f 62 3e 3c 62 72 3e 0d 0a 3c 70 3e 0d 0a 3c  </b><br>..<p>..<
0170: 62 3e 64 62 69 66 3c 2f 62 3e 20 3c 62 3e 63 6f  b>dbif</b> <b>co
0180: 6e 6e 65 63 74 3c 2f 62 3e 20 3f 3c 62 3e 2d 62  nnect</b> ?<b>-b
0190: 75 73 3c 2f 62 3e 20 3c 69 3e 62 75 73 74 79 70  us</b> <i>bustyp
01a0: 65 3c 2f 69 3e 3f 20 3f 3c 62 3e 2d 6e 6f 71 75  e</i>? ?<b>-noqu
01b0: 65 75 65 3c 2f 62 3e 3f 20 3f 3c 62 3e 2d 72 65  eue</b>? ?<b>-re
01c0: 70 6c 61 63 65 3c 2f 62 3e 3f 20 3f 3c 62 3e 2d  place</b>? ?<b>-
01d0: 79 69 65 6c 64 3c 2f 62 3e 3f 20 3f 3c 69 3e 6e  yield</b>? ?<i>n
01e0: 61 6d 65 3c 2f 69 3e 20 2e 2e 2e 3f 3c 62 72 3e  ame</i> ...?<br>
01f0: 0d 0a 3c 62 3e 64 62 69 66 3c 2f 62 3e 20 3c 62  ..<b>dbif</b> <b
0200: 3e 64 65 66 61 75 6c 74 3c 2f 62 3e 20 3f 3c 62  >default</b> ?<b
0210: 3e 2d 62 75 73 3c 2f 62 3e 20 3c 69 3e 62 75 73  >-bus</b> <i>bus
0220: 74 79 70 65 3c 2f 69 3e 3f 20 3f 3c 62 3e 2d 69  type</i>? ?<b>-i
0230: 6e 74 65 72 66 61 63 65 3c 2f 62 3e 20 3c 69 3e  nterface</b> <i>
0240: 69 6e 74 65 72 66 61 63 65 3c 2f 69 3e 3f 3c 62  interface</i>?<b
0250: 72 3e 0d 0a 3c 62 3e 64 62 69 66 3c 2f 62 3e 20  r>..<b>dbif</b> 
0260: 3c 62 3e 64 65 6c 65 74 65 3c 2f 62 3e 20 3f 3c  <b>delete</b> ?<
0270: 62 3e 2d 62 75 73 3c 2f 62 3e 20 3c 69 3e 62 75  b>-bus</b> <i>bu
0280: 73 74 79 70 65 3c 2f 69 3e 3f 20 3f 3c 62 3e 2d  stype</i>? ?<b>-
0290: 69 6e 74 65 72 66 61 63 65 3c 2f 62 3e 20 3c 69  interface</b> <i
02a0: 3e 69 6e 74 65 72 66 61 63 65 3c 2f 69 3e 3f 20  >interface</i>? 
02b0: 3f 3c 62 3e 2d 73 69 6e 67 6c 65 3c 2f 62 3e 3f  ?<b>-single</b>?
02c0: 20 3c 69 3e 70 61 74 68 3c 2f 69 3e 3c 62 72 3e   <i>path</i><br>
02d0: 0d 0a 3c 62 3e 64 62 69 66 3c 2f 62 3e 20 3c 62  ..<b>dbif</b> <b
02e0: 3e 65 72 72 6f 72 3c 2f 62 3e 20 3c 69 3e 6d 65  >error</b> <i>me
02f0: 73 73 61 67 65 49 44 3c 2f 69 3e 20 3c 69 3e 65  ssageID</i> <i>e
0300: 72 72 6f 72 6d 65 73 73 61 67 65 3c 2f 69 3e 20  rrormessage</i> 
0310: 3f 3c 69 3e 65 72 72 6f 72 6e 61 6d 65 3c 2f 69  ?<i>errorname</i
0320: 3e 3f 3c 62 72 3e 0d 0a 3c 62 3e 64 62 69 66 3c  >?<br>..<b>dbif<
0330: 2f 62 3e 20 3c 62 3e 67 65 6e 65 72 61 74 65 3c  /b> <b>generate<
0340: 2f 62 3e 20 3c 69 3e 73 69 67 6e 61 6c 49 44 3c  /b> <i>signalID<
0350: 2f 69 3e 20 3f 3c 69 3e 61 72 67 3c 2f 69 3e 20  /i> ?<i>arg</i> 
0360: 2e 2e 2e 3f 3c 62 72 3e 0d 0a 3c 62 3e 64 62 69  ...?<br>..<b>dbi
0370: 66 3c 2f 62 3e 20 3c 62 3e 67 65 74 3c 2f 62 3e  f</b> <b>get</b>
0380: 20 3c 69 3e 6d 65 73 73 61 67 65 49 44 3c 2f 69   <i>messageID</i
0390: 3e 20 3c 69 3e 6e 61 6d 65 3c 2f 69 3e 3c 62 72  > <i>name</i><br
03a0: 3e 0d 0a 3c 62 3e 64 62 69 66 3c 2f 62 3e 20 3c  >..<b>dbif</b> <
03b0: 62 3e 6c 69 73 74 65 6e 3c 2f 62 3e 20 3f 3c 62  b>listen</b> ?<b
03c0: 3e 2d 62 75 73 3c 2f 62 3e 20 3c 69 3e 62 75 73  >-bus</b> <i>bus
03d0: 74 79 70 65 3c 2f 69 3e 3f 20 3f 3c 62 3e 2d 69  type</i>? ?<b>-i
03e0: 6e 74 65 72 66 61 63 65 3c 2f 62 3e 20 3c 69 3e  nterface</b> <i>
03f0: 69 6e 74 65 72 66 61 63 65 3c 2f 69 3e 3f 20 3c  interface</i>? <
0400: 69 3e 70 61 74 68 3c 2f 69 3e 20 3c 69 3e 6e 61  i>path</i> <i>na
0410: 6d 65 3c 2f 69 3e 20 3f 3c 69 3e 61 72 67 6c 69  me</i> ?<i>argli
0420: 73 74 3c 2f 69 3e 3f 20 3f 3c 69 3e 69 6e 74 65  st</i>? ?<i>inte
0430: 72 70 3c 2f 69 3e 3f 20 3c 69 3e 62 6f 64 79 3c  rp</i>? <i>body<
0440: 2f 69 3e 3c 62 72 3e 0d 0a 3c 62 3e 64 62 69 66  /i><br>..<b>dbif
0450: 3c 2f 62 3e 20 3c 62 3e 6d 65 74 68 6f 64 3c 2f  </b> <b>method</
0460: 62 3e 20 3f 3c 62 3e 2d 61 74 74 72 69 62 75 74  b> ?<b>-attribut
0470: 65 73 3c 2f 62 3e 20 3c 69 3e 61 74 74 72 69 62  es</b> <i>attrib
0480: 75 74 65 73 3c 2f 69 3e 3f 20 3f 3c 62 3e 2d 62  utes</i>? ?<b>-b
0490: 75 73 3c 2f 62 3e 20 3c 69 3e 62 75 73 74 79 70  us</b> <i>bustyp
04a0: 65 3c 2f 69 3e 3f 20 3f 3c 62 3e 2d 69 6e 74 65  e</i>? ?<b>-inte
04b0: 72 66 61 63 65 3c 2f 62 3e 20 3c 69 3e 69 6e 74  rface</b> <i>int
04c0: 65 72 66 61 63 65 3c 2f 69 3e 3f 20 3c 69 3e 70  erface</i>? <i>p
04d0: 61 74 68 3c 2f 69 3e 20 3c 69 3e 6e 61 6d 65 3c  ath</i> <i>name<
04e0: 2f 69 3e 20 3f 3c 69 3e 69 6e 70 75 74 61 72 67  /i> ?<i>inputarg
04f0: 73 3c 2f 69 3e 20 3f 3c 69 3e 6f 75 74 70 75 74  s</i> ?<i>output
0500: 61 72 67 73 3c 2f 69 3e 3f 3f 20 3f 3c 69 3e 69  args</i>?? ?<i>i
0510: 6e 74 65 72 70 3c 2f 69 3e 3f 20 3c 69 3e 62 6f  nterp</i>? <i>bo
0520: 64 79 3c 2f 69 3e 3c 62 72 3e 0d 0a 3c 62 3e 64  dy</i><br>..<b>d
0530: 62 69 66 3c 2f 62 3e 20 3c 62 3e 70 61 76 65 3c  bif</b> <b>pave<
0540: 2f 62 3e 20 3f 3c 62 3e 2d 62 75 73 3c 2f 62 3e  /b> ?<b>-bus</b>
0550: 20 3c 69 3e 62 75 73 74 79 70 65 3c 2f 69 3e 3f   <i>bustype</i>?
0560: 20 3f 3c 62 3e 2d 69 6e 74 65 72 66 61 63 65 3c   ?<b>-interface<
0570: 2f 62 3e 20 3c 69 3e 69 6e 74 65 72 66 61 63 65  /b> <i>interface
0580: 3c 2f 69 3e 3f 20 3c 69 3e 70 61 74 68 3c 2f 69  </i>? <i>path</i
0590: 3e 3c 62 72 3e 0d 0a 3c 62 3e 64 62 69 66 3c 2f  ><br>..<b>dbif</
05a0: 62 3e 20 3c 62 3e 70 72 6f 70 65 72 74 79 3c 2f  b> <b>property</
05b0: 62 3e 20 3f 3c 62 3e 2d 61 63 63 65 73 73 3c 2f  b> ?<b>-access</
05c0: 62 3e 20 3c 69 3e 6d 6f 64 65 3c 2f 69 3e 3f 20  b> <i>mode</i>? 
05d0: 3f 3c 62 3e 2d 61 74 74 72 69 62 75 74 65 73 3c  ?<b>-attributes<
05e0: 2f 62 3e 20 3c 69 3e 61 74 74 72 69 62 75 74 65  /b> <i>attribute
05f0: 73 3c 2f 69 3e 3f 20 3f 3c 62 3e 2d 62 75 73 3c  s</i>? ?<b>-bus<
0600: 2f 62 3e 20 3c 69 3e 62 75 73 74 79 70 65 3c 2f  /b> <i>bustype</
0610: 69 3e 3f 20 3f 3c 62 3e 2d 69 6e 74 65 72 66 61  i>? ?<b>-interfa
0620: 63 65 3c 2f 62 3e 20 3c 69 3e 69 6e 74 65 72 66  ce</b> <i>interf
0630: 61 63 65 3c 2f 69 3e 3f 20 3c 69 3e 70 61 74 68  ace</i>? <i>path
0640: 3c 2f 69 3e 20 3c 69 3e 6e 61 6d 65 3c 2f 69 3e  </i> <i>name</i>
0650: 3f 3a 3c 69 3e 73 69 67 6e 61 74 75 72 65 3c 2f  ?:<i>signature</
0660: 69 3e 3f 20 3c 69 3e 76 61 72 69 61 62 6c 65 3c  i>? <i>variable<
0670: 2f 69 3e 20 3f 3f 3c 69 3e 69 6e 74 65 72 70 3c  /i> ??<i>interp<
0680: 2f 69 3e 3f 20 3c 69 3e 62 6f 64 79 3c 2f 69 3e  /i>? <i>body</i>
0690: 3f 3c 62 72 3e 0d 0a 3c 62 3e 64 62 69 66 3c 2f  ?<br>..<b>dbif</
06a0: 62 3e 20 3c 62 3e 72 65 74 75 72 6e 3c 2f 62 3e  b> <b>return</b>
06b0: 20 3c 69 3e 6d 65 73 73 61 67 65 49 44 3c 2f 69   <i>messageID</i
06c0: 3e 20 3c 69 3e 72 65 74 75 72 6e 76 61 6c 75 65  > <i>returnvalue
06d0: 3c 2f 69 3e 3c 62 72 3e 0d 0a 3c 62 3e 64 62 69  </i><br>..<b>dbi
06e0: 66 3c 2f 62 3e 20 3c 62 3e 73 69 67 6e 61 6c 3c  f</b> <b>signal<
06f0: 2f 62 3e 20 3f 3c 62 3e 2d 61 74 74 72 69 62 75  /b> ?<b>-attribu
0700: 74 65 73 3c 2f 62 3e 20 3c 69 3e 61 74 74 72 69  tes</b> <i>attri
0710: 62 75 74 65 73 3c 2f 69 3e 3f 20 3f 3c 62 3e 2d  butes</i>? ?<b>-
0720: 62 75 73 3c 2f 62 3e 20 3c 69 3e 62 75 73 74 79  bus</b> <i>busty
0730: 70 65 3c 2f 69 3e 3f 20 3f 3c 62 3e 2d 69 64 3c  pe</i>? ?<b>-id<
0740: 2f 62 3e 20 3c 69 3e 73 69 67 6e 61 6c 49 44 3c  /b> <i>signalID<
0750: 2f 69 3e 3f 20 3f 3c 62 3e 2d 69 6e 74 65 72 66  /i>? ?<b>-interf
0760: 61 63 65 3c 2f 62 3e 20 3c 69 3e 69 6e 74 65 72  ace</b> <i>inter
0770: 66 61 63 65 3c 2f 69 3e 3f 20 3c 69 3e 70 61 74  face</i>? <i>pat
0780: 68 3c 2f 69 3e 20 3c 69 3e 6e 61 6d 65 3c 2f 69  h</i> <i>name</i
0790: 3e 20 3f 3c 69 3e 61 72 67 6c 69 73 74 3c 2f 69  > ?<i>arglist</i
07a0: 3e 20 3f 3f 3c 69 3e 69 6e 74 65 72 70 3c 2f 69  > ??<i>interp</i
07b0: 3e 3f 20 3c 69 3e 61 72 67 73 3c 2f 69 3e 20 3c  >? <i>args</i> <
07c0: 69 3e 62 6f 64 79 3c 2f 69 3e 3f 3f 3c 62 72 3e  i>body</i>??<br>
07d0: 0d 0a 0d 0a 3c 68 72 3e 0d 0a 0d 0a 3c 68 32 3e  ....<hr>....<h2>
07e0: 44 65 73 63 72 69 70 74 69 6f 6e 3c 2f 68 32 3e  Description</h2>
07f0: 0d 0a 0d 0a 54 68 65 20 3c 62 3e 64 62 69 66 3c  ....The <b>dbif<
0800: 2f 62 3e 20 70 61 63 6b 61 67 65 20 70 72 6f 76  /b> package prov
0810: 69 64 65 73 20 61 20 68 69 67 68 65 72 20 6c 65  ides a higher le
0820: 76 65 6c 20 77 72 61 70 70 65 72 20 61 72 6f 75  vel wrapper arou
0830: 6e 64 0d 0a 74 68 65 20 6c 6f 77 2d 6c 65 76 65  nd..the low-leve
0840: 6c 20 44 2d 42 75 73 20 63 6f 6d 6d 61 6e 64 73  l D-Bus commands
0850: 20 70 72 6f 76 69 64 65 64 20 62 79 20 74 68 65   provided by the
0860: 20 64 62 75 73 20 70 61 63 6b 61 67 65 2e 20 54   dbus package. T
0870: 68 65 20 70 61 63 6b 61 67 65 20 61 6c 73 6f 0d  he package also.
0880: 0a 70 72 6f 76 69 64 65 73 20 61 6e 20 69 6d 70  .provides an imp
0890: 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 61  lementation of a
08a0: 20 6e 75 6d 62 65 72 20 6f 66 20 73 74 61 6e 64   number of stand
08b0: 61 72 64 20 44 2d 42 75 73 20 69 6e 74 65 72 66  ard D-Bus interf
08c0: 61 63 65 73 2e 0d 0a 53 65 65 20 3c 62 3e 53 54  aces...See <b>ST
08d0: 41 4e 44 41 52 44 20 49 4e 54 45 52 46 41 43 45  ANDARD INTERFACE
08e0: 53 3c 2f 62 3e 20 66 6f 72 20 6d 6f 72 65 20 69  S</b> for more i
08f0: 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0d 0a 0d 0a 3c  nformation.....<
0900: 70 3e 0d 0a 0d 0a 41 63 63 65 73 73 20 74 6f 20  p>....Access to 
0910: 61 6c 6c 20 66 75 6e 63 74 69 6f 6e 73 20 6f 66  all functions of
0920: 20 74 68 65 20 3c 62 3e 64 62 69 66 3c 2f 62 3e   the <b>dbif</b>
0930: 20 70 61 63 6b 61 67 65 20 66 72 6f 6d 20 77 69   package from wi
0940: 74 68 69 6e 0d 0a 61 20 54 63 6c 20 70 72 6f 67  thin..a Tcl prog
0950: 72 61 6d 20 69 73 20 64 6f 6e 65 20 75 73 69 6e  ram is done usin
0960: 67 20 74 68 65 20 3c 62 3e 64 62 69 66 3c 2f 62  g the <b>dbif</b
0970: 3e 20 63 6f 6d 6d 61 6e 64 2e 20 54 68 65 20 63  > command. The c
0980: 6f 6d 6d 61 6e 64 0d 0a 73 75 70 70 6f 72 74 73  ommand..supports
0990: 20 73 65 76 65 72 61 6c 20 73 75 62 63 6f 6d 6d   several subcomm
09a0: 61 6e 64 73 20 74 68 61 74 20 64 65 74 65 72 6d  ands that determ
09b0: 69 6e 65 20 77 68 61 74 20 61 63 74 69 6f 6e 20  ine what action 
09c0: 69 73 20 63 61 72 72 69 65 64 20 6f 75 74 2e 0d  is carried out..
09d0: 0a 3c 64 6c 3e 0d 0a 3c 64 74 3e 3c 62 3e 64 62  .<dl>..<dt><b>db
09e0: 69 66 3c 2f 62 3e 20 3c 62 3e 63 6f 6e 6e 65 63  if</b> <b>connec
09f0: 74 3c 2f 62 3e 20 3f 3c 62 3e 2d 62 75 73 3c 2f  t</b> ?<b>-bus</
0a00: 62 3e 20 3c 69 3e 62 75 73 74 79 70 65 3c 2f 69  b> <i>bustype</i
0a10: 3e 3f 20 3f 3c 62 3e 2d 6e 6f 71 75 65 75 65 3c  >? ?<b>-noqueue<
0a20: 2f 62 3e 3f 20 3f 3c 62 3e 2d 72 65 70 6c 61 63  /b>? ?<b>-replac
0a30: 65 3c 2f 62 3e 3f 20 3f 3c 62 3e 2d 79 69 65 6c  e</b>? ?<b>-yiel
0a40: 64 3c 2f 62 3e 3f 20 3f 3c 69 3e 6e 61 6d 65 3c  d</b>? ?<i>name<
0a50: 2f 69 3e 20 2e 2e 2e 3f 0d 0a 3c 64 64 3e 43 6f  /i> ...?..<dd>Co
0a60: 6e 6e 65 63 74 20 74 6f 20 61 20 6d 65 73 73 61  nnect to a messa
0a70: 67 65 20 62 75 73 20 61 6e 64 20 6f 70 74 69 6f  ge bus and optio
0a80: 6e 61 6c 6c 79 20 72 65 71 75 65 73 74 20 74 68  nally request th
0a90: 65 20 44 2d 42 75 73 20 73 65 72 76 65 72 20 74  e D-Bus server t
0aa0: 6f 20 61 73 73 69 67 6e 0d 0a 6f 6e 65 20 6f 72  o assign..one or
0ab0: 20 6d 6f 72 65 20 6e 61 6d 65 73 20 74 6f 20 74   more names to t
0ac0: 68 65 20 63 75 72 72 65 6e 74 20 61 70 70 6c 69  he current appli
0ad0: 63 61 74 69 6f 6e 2e 0d 0a 0d 0a 3c 70 3e 0d 0a  cation.....<p>..
0ae0: 0d 0a 54 68 65 20 3c 62 3e 2d 79 69 65 6c 64 3c  ..The <b>-yield<
0af0: 2f 62 3e 20 6f 70 74 69 6f 6e 20 73 70 65 63 69  /b> option speci
0b00: 66 69 65 73 20 74 68 61 74 20 74 68 65 20 61 70  fies that the ap
0b10: 70 6c 69 63 61 74 69 6f 6e 20 77 69 6c 6c 20 72  plication will r
0b20: 65 6c 65 61 73 65 20 74 68 65 0d 0a 72 65 71 75  elease the..requ
0b30: 65 73 74 65 64 20 6e 61 6d 65 20 77 68 65 6e 20  ested name when 
0b40: 73 6f 6d 65 20 6f 74 68 65 72 20 61 70 70 6c 69  some other appli
0b50: 63 61 74 69 6f 6e 20 72 65 71 75 65 73 74 73 20  cation requests 
0b60: 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 20 61 6e  the same name an
0b70: 64 20 68 61 73 0d 0a 69 6e 64 69 63 61 74 65 64  d has..indicated
0b80: 20 74 68 61 74 20 69 74 20 77 61 6e 74 73 20 74   that it wants t
0b90: 6f 20 74 61 6b 65 20 6f 76 65 72 20 6f 77 6e 65  o take over owne
0ba0: 72 73 68 69 70 20 6f 66 20 74 68 65 20 6e 61 6d  rship of the nam
0bb0: 65 2e 20 54 68 65 20 61 70 70 6c 69 63 61 74 69  e. The applicati
0bc0: 6f 6e 0d 0a 77 69 6c 6c 20 62 65 20 69 6e 66 6f  on..will be info
0bd0: 72 6d 65 64 20 62 79 20 61 20 3c 65 6d 3e 4e 61  rmed by a <em>Na
0be0: 6d 65 4c 6f 73 74 3c 2f 65 6d 3e 20 73 69 67 6e  meLost</em> sign
0bf0: 61 6c 20 77 68 65 6e 20 69 74 20 6c 6f 73 65 73  al when it loses
0c00: 20 6f 77 6e 65 72 73 68 69 70 20 6f 66 20 74 68   ownership of th
0c10: 65 0d 0a 6e 61 6d 65 2e 0d 0a 0d 0a 3c 70 3e 0d  e..name.....<p>.
0c20: 0a 0d 0a 54 68 65 20 3c 62 3e 2d 72 65 70 6c 61  ...The <b>-repla
0c30: 63 65 3c 2f 62 3e 20 6f 70 74 69 6f 6e 20 69 6e  ce</b> option in
0c40: 64 69 63 61 74 65 73 20 74 68 61 74 20 74 68 65  dicates that the
0c50: 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 77 61 6e   application wan
0c60: 74 73 20 74 6f 20 74 61 6b 65 0d 0a 6f 76 65 72  ts to take..over
0c70: 20 74 68 65 20 6f 77 6e 65 72 73 68 69 70 20 6f   the ownership o
0c80: 66 20 74 68 65 20 6e 61 6d 65 20 66 72 6f 6d 20  f the name from 
0c90: 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20  the application 
0ca0: 74 68 61 74 20 69 73 20 63 75 72 72 65 6e 74 6c  that is currentl
0cb0: 79 20 74 68 65 0d 0a 70 72 69 6d 61 72 79 20 6f  y the..primary o
0cc0: 77 6e 65 72 2c 20 69 66 20 61 6e 79 2e 20 54 68  wner, if any. Th
0cd0: 69 73 20 72 65 71 75 65 73 74 20 77 69 6c 6c 20  is request will 
0ce0: 6f 6e 6c 79 20 62 65 20 68 6f 6e 6f 75 72 65 64  only be honoured
0cf0: 20 69 66 20 74 68 65 20 63 75 72 72 65 6e 74 0d   if the current.
0d00: 0a 6f 77 6e 65 72 20 68 61 73 20 69 6e 64 69 63  .owner has indic
0d10: 61 74 65 64 20 74 68 61 74 20 69 74 20 77 69 6c  ated that it wil
0d20: 6c 20 72 65 6c 65 61 73 65 20 74 68 65 20 6e 61  l release the na
0d30: 6d 65 20 6f 6e 20 72 65 71 75 65 73 74 2e 20 53  me on request. S
0d40: 65 65 20 61 6c 73 6f 20 74 68 65 0d 0a 3c 62 3e  ee also the..<b>
0d50: 2d 79 69 65 6c 64 3c 2f 62 3e 20 6f 70 74 69 6f  -yield</b> optio
0d60: 6e 2e 0d 0a 0d 0a 3c 70 3e 0d 0a 0d 0a 49 66 20  n.....<p>....If 
0d70: 74 68 65 20 72 65 71 75 65 73 74 65 64 20 6e 61  the requested na
0d80: 6d 65 20 69 73 20 63 75 72 72 65 6e 74 6c 79 20  me is currently 
0d90: 69 6e 20 75 73 65 20 61 6e 64 20 74 68 65 20 2d  in use and the -
0da0: 72 65 70 6c 61 63 65 20 6f 70 74 69 6f 6e 20 68  replace option h
0db0: 61 73 20 6e 6f 74 0d 0a 62 65 65 6e 20 73 70 65  as not..been spe
0dc0: 63 69 66 69 65 64 2c 20 6f 72 20 74 68 65 20 3c  cified, or the <
0dd0: 62 3e 2d 72 65 70 6c 61 63 65 3c 2f 62 3e 20 6f  b>-replace</b> o
0de0: 70 74 69 6f 6e 20 77 61 73 20 73 70 65 63 69 66  ption was specif
0df0: 69 65 64 20 62 75 74 20 74 68 65 0d 0a 63 75 72  ied but the..cur
0e00: 72 65 6e 74 20 6f 77 6e 65 72 20 69 73 20 75 6e  rent owner is un
0e10: 77 69 6c 6c 69 6e 67 20 74 6f 20 67 69 76 65 20  willing to give 
0e20: 75 70 20 69 74 73 20 6f 77 6e 65 72 73 68 69 70  up its ownership
0e30: 2c 20 74 68 65 20 6e 61 6d 65 20 72 65 71 75 65  , the name reque
0e40: 73 74 20 77 69 6c 6c 0d 0a 6e 6f 72 6d 61 6c 6c  st will..normall
0e50: 79 20 62 65 20 71 75 65 75 65 64 2e 20 54 68 65  y be queued. The
0e60: 6e 20 77 68 65 6e 20 74 68 65 20 6e 61 6d 65 20  n when the name 
0e70: 69 73 20 72 65 6c 65 61 73 65 64 20 62 79 20 74  is released by t
0e80: 68 65 20 63 75 72 72 65 6e 74 20 6f 77 6e 65 72  he current owner
0e90: 20 69 74 0d 0a 69 73 20 61 73 73 69 67 6e 65 64   it..is assigned
0ea0: 20 74 6f 20 74 68 65 20 6e 65 78 74 20 72 65 71   to the next req
0eb0: 75 65 73 74 65 72 20 69 6e 20 74 68 65 20 71 75  uester in the qu
0ec0: 65 75 65 20 61 6e 64 20 61 20 73 69 67 6e 61 6c  eue and a signal
0ed0: 20 69 73 20 73 65 6e 74 20 74 6f 0d 0a 69 6e 66   is sent to..inf
0ee0: 6f 72 6d 20 74 68 61 74 20 72 65 71 75 65 73 74  orm that request
0ef0: 65 72 20 74 68 61 74 20 69 74 20 69 73 20 6e 6f  er that it is no
0f00: 77 20 74 68 65 20 70 72 69 6d 61 72 79 20 6f 77  w the primary ow
0f10: 6e 65 72 20 6f 66 20 74 68 65 20 6e 61 6d 65 2e  ner of the name.
0f20: 20 54 68 65 0d 0a 3c 62 3e 2d 6e 6f 71 75 65 75   The..<b>-noqueu
0f30: 65 3c 2f 62 3e 20 6f 70 74 69 6f 6e 20 6d 61 79  e</b> option may
0f40: 20 62 65 20 73 70 65 63 69 66 69 65 64 20 74 6f   be specified to
0f50: 20 69 6e 64 69 63 61 74 65 20 74 68 61 74 20 74   indicate that t
0f60: 68 65 20 6e 61 6d 65 20 72 65 71 75 65 73 74 0d  he name request.
0f70: 0a 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 71  .should not be q
0f80: 75 65 75 65 64 2e 0d 0a 0d 0a 3c 70 3e 0d 0a 0d  ueued.....<p>...
0f90: 0a 54 68 65 20 63 6f 6d 6d 61 6e 64 20 72 65 74  .The command ret
0fa0: 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 6e  urns a list of n
0fb0: 61 6d 65 73 20 74 68 61 74 20 68 61 76 65 20 73  ames that have s
0fc0: 75 63 63 65 73 73 66 75 6c 6c 79 20 62 65 65 6e  uccessfully been
0fd0: 20 61 63 71 75 69 72 65 64 2e 0d 0a 49 66 20 74   acquired...If t
0fe0: 68 65 20 64 62 75 73 20 63 6f 6e 6e 65 63 74 69  he dbus connecti
0ff0: 6f 6e 20 68 61 6e 64 6c 65 20 69 73 20 6e 65 65  on handle is nee
1000: 64 65 64 2c 20 69 74 20 63 61 6e 20 62 65 20 6f  ded, it can be o
1010: 62 74 61 69 6e 65 64 20 66 72 6f 6d 20 74 68 65  btained from the
1020: 20 2d 62 75 73 0d 0a 72 65 74 75 72 6e 20 6f 70   -bus..return op
1030: 74 69 6f 6e 2e 0d 0a 0d 0a 3c 70 3e 0d 0a 0d 0a  tion.....<p>....
1040: 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f  The following co
1050: 64 65 20 63 61 6e 20 62 65 20 75 73 65 64 20 74  de can be used t
1060: 6f 20 61 6c 6c 6f 77 20 61 20 6e 65 77 20 69 6e  o allow a new in
1070: 73 74 61 6e 63 65 20 6f 66 20 61 20 70 72 6f 67  stance of a prog
1080: 72 61 6d 20 74 6f 20 0d 0a 72 65 70 6c 61 63 65  ram to ..replace
1090: 20 74 68 65 20 63 75 72 72 65 6e 74 20 6f 6e 65   the current one
10a0: 2e 20 54 68 69 73 20 63 61 6e 20 62 65 20 75 73  . This can be us
10b0: 65 66 75 6c 20 64 75 72 69 6e 67 20 70 72 6f 67  eful during prog
10c0: 72 61 6d 20 64 65 76 65 6c 6f 70 6d 65 6e 74 3a  ram development:
10d0: 0d 0a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a  ....<verbatim>..
10e0: 64 62 69 66 20 63 6f 6e 6e 65 63 74 20 2d 79 69  dbif connect -yi
10f0: 65 6c 64 20 2d 72 65 70 6c 61 63 65 20 24 64 62  eld -replace $db
1100: 75 73 6e 61 6d 65 0d 0a 64 62 69 66 20 6c 69 73  usname..dbif lis
1110: 74 65 6e 20 2d 69 6e 74 65 72 66 61 63 65 20 5b  ten -interface [
1120: 64 62 75 73 20 69 6e 66 6f 20 73 65 72 76 69 63  dbus info servic
1130: 65 5d 20 5c 0d 0a 20 20 5b 64 62 75 73 20 69 6e  e] \..  [dbus in
1140: 66 6f 20 70 61 74 68 5d 20 4e 61 6d 65 4c 6f 73  fo path] NameLos
1150: 74 20 6e 61 6d 65 20 7b 69 66 20 7b 24 6e 61 6d  t name {if {$nam
1160: 65 20 65 71 20 24 3a 3a 64 62 75 73 6e 61 6d 65  e eq $::dbusname
1170: 7d 20 65 78 69 74 7d 0d 0a 3c 2f 76 65 72 62 61  } exit}..</verba
1180: 74 69 6d 3e 0d 0a 3c 64 74 3e 3c 62 3e 64 62 69  tim>..<dt><b>dbi
1190: 66 3c 2f 62 3e 20 3c 62 3e 64 65 66 61 75 6c 74  f</b> <b>default
11a0: 3c 2f 62 3e 20 3f 3c 62 3e 2d 62 75 73 3c 2f 62  </b> ?<b>-bus</b
11b0: 3e 20 3c 69 3e 62 75 73 74 79 70 65 3c 2f 69 3e  > <i>bustype</i>
11c0: 3f 20 3f 3c 62 3e 2d 69 6e 74 65 72 66 61 63 65  ? ?<b>-interface
11d0: 3c 2f 62 3e 20 3c 69 3e 69 6e 74 65 72 66 61 63  </b> <i>interfac
11e0: 65 3c 2f 69 3e 3f 0d 0a 3c 64 64 3e 47 65 6e 65  e</i>?..<dd>Gene
11f0: 72 61 6c 6c 79 20 61 6e 20 61 70 70 6c 69 63 61  rally an applica
1200: 74 69 6f 6e 20 77 69 6c 6c 20 70 65 72 66 6f 72  tion will perfor
1210: 6d 20 73 65 76 65 72 61 6c 20 3c 62 3e 64 62 69  m several <b>dbi
1220: 66 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 73 0d 0a  f</b> commands..
1230: 72 65 6c 61 74 65 64 20 74 6f 20 74 68 65 20 73  related to the s
1240: 61 6d 65 20 6d 65 73 73 61 67 65 20 62 75 73 20  ame message bus 
1250: 61 6e 64 20 69 6e 74 65 72 66 61 63 65 2e 20 54  and interface. T
1260: 6f 20 61 76 6f 69 64 20 68 61 76 69 6e 67 20 74  o avoid having t
1270: 6f 20 70 61 73 73 20 74 68 65 0d 0a 73 61 6d 65  o pass the..same
1280: 20 76 61 6c 75 65 73 20 66 6f 72 20 74 68 65 20   values for the 
1290: 3c 62 3e 2d 62 75 73 3c 2f 62 3e 20 61 6e 64 20  <b>-bus</b> and 
12a0: 3c 62 3e 2d 69 6e 74 65 72 66 61 63 65 3c 2f 62  <b>-interface</b
12b0: 3e 20 6f 70 74 69 6f 6e 73 20 77 69 74 68 20 61  > options with a
12c0: 6c 6c 0d 0a 74 68 6f 73 65 20 63 6f 6d 6d 61 6e  ll..those comman
12d0: 64 73 2c 20 74 68 65 69 72 20 64 65 66 61 75 6c  ds, their defaul
12e0: 74 73 20 63 61 6e 20 62 65 20 73 65 74 75 70 20  ts can be setup 
12f0: 77 69 74 68 20 74 68 65 20 3c 62 3e 64 62 69 66  with the <b>dbif
1300: 3c 2f 62 3e 0d 0a 3c 62 3e 64 65 66 61 75 6c 74  </b>..<b>default
1310: 3c 2f 62 3e 20 73 75 62 63 6f 6d 6d 61 6e 64 2e  </b> subcommand.
1320: 0d 0a 0d 0a 3c 70 3e 0d 0a 0d 0a 41 6e 20 69 6e  ....<p>....An in
1330: 74 65 72 66 61 63 65 20 6e 61 6d 65 20 6d 75 73  terface name mus
1340: 74 20 63 6f 6e 73 69 73 74 20 6f 66 20 61 74 20  t consist of at 
1350: 6c 65 61 73 74 20 74 77 6f 20 65 6c 65 6d 65 6e  least two elemen
1360: 74 73 20 73 65 70 61 72 61 74 65 64 20 62 79 0d  ts separated by.
1370: 0a 61 20 70 65 72 69 6f 64 20 28 27 2e 27 29 20  .a period ('.') 
1380: 63 68 61 72 61 63 74 65 72 2e 20 45 61 63 68 20  character. Each 
1390: 65 6c 65 6d 65 6e 74 20 6d 61 79 20 6f 6e 6c 79  element may only
13a0: 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 63 68 61   contain the cha
13b0: 72 61 63 74 65 72 73 0d 0a 26 71 75 6f 74 3b 26  racters..&quot;&
13c0: 23 39 31 3b 41 2d 5a 26 23 39 33 3b 26 23 39 31  #91;A-Z&#93;&#91
13d0: 3b 61 2d 7a 26 23 39 33 3b 26 23 39 31 3b 30 2d  ;a-z&#93;&#91;0-
13e0: 39 26 23 39 33 3b 5f 26 71 75 6f 74 3b 20 61 6e  9&#93;_&quot; an
13f0: 64 20 6d 75 73 74 20 6e 6f 74 20 62 65 67 69 6e  d must not begin
1400: 20 77 69 74 68 20 61 20 64 69 67 69 74 2e 0d 0a   with a digit...
1410: 0d 0a 3c 70 3e 0d 0a 0d 0a 54 68 65 20 69 6e 69  ..<p>....The ini
1420: 74 69 61 6c 20 76 61 6c 75 65 20 66 6f 72 20 3c  tial value for <
1430: 62 3e 2d 62 75 73 3c 2f 62 3e 20 69 73 20 73 65  b>-bus</b> is se
1440: 73 73 69 6f 6e 2e 20 54 68 65 20 69 6e 69 74 69  ssion. The initi
1450: 61 6c 20 76 61 6c 75 65 20 66 6f 72 0d 0a 3c 62  al value for..<b
1460: 3e 2d 69 6e 74 65 72 66 61 63 65 3c 2f 62 3e 20  >-interface</b> 
1470: 69 73 20 74 61 6b 65 6e 20 66 72 6f 6d 20 74 68  is taken from th
1480: 65 20 66 69 72 73 74 20 6e 61 6d 65 20 72 65 71  e first name req
1490: 75 65 73 74 65 64 20 66 6f 72 20 74 68 65 0d 0a  uested for the..
14a0: 61 70 70 6c 69 63 61 74 69 6f 6e 20 69 6e 20 61  application in a
14b0: 20 3c 62 3e 64 62 69 66 3c 2f 62 3e 20 3c 62 3e   <b>dbif</b> <b>
14c0: 63 6f 6e 6e 65 63 74 3c 2f 62 3e 20 63 6f 6d 6d  connect</b> comm
14d0: 61 6e 64 2e 20 49 66 20 6e 6f 0d 0a 6e 61 6d 65  and. If no..name
14e0: 20 77 61 73 20 65 76 65 72 20 72 65 71 75 65 73   was ever reques
14f0: 74 65 64 20 77 69 74 68 20 74 68 65 20 63 6f 6e  ted with the con
1500: 6e 65 63 74 20 73 75 62 63 6f 6d 6d 61 6e 64 2c  nect subcommand,
1510: 20 69 74 20 64 65 66 61 75 6c 74 73 20 74 6f 0d   it defaults to.
1520: 0a 26 71 75 6f 74 3b 63 6f 6d 2e 74 63 6c 63 6f  .&quot;com.tclco
1530: 64 65 2e 64 65 66 61 75 6c 74 26 71 75 6f 74 3b  de.default&quot;
1540: 2e 0d 0a 3c 64 74 3e 3c 62 3e 64 62 69 66 3c 2f  ...<dt><b>dbif</
1550: 62 3e 20 3c 62 3e 64 65 6c 65 74 65 3c 2f 62 3e  b> <b>delete</b>
1560: 20 3f 3c 62 3e 2d 62 75 73 3c 2f 62 3e 20 3c 69   ?<b>-bus</b> <i
1570: 3e 62 75 73 74 79 70 65 3c 2f 69 3e 3f 20 3f 3c  >bustype</i>? ?<
1580: 62 3e 2d 69 6e 74 65 72 66 61 63 65 3c 2f 62 3e  b>-interface</b>
1590: 20 3c 69 3e 69 6e 74 65 72 66 61 63 65 3c 2f 69   <i>interface</i
15a0: 3e 3f 20 3f 3c 62 3e 2d 73 69 6e 67 6c 65 3c 2f  >? ?<b>-single</
15b0: 62 3e 3f 20 3c 69 3e 70 61 74 68 3c 2f 69 3e 0d  b>? <i>path</i>.
15c0: 0a 3c 64 64 3e 57 68 69 6c 65 20 74 68 65 72 65  .<dd>While there
15d0: 20 63 75 72 72 65 6e 74 6c 79 20 69 73 20 6e 6f   currently is no
15e0: 20 77 61 79 20 74 6f 20 72 65 6d 6f 76 65 20 69   way to remove i
15f0: 6e 64 69 76 69 64 75 61 6c 20 73 69 67 6e 61 6c  ndividual signal
1600: 73 2c 20 6d 65 74 68 6f 64 73 2c 20 6f 72 0d 0a  s, methods, or..
1610: 70 72 6f 70 65 72 74 69 65 73 20 66 72 6f 6d 20  properties from 
1620: 74 68 65 20 70 75 62 6c 69 73 68 65 64 20 69 6e  the published in
1630: 74 65 72 66 61 63 65 2c 20 74 68 69 73 20 73 75  terface, this su
1640: 62 63 6f 6d 6d 61 6e 64 20 61 6c 6c 6f 77 73 20  bcommand allows 
1650: 74 68 65 20 72 65 6d 6f 76 61 6c 0d 0a 6f 66 20  the removal..of 
1660: 61 20 63 6f 6d 70 6c 65 74 65 20 6e 6f 64 65 2e  a complete node.
1670: 20 55 6e 6c 65 73 73 20 74 68 65 20 3c 62 3e 2d   Unless the <b>-
1680: 73 69 6e 67 6c 65 3c 2f 62 3e 20 6f 70 74 69 6f  single</b> optio
1690: 6e 20 69 73 20 73 70 65 63 69 66 69 65 64 2c 20  n is specified, 
16a0: 74 68 65 0d 0a 63 6f 6d 6d 61 6e 64 20 77 69 6c  the..command wil
16b0: 6c 20 61 6c 73 6f 20 72 65 63 75 72 73 69 76 65  l also recursive
16c0: 6c 79 20 64 65 6c 65 74 65 20 6e 6f 64 65 73 20  ly delete nodes 
16d0: 6f 6e 20 61 6c 6c 20 75 6e 64 65 72 6c 79 69 6e  on all underlyin
16e0: 67 20 6f 62 6a 65 63 74 20 70 61 74 68 73 2e 0d  g object paths..
16f0: 0a 3c 64 74 3e 3c 62 3e 64 62 69 66 3c 2f 62 3e  .<dt><b>dbif</b>
1700: 20 3c 62 3e 65 72 72 6f 72 3c 2f 62 3e 20 3c 69   <b>error</b> <i
1710: 3e 6d 65 73 73 61 67 65 49 44 3c 2f 69 3e 20 3c  >messageID</i> <
1720: 69 3e 65 72 72 6f 72 6d 65 73 73 61 67 65 3c 2f  i>errormessage</
1730: 69 3e 20 3f 3c 69 3e 65 72 72 6f 72 6e 61 6d 65  i> ?<i>errorname
1740: 3c 2f 69 3e 3f 0d 0a 3c 64 64 3e 53 65 6e 64 20  </i>?..<dd>Send 
1750: 61 20 44 2d 42 75 73 20 65 72 72 6f 72 20 6d 65  a D-Bus error me
1760: 73 73 61 67 65 20 69 6e 20 72 65 73 70 6f 6e 73  ssage in respons
1770: 65 20 74 6f 20 61 20 44 2d 42 75 73 20 6d 65 74  e to a D-Bus met
1780: 68 6f 64 20 63 61 6c 6c 2e 20 49 66 20 74 68 65  hod call. If the
1790: 0d 0a 3c 69 3e 65 72 72 6f 72 6e 61 6d 65 3c 2f  ..<i>errorname</
17a0: 69 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e  i> argument is n
17b0: 6f 74 20 73 70 65 63 69 66 69 65 64 2c 20 69 74  ot specified, it
17c0: 20 64 65 66 61 75 6c 74 73 20 74 6f 0d 0a 26 71   defaults to..&q
17d0: 75 6f 74 3b 6f 72 67 2e 66 72 65 65 64 65 73 6b  uot;org.freedesk
17e0: 74 6f 70 2e 44 42 75 73 2e 45 72 72 6f 72 2e 46  top.DBus.Error.F
17f0: 61 69 6c 65 64 26 71 75 6f 74 3b 2e 0d 0a 3c 64  ailed&quot;...<d
1800: 74 3e 3c 62 3e 64 62 69 66 3c 2f 62 3e 20 3c 62  t><b>dbif</b> <b
1810: 3e 67 65 6e 65 72 61 74 65 3c 2f 62 3e 20 3c 69  >generate</b> <i
1820: 3e 73 69 67 6e 61 6c 49 44 3c 2f 69 3e 20 3f 3c  >signalID</i> ?<
1830: 69 3e 61 72 67 3c 2f 69 3e 20 2e 2e 2e 3f 0d 0a  i>arg</i> ...?..
1840: 3c 64 64 3e 47 65 6e 65 72 61 74 65 20 61 20 73  <dd>Generate a s
1850: 69 67 6e 61 6c 20 61 73 20 64 65 66 69 6e 65 64  ignal as defined
1860: 20 62 79 20 61 20 70 72 65 76 69 6f 75 73 20 3c   by a previous <
1870: 62 3e 64 62 69 66 3c 2f 62 3e 20 0d 0a 3c 62 3e  b>dbif</b> ..<b>
1880: 73 69 67 6e 61 6c 3c 2f 62 3e 20 63 6f 6d 6d 61  signal</b> comma
1890: 6e 64 2e 20 49 66 20 61 20 62 6f 64 79 20 77 61  nd. If a body wa
18a0: 73 20 73 70 65 63 69 66 69 65 64 20 77 69 74 68  s specified with
18b0: 20 74 68 65 20 73 69 67 6e 61 6c 20 64 65 66 69   the signal defi
18c0: 6e 69 74 69 6f 6e 2c 0d 0a 74 68 65 20 70 72 6f  nition,..the pro
18d0: 76 69 64 65 64 20 61 72 67 75 6d 65 6e 74 73 20  vided arguments 
18e0: 6d 75 73 74 20 6d 61 74 63 68 20 74 68 65 20 61  must match the a
18f0: 72 67 73 20 64 65 66 69 6e 69 74 69 6f 6e 20 66  rgs definition f
1900: 6f 72 20 74 68 65 20 62 6f 64 79 2e 20 4f 74 68  or the body. Oth
1910: 65 72 77 69 73 65 0d 0a 74 68 65 79 20 6d 75 73  erwise..they mus
1920: 74 20 6d 61 74 63 68 20 74 68 65 20 61 72 67 6c  t match the argl
1930: 69 73 74 20 73 70 65 63 69 66 69 65 64 20 64 75  ist specified du
1940: 72 69 6e 67 20 74 68 65 20 64 65 66 69 6e 69 74  ring the definit
1950: 69 6f 6e 20 6f 66 20 74 68 65 20 73 69 67 6e 61  ion of the signa
1960: 6c 2e 0d 0a 3c 64 74 3e 3c 62 3e 64 62 69 66 3c  l...<dt><b>dbif<
1970: 2f 62 3e 20 3c 62 3e 67 65 74 3c 2f 62 3e 20 3c  /b> <b>get</b> <
1980: 69 3e 6d 65 73 73 61 67 65 49 44 3c 2f 69 3e 20  i>messageID</i> 
1990: 3c 69 3e 6e 61 6d 65 3c 2f 69 3e 0d 0a 3c 64 64  <i>name</i>..<dd
19a0: 3e 41 63 63 65 73 73 20 61 64 64 69 74 69 6f 6e  >Access addition
19b0: 61 6c 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61  al information a
19c0: 62 6f 75 74 20 61 20 44 2d 42 75 73 20 6d 65 73  bout a D-Bus mes
19d0: 73 61 67 65 2e 20 52 65 63 6f 67 6e 69 7a 65 64  sage. Recognized
19e0: 20 6e 61 6d 65 73 20 61 72 65 0d 0a 3c 69 3e 62   names are..<i>b
19f0: 75 73 3c 2f 69 3e 2c 20 3c 69 3e 6d 65 6d 62 65  us</i>, <i>membe
1a00: 72 3c 2f 69 3e 2c 20 3c 69 3e 69 6e 74 65 72 66  r</i>, <i>interf
1a10: 61 63 65 3c 2f 69 3e 2c 20 3c 69 3e 70 61 74 68  ace</i>, <i>path
1a20: 3c 2f 69 3e 2c 20 3c 69 3e 73 65 6e 64 65 72 3c  </i>, <i>sender<
1a30: 2f 69 3e 2c 0d 0a 3c 69 3e 64 65 73 74 69 6e 61  /i>,..<i>destina
1a40: 74 69 6f 6e 3c 2f 69 3e 2c 20 3c 69 3e 6d 65 73  tion</i>, <i>mes
1a50: 73 61 67 65 74 79 70 65 3c 2f 69 3e 2c 20 3c 69  sagetype</i>, <i
1a60: 3e 73 69 67 6e 61 74 75 72 65 3c 2f 69 3e 2c 20  >signature</i>, 
1a70: 3c 69 3e 73 65 72 69 61 6c 3c 2f 69 3e 2c 0d 0a  <i>serial</i>,..
1a80: 3c 69 3e 72 65 70 6c 79 73 65 72 69 61 6c 3c 2f  <i>replyserial</
1a90: 69 3e 2c 20 3c 69 3e 6e 6f 72 65 70 6c 79 3c 2f  i>, <i>noreply</
1aa0: 69 3e 2c 20 3c 69 3e 61 75 74 6f 73 74 61 72 74  i>, <i>autostart
1ab0: 3c 2f 69 3e 2c 20 61 6e 64 20 3c 69 3e 65 72 72  </i>, and <i>err
1ac0: 6f 72 6e 61 6d 65 3c 2f 69 3e 2e 0d 0a 3c 64 74  orname</i>...<dt
1ad0: 3e 3c 62 3e 64 62 69 66 3c 2f 62 3e 20 3c 62 3e  ><b>dbif</b> <b>
1ae0: 6c 69 73 74 65 6e 3c 2f 62 3e 20 3f 3c 62 3e 2d  listen</b> ?<b>-
1af0: 62 75 73 3c 2f 62 3e 20 3c 69 3e 62 75 73 74 79  bus</b> <i>busty
1b00: 70 65 3c 2f 69 3e 3f 20 3f 3c 62 3e 2d 69 6e 74  pe</i>? ?<b>-int
1b10: 65 72 66 61 63 65 3c 2f 62 3e 20 3c 69 3e 69 6e  erface</b> <i>in
1b20: 74 65 72 66 61 63 65 3c 2f 69 3e 3f 20 3c 69 3e  terface</i>? <i>
1b30: 70 61 74 68 3c 2f 69 3e 20 3c 69 3e 6e 61 6d 65  path</i> <i>name
1b40: 3c 2f 69 3e 20 3f 3c 69 3e 61 72 67 6c 69 73 74  </i> ?<i>arglist
1b50: 3c 2f 69 3e 3f 20 3f 3c 69 3e 69 6e 74 65 72 70  </i>? ?<i>interp
1b60: 3c 2f 69 3e 3f 20 3c 69 3e 62 6f 64 79 3c 2f 69  </i>? <i>body</i
1b70: 3e 0d 0a 3c 64 64 3e 53 74 61 72 74 20 6c 69 73  >..<dd>Start lis
1b80: 74 65 6e 69 6e 67 20 66 6f 72 20 74 68 65 20 73  tening for the s
1b90: 70 65 63 69 66 69 65 64 20 73 69 67 6e 61 6c 20  pecified signal 
1ba0: 61 6e 64 20 65 78 65 63 75 74 65 20 3c 69 3e 62  and execute <i>b
1bb0: 6f 64 79 3c 2f 69 3e 20 77 68 65 6e 20 73 75 63  ody</i> when suc
1bc0: 68 20 61 0d 0a 73 69 67 6e 61 6c 20 61 70 70 65  h a..signal appe
1bd0: 61 72 73 20 6f 6e 20 74 68 65 20 44 2d 42 75 73  ars on the D-Bus
1be0: 2e 0d 0a 0d 0a 3c 70 3e 0d 0a 0d 0a 54 68 65 20  .....<p>....The 
1bf0: 63 6f 64 65 20 69 6e 20 3c 69 3e 62 6f 64 79 3c  code in <i>body<
1c00: 2f 69 3e 20 77 69 6c 6c 20 62 65 20 65 78 65 63  /i> will be exec
1c10: 75 74 65 64 20 69 6e 20 74 68 65 20 6e 61 6d 65  uted in the name
1c20: 73 70 61 63 65 20 74 68 65 0d 0a 3c 62 3e 64 62  space the..<b>db
1c30: 69 66 3c 2f 62 3e 20 3c 62 3e 6c 69 73 74 65 6e  if</b> <b>listen
1c40: 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20 77 61 73  </b> command was
1c50: 20 69 73 73 75 65 64 20 66 72 6f 6d 2e 0d 0a 0d   issued from....
1c60: 0a 54 68 65 20 3c 69 3e 61 72 67 6c 69 73 74 3c  .The <i>arglist<
1c70: 2f 69 3e 20 61 72 67 75 6d 65 6e 74 20 66 6f 6c  /i> argument fol
1c80: 6c 6f 77 73 20 74 68 65 20 73 70 65 63 69 61 6c  lows the special
1c90: 20 72 75 6c 65 73 20 66 6f 72 20 64 62 69 66 0d   rules for dbif.
1ca0: 0a 61 72 67 75 6d 65 6e 74 20 6c 69 73 74 73 2e  .argument lists.
1cb0: 20 53 65 65 20 3c 62 3e 41 52 47 55 4d 45 4e 54   See <b>ARGUMENT
1cc0: 20 4c 49 53 54 53 3c 2f 62 3e 20 62 65 6c 6f 77   LISTS</b> below
1cd0: 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d   for more inform
1ce0: 61 74 69 6f 6e 2e 0d 0a 3c 64 74 3e 3c 62 3e 64  ation...<dt><b>d
1cf0: 62 69 66 3c 2f 62 3e 20 3c 62 3e 6d 65 74 68 6f  bif</b> <b>metho
1d00: 64 3c 2f 62 3e 20 3f 3c 62 3e 2d 61 74 74 72 69  d</b> ?<b>-attri
1d10: 62 75 74 65 73 3c 2f 62 3e 20 3c 69 3e 61 74 74  butes</b> <i>att
1d20: 72 69 62 75 74 65 73 3c 2f 69 3e 3f 20 3f 3c 62  ributes</i>? ?<b
1d30: 3e 2d 62 75 73 3c 2f 62 3e 20 3c 69 3e 62 75 73  >-bus</b> <i>bus
1d40: 74 79 70 65 3c 2f 69 3e 3f 20 3f 3c 62 3e 2d 69  type</i>? ?<b>-i
1d50: 6e 74 65 72 66 61 63 65 3c 2f 62 3e 20 3c 69 3e  nterface</b> <i>
1d60: 69 6e 74 65 72 66 61 63 65 3c 2f 69 3e 3f 20 3c  interface</i>? <
1d70: 69 3e 70 61 74 68 3c 2f 69 3e 20 3c 69 3e 6e 61  i>path</i> <i>na
1d80: 6d 65 3c 2f 69 3e 20 3f 3c 69 3e 69 6e 70 75 74  me</i> ?<i>input
1d90: 61 72 67 73 3c 2f 69 3e 20 3f 3c 69 3e 6f 75 74  args</i> ?<i>out
1da0: 70 75 74 61 72 67 73 3c 2f 69 3e 3f 3f 20 3f 3c  putargs</i>?? ?<
1db0: 69 3e 69 6e 74 65 72 70 3c 2f 69 3e 3f 20 3c 69  i>interp</i>? <i
1dc0: 3e 62 6f 64 79 3c 2f 69 3e 0d 0a 3c 64 64 3e 44  >body</i>..<dd>D
1dd0: 65 66 69 6e 65 20 61 20 6d 65 74 68 6f 64 20 74  efine a method t
1de0: 68 61 74 20 6d 61 79 20 62 65 20 61 63 63 65 73  hat may be acces
1df0: 73 65 64 20 74 68 72 6f 75 67 68 20 74 68 65 20  sed through the 
1e00: 44 2d 42 75 73 20 61 6e 64 20 65 78 65 63 75 74  D-Bus and execut
1e10: 65 20 3c 69 3e 62 6f 64 79 3c 2f 69 3e 0d 0a 77  e <i>body</i>..w
1e20: 68 65 6e 20 74 68 65 20 6d 65 74 68 6f 64 20 69  hen the method i
1e30: 73 20 69 6e 76 6f 6b 65 64 2e 20 0d 0a 49 6e 20  s invoked. ..In 
1e40: 61 64 64 69 74 69 6f 6e 20 74 6f 20 76 61 6c 69  addition to vali
1e50: 64 20 64 62 75 73 20 70 61 74 68 73 2c 20 61 6e  d dbus paths, an
1e60: 20 65 6d 70 74 79 20 73 74 72 69 6e 67 20 6d 61   empty string ma
1e70: 79 20 62 65 20 73 70 65 63 69 66 69 65 64 20 66  y be specified f
1e80: 6f 72 20 74 68 65 0d 0a 3c 69 3e 70 61 74 68 3c  or the..<i>path<
1e90: 2f 69 3e 20 61 72 67 75 6d 65 6e 74 2e 20 54 68  /i> argument. Th
1ea0: 69 73 20 6d 61 6b 65 73 20 74 68 65 20 6d 65 74  is makes the met
1eb0: 68 6f 64 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e  hod available on
1ec0: 20 61 6c 6c 20 70 61 74 68 73 2e 0d 0a 54 68 65   all paths...The
1ed0: 20 3c 69 3e 69 6e 70 75 74 61 72 67 73 3c 2f 69   <i>inputargs</i
1ee0: 3e 20 61 72 67 75 6d 65 6e 74 20 73 70 65 63 69  > argument speci
1ef0: 66 69 65 73 20 77 68 69 63 68 20 61 72 67 75 6d  fies which argum
1f00: 65 6e 74 73 20 6d 75 73 74 20 62 65 20 70 72 6f  ents must be pro
1f10: 76 69 64 65 64 20 62 79 0d 0a 74 68 65 20 63 61  vided by..the ca
1f20: 6c 6c 65 72 2e 20 54 68 65 20 3c 69 3e 6f 75 74  ller. The <i>out
1f30: 70 75 74 61 72 67 73 3c 2f 69 3e 20 61 72 67 75  putargs</i> argu
1f40: 6d 65 6e 74 20 69 6e 64 69 63 61 74 65 73 20 74  ment indicates t
1f50: 68 65 20 74 79 70 65 20 6f 66 20 72 65 73 75 6c  he type of resul
1f60: 74 20 74 68 65 0d 0a 6d 65 74 68 6f 64 20 72 65  t the..method re
1f70: 74 75 72 6e 73 2e 0d 0a 0d 0a 3c 70 3e 0d 0a 0d  turns.....<p>...
1f80: 0a 41 74 74 72 69 62 75 74 65 73 20 6d 61 79 20  .Attributes may 
1f90: 62 65 20 73 70 65 63 69 66 69 65 64 20 76 69 61  be specified via
1fa0: 20 74 68 65 20 3c 62 3e 2d 61 74 74 72 69 62 75   the <b>-attribu
1fb0: 74 65 73 3c 2f 62 3e 20 6f 70 74 69 6f 6e 20 74  tes</b> option t
1fc0: 6f 20 70 72 6f 76 69 64 65 0d 0a 68 69 6e 74 73  o provide..hints
1fd0: 20 74 6f 20 75 73 65 72 73 20 6f 66 20 79 6f 75   to users of you
1fe0: 72 20 41 50 49 2e 0d 0a 53 65 65 20 3c 62 3e 41  r API...See <b>A
1ff0: 54 54 52 49 42 55 54 45 53 3c 2f 62 3e 20 62 65  TTRIBUTES</b> be
2000: 6c 6f 77 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66  low for more inf
2010: 6f 72 6d 61 74 69 6f 6e 2e 0d 0a 0d 0a 3c 70 3e  ormation.....<p>
2020: 0d 0a 0d 0a 54 68 65 20 72 65 74 75 72 6e 20 76  ....The return v
2030: 61 6c 75 65 20 72 65 73 75 6c 74 69 6e 67 20 66  alue resulting f
2040: 72 6f 6d 20 65 78 65 63 75 74 69 6e 67 20 74 68  rom executing th
2050: 65 20 62 6f 64 79 20 77 69 6c 6c 20 6e 6f 72 6d  e body will norm
2060: 61 6c 6c 79 20 62 65 20 72 65 74 75 72 6e 65 64  ally be returned
2070: 0d 0a 74 6f 20 74 68 65 20 63 61 6c 6c 65 72 20  ..to the caller 
2080: 69 6e 20 61 20 44 2d 42 75 73 20 72 65 74 75 72  in a D-Bus retur
2090: 6e 20 6d 65 73 73 61 67 65 2e 20 49 66 20 61 6e  n message. If an
20a0: 20 75 6e 63 61 75 67 68 74 20 65 72 72 6f 72 20   uncaught error 
20b0: 6f 63 63 75 72 73 20 6f 72 20 74 68 65 0d 0a 72  occurs or the..r
20c0: 65 73 75 6c 74 20 6f 66 20 62 6f 64 79 20 64 6f  esult of body do
20d0: 65 73 6e 27 74 20 6d 61 74 63 68 20 3c 69 3e 6f  esn't match <i>o
20e0: 75 74 70 75 74 61 72 67 73 3c 2f 69 3e 2c 20 61  utputargs</i>, a
20f0: 6e 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20  n error message 
2100: 77 69 6c 6c 20 62 65 0d 0a 72 65 74 75 72 6e 65  will be..returne
2110: 64 20 74 6f 20 74 68 65 20 63 61 6c 6c 65 72 20  d to the caller 
2120: 69 6e 73 74 65 61 64 2e 0d 0a 0d 0a 3c 70 3e 0d  instead.....<p>.
2130: 0a 0d 0a 54 68 65 20 62 6f 64 79 20 63 6f 64 65  ...The body code
2140: 20 72 65 63 6f 67 6e 69 7a 65 73 20 61 6e 20 61   recognizes an a
2150: 64 64 69 74 69 6f 6e 61 6c 20 3c 62 3e 2d 61 73  dditional <b>-as
2160: 79 6e 63 3c 2f 62 3e 20 6f 70 74 69 6f 6e 20 66  ync</b> option f
2170: 6f 72 20 74 68 65 20 54 63 6c 0d 0a 3c 62 3e 72  or the Tcl..<b>r
2180: 65 74 75 72 6e 3c 2f 62 3e 20 63 6f 6d 6d 61 6e  eturn</b> comman
2190: 64 2e 20 57 68 65 6e 20 74 68 61 74 20 6f 70 74  d. When that opt
21a0: 69 6f 6e 20 69 73 20 73 70 65 63 69 66 69 65 64  ion is specified
21b0: 20 77 69 74 68 20 61 20 74 72 75 65 20 62 6f 6f   with a true boo
21c0: 6c 65 61 6e 0d 0a 76 61 6c 75 65 20 28 3c 62 20  lean..value (<b 
21d0: 63 6c 61 73 73 3d 22 63 6f 6e 73 74 22 3e 74 72  class="const">tr
21e0: 75 65 3c 2f 62 3e 2c 20 3c 62 20 63 6c 61 73 73  ue</b>, <b class
21f0: 3d 22 63 6f 6e 73 74 22 3e 79 65 73 3c 2f 62 3e  ="const">yes</b>
2200: 2c 20 3c 62 20 63 6c 61 73 73 3d 22 63 6f 6e 73  , <b class="cons
2210: 74 22 3e 31 3c 2f 62 3e 29 2c 20 74 68 65 20 72  t">1</b>), the r
2220: 65 74 75 72 6e 20 76 61 6c 75 65 20 66 72 6f 6d  eturn value from
2230: 20 74 68 65 20 62 6f 64 79 0d 0a 77 69 6c 6c 20   the body..will 
2240: 6e 6f 74 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c  not automaticall
2250: 79 20 62 65 20 72 65 74 75 72 6e 65 64 20 74 6f  y be returned to
2260: 20 74 68 65 20 63 61 6c 6c 65 72 2e 20 41 20 72   the caller. A r
2270: 65 73 70 6f 6e 73 65 20 6d 65 73 73 61 67 65 20  esponse message 
2280: 73 68 6f 75 6c 64 0d 0a 74 68 65 6e 20 62 65 20  should..then be 
2290: 67 65 6e 65 72 61 74 65 64 20 75 73 69 6e 67 20  generated using 
22a0: 74 68 65 20 3c 62 3e 64 62 69 66 3c 2f 62 3e 20  the <b>dbif</b> 
22b0: 3c 62 3e 72 65 74 75 72 6e 3c 2f 62 3e 20 6f 72  <b>return</b> or
22c0: 0d 0a 3c 62 3e 64 62 69 66 3c 2f 62 3e 20 3c 62  ..<b>dbif</b> <b
22d0: 3e 65 72 72 6f 72 3c 2f 62 3e 20 73 75 62 63 6f  >error</b> subco
22e0: 6d 6d 61 6e 64 73 2e 0d 0a 0d 0a 3c 70 3e 0d 0a  mmands.....<p>..
22f0: 0d 0a 41 6e 20 61 64 64 69 74 69 6f 6e 61 6c 20  ..An additional 
2300: 76 61 72 69 61 62 6c 65 20 3c 62 3e 6d 73 67 69  variable <b>msgi
2310: 64 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20 70 61  d</b> will be pa
2320: 73 73 65 64 20 74 6f 20 74 68 65 20 6d 65 74 68  ssed to the meth
2330: 6f 64 20 62 6f 64 79 2e 20 54 68 69 73 0d 0a 76  od body. This..v
2340: 61 72 69 61 62 6c 65 20 63 6f 6e 74 61 69 6e 73  ariable contains
2350: 20 61 20 6d 65 73 73 61 67 65 49 44 20 74 68 61   a messageID tha
2360: 74 20 6d 61 79 20 62 65 20 75 73 65 64 20 69 6e  t may be used in
2370: 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 77 69 74   combination wit
2380: 68 20 74 68 65 0d 0a 3c 62 3e 67 65 74 3c 2f 62  h the..<b>get</b
2390: 3e 2c 20 3c 62 3e 72 65 74 75 72 6e 3c 2f 62 3e  >, <b>return</b>
23a0: 2c 20 6f 72 20 3c 62 3e 65 72 72 6f 72 3c 2f 62  , or <b>error</b
23b0: 3e 20 73 75 62 63 6f 6d 6d 61 6e 64 73 2e 20 54  > subcommands. T
23c0: 68 65 20 6d 65 73 73 61 67 65 49 44 0d 0a 72 65  he messageID..re
23d0: 6d 61 69 6e 73 20 76 61 6c 69 64 20 66 6f 72 20  mains valid for 
23e0: 61 20 70 65 72 69 6f 64 20 6f 66 20 74 69 6d 65  a period of time
23f0: 20 28 64 65 66 61 75 6c 74 20 32 35 20 73 65 63   (default 25 sec
2400: 6f 6e 64 73 29 2c 20 6f 72 20 75 6e 74 69 6c 20  onds), or until 
2410: 61 20 72 65 73 70 6f 6e 73 65 0d 0a 68 61 73 20  a response..has 
2420: 62 65 65 6e 20 72 65 74 75 72 6e 65 64 20 74 6f  been returned to
2430: 20 74 68 65 20 63 61 6c 6c 65 72 2c 20 77 68 69   the caller, whi
2440: 63 68 65 76 65 72 20 68 61 70 70 65 6e 73 20 66  chever happens f
2450: 69 72 73 74 2e 0d 0a 0d 0a 3c 70 3e 0d 0a 0d 0a  irst.....<p>....
2460: 54 68 65 20 63 6f 64 65 20 69 6e 20 3c 69 3e 62  The code in <i>b
2470: 6f 64 79 3c 2f 69 3e 20 77 69 6c 6c 20 62 65 20  ody</i> will be 
2480: 65 78 65 63 75 74 65 64 20 69 6e 20 74 68 65 20  executed in the 
2490: 6e 61 6d 65 73 70 61 63 65 20 74 68 65 0d 0a 3c  namespace the..<
24a0: 62 3e 64 62 69 66 3c 2f 62 3e 20 3c 62 3e 6d 65  b>dbif</b> <b>me
24b0: 74 68 6f 64 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64  thod</b> command
24c0: 20 77 61 73 20 69 73 73 75 65 64 20 66 72 6f 6d   was issued from
24d0: 2e 0d 0a 0d 0a 54 68 65 20 3c 69 3e 69 6e 70 75  .....The <i>inpu
24e0: 74 61 72 67 73 3c 2f 69 3e 20 61 6e 64 20 3c 69  targs</i> and <i
24f0: 3e 6f 75 74 70 75 74 61 72 67 73 3c 2f 69 3e 20  >outputargs</i> 
2500: 61 72 67 75 6d 65 6e 74 73 20 66 6f 6c 6c 6f 77  arguments follow
2510: 20 74 68 65 20 73 70 65 63 69 61 6c 20 72 75 6c   the special rul
2520: 65 73 0d 0a 66 6f 72 20 64 62 69 66 20 61 72 67  es..for dbif arg
2530: 75 6d 65 6e 74 20 6c 69 73 74 73 2e 0d 0a 53 65  ument lists...Se
2540: 65 20 3c 62 3e 41 52 47 55 4d 45 4e 54 20 4c 49  e <b>ARGUMENT LI
2550: 53 54 53 3c 2f 62 3e 20 62 65 6c 6f 77 20 66 6f  STS</b> below fo
2560: 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69  r more informati
2570: 6f 6e 2e 0d 0a 3c 64 74 3e 3c 62 3e 64 62 69 66  on...<dt><b>dbif
2580: 3c 2f 62 3e 20 3c 62 3e 70 61 76 65 3c 2f 62 3e  </b> <b>pave</b>
2590: 20 3f 3c 62 3e 2d 62 75 73 3c 2f 62 3e 20 3c 69   ?<b>-bus</b> <i
25a0: 3e 62 75 73 74 79 70 65 3c 2f 69 3e 3f 20 3f 3c  >bustype</i>? ?<
25b0: 62 3e 2d 69 6e 74 65 72 66 61 63 65 3c 2f 62 3e  b>-interface</b>
25c0: 20 3c 69 3e 69 6e 74 65 72 66 61 63 65 3c 2f 69   <i>interface</i
25d0: 3e 3f 20 3c 69 3e 70 61 74 68 3c 2f 69 3e 0d 0a  >? <i>path</i>..
25e0: 3c 64 64 3e 43 72 65 61 74 65 20 61 20 70 61 74  <dd>Create a pat
25f0: 68 2e 20 4e 6f 72 6d 61 6c 6c 79 20 61 20 70 61  h. Normally a pa
2600: 74 68 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61  th is automatica
2610: 6c 6c 79 20 63 72 65 61 74 65 64 20 77 68 65 6e  lly created when
2620: 20 61 20 70 72 6f 70 65 72 74 79 2c 0d 0a 6d 65   a property,..me
2630: 74 68 6f 64 2c 20 6f 72 20 73 69 67 6e 61 6c 20  thod, or signal 
2640: 69 73 20 64 65 66 69 6e 65 64 20 6f 6e 20 74 68  is defined on th
2650: 61 74 20 70 61 74 68 2e 20 54 68 69 73 20 63 6f  at path. This co
2660: 6d 6d 61 6e 64 20 69 73 20 69 6e 74 65 6e 64 65  mmand is intende
2670: 64 20 66 6f 72 20 70 61 74 68 73 0d 0a 74 68 61  d for paths..tha
2680: 74 20 6f 6e 6c 79 20 68 61 76 65 20 75 6e 69 76  t only have univ
2690: 65 72 73 61 6c 20 6d 65 74 68 6f 64 73 20 61 6e  ersal methods an
26a0: 64 2f 6f 72 20 73 69 67 6e 61 6c 73 20 28 69 2e  d/or signals (i.
26b0: 65 2e 20 6d 65 74 68 6f 64 73 20 61 6e 64 2f 6f  e. methods and/o
26c0: 72 20 73 69 67 6e 61 6c 73 0d 0a 74 68 61 74 20  r signals..that 
26d0: 61 72 65 20 64 65 66 69 6e 65 64 20 77 69 74 68  are defined with
26e0: 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67   an empty string
26f0: 20 61 73 20 74 68 65 69 72 20 70 61 74 68 29 2e   as their path).
2700: 0d 0a 3c 64 74 3e 3c 62 3e 64 62 69 66 3c 2f 62  ..<dt><b>dbif</b
2710: 3e 20 3c 62 3e 70 72 6f 70 65 72 74 79 3c 2f 62  > <b>property</b
2720: 3e 20 3f 3c 62 3e 2d 61 63 63 65 73 73 3c 2f 62  > ?<b>-access</b
2730: 3e 20 3c 69 3e 6d 6f 64 65 3c 2f 69 3e 3f 20 3f  > <i>mode</i>? ?
2740: 3c 62 3e 2d 61 74 74 72 69 62 75 74 65 73 3c 2f  <b>-attributes</
2750: 62 3e 20 3c 69 3e 61 74 74 72 69 62 75 74 65 73  b> <i>attributes
2760: 3c 2f 69 3e 3f 20 3f 3c 62 3e 2d 62 75 73 3c 2f  </i>? ?<b>-bus</
2770: 62 3e 20 3c 69 3e 62 75 73 74 79 70 65 3c 2f 69  b> <i>bustype</i
2780: 3e 3f 20 3f 3c 62 3e 2d 69 6e 74 65 72 66 61 63  >? ?<b>-interfac
2790: 65 3c 2f 62 3e 20 3c 69 3e 69 6e 74 65 72 66 61  e</b> <i>interfa
27a0: 63 65 3c 2f 69 3e 3f 20 3c 69 3e 70 61 74 68 3c  ce</i>? <i>path<
27b0: 2f 69 3e 20 3c 69 3e 6e 61 6d 65 3c 2f 69 3e 3f  /i> <i>name</i>?
27c0: 3a 3c 69 3e 73 69 67 6e 61 74 75 72 65 3c 2f 69  :<i>signature</i
27d0: 3e 3f 20 3c 69 3e 76 61 72 69 61 62 6c 65 3c 2f  >? <i>variable</
27e0: 69 3e 20 3f 3f 3c 69 3e 69 6e 74 65 72 70 3c 2f  i> ??<i>interp</
27f0: 69 3e 3f 20 3c 69 3e 62 6f 64 79 3c 2f 69 3e 3f  i>? <i>body</i>?
2800: 0d 0a 3c 64 64 3e 44 65 66 69 6e 65 20 61 20 70  ..<dd>Define a p
2810: 72 6f 70 65 72 74 79 20 74 68 61 74 20 6d 61 79  roperty that may
2820: 20 62 65 20 61 63 63 65 73 73 65 64 20 74 68 72   be accessed thr
2830: 6f 75 67 68 20 74 68 65 20 44 2d 42 75 73 20 75  ough the D-Bus u
2840: 73 69 6e 67 20 6d 65 74 68 6f 64 73 20 64 65 66  sing methods def
2850: 69 6e 65 64 20 0d 0a 62 79 20 74 68 65 20 6f 72  ined ..by the or
2860: 67 2e 66 72 65 65 64 65 73 6b 74 6f 70 2e 44 42  g.freedesktop.DB
2870: 75 73 2e 50 72 6f 70 65 72 74 69 65 73 20 73 74  us.Properties st
2880: 61 6e 64 61 72 64 20 69 6e 74 65 72 66 61 63 65  andard interface
2890: 2e 20 54 68 65 20 3c 69 3e 76 61 72 69 61 62 6c  . The <i>variabl
28a0: 65 3c 2f 69 3e 0d 0a 61 72 67 75 6d 65 6e 74 20  e</i>..argument 
28b0: 64 65 66 69 6e 65 73 20 74 68 65 20 67 6c 6f 62  defines the glob
28c0: 61 6c 20 76 61 72 69 61 62 6c 65 20 68 6f 6c 64  al variable hold
28d0: 69 6e 67 20 74 68 65 20 76 61 6c 75 65 20 6f 66  ing the value of
28e0: 20 74 68 65 20 70 72 6f 70 65 72 74 79 2e 0d 0a   the property...
28f0: 0d 0a 54 68 65 20 3c 69 3e 73 69 67 6e 61 74 75  ..The <i>signatu
2900: 72 65 3c 2f 69 3e 20 6f 66 20 61 20 70 72 6f 70  re</i> of a prop
2910: 65 72 74 79 20 6d 75 73 74 20 62 65 20 61 20 73  erty must be a s
2920: 69 6e 67 6c 65 20 63 6f 6d 70 6c 65 74 65 20 74  ingle complete t
2930: 79 70 65 2e 0d 0a 3c 70 3e 0d 0a 0d 0a 54 68 65  ype...<p>....The
2940: 20 3c 62 3e 2d 61 63 63 65 73 73 3c 2f 62 3e 20   <b>-access</b> 
2950: 6f 70 74 69 6f 6e 20 73 70 65 63 69 66 69 65 73  option specifies
2960: 20 77 68 65 74 68 65 72 20 74 68 65 20 70 72 6f   whether the pro
2970: 70 65 72 74 79 20 63 61 6e 20 62 65 20 76 69 65  perty can be vie
2980: 77 65 64 0d 0a 61 6e 64 2f 6f 72 20 6d 6f 64 69  wed..and/or modi
2990: 66 69 65 64 20 74 68 72 6f 75 67 68 20 74 68 65  fied through the
29a0: 20 44 2d 42 75 73 2e 20 56 61 6c 69 64 20 61 63   D-Bus. Valid ac
29b0: 63 65 73 73 20 6d 6f 64 65 73 20 61 72 65 20 3c  cess modes are <
29c0: 62 20 63 6c 61 73 73 3d 22 63 6f 6e 73 74 22 3e  b class="const">
29d0: 72 65 61 64 3c 2f 62 3e 2c 0d 0a 3c 62 20 63 6c  read</b>,..<b cl
29e0: 61 73 73 3d 22 63 6f 6e 73 74 22 3e 77 72 69 74  ass="const">writ
29f0: 65 3c 2f 62 3e 2c 20 61 6e 64 20 3c 62 20 63 6c  e</b>, and <b cl
2a00: 61 73 73 3d 22 63 6f 6e 73 74 22 3e 72 65 61 64  ass="const">read
2a10: 77 72 69 74 65 3c 2f 62 3e 2e 20 49 66 20 6e 6f  write</b>. If no
2a20: 20 61 63 63 65 73 73 20 6d 6f 64 65 20 69 73 20   access mode is 
2a30: 73 70 65 63 69 66 69 65 64 2c 20 69 74 0d 0a 64  specified, it..d
2a40: 65 66 61 75 6c 74 73 20 74 6f 20 72 65 61 64 77  efaults to readw
2a50: 72 69 74 65 2e 0d 0a 0d 0a 3c 70 3e 0d 0a 0d 0a  rite.....<p>....
2a60: 41 74 74 72 69 62 75 74 65 73 20 6d 61 79 20 62  Attributes may b
2a70: 65 20 73 70 65 63 69 66 69 65 64 20 76 69 61 20  e specified via 
2a80: 74 68 65 20 3c 62 3e 2d 61 74 74 72 69 62 75 74  the <b>-attribut
2a90: 65 73 3c 2f 62 3e 20 6f 70 74 69 6f 6e 20 74 6f  es</b> option to
2aa0: 20 70 72 6f 76 69 64 65 0d 0a 68 69 6e 74 73 20   provide..hints 
2ab0: 74 6f 20 75 73 65 72 73 20 6f 66 20 79 6f 75 72  to users of your
2ac0: 20 41 50 49 2e 0d 0a 53 65 65 20 3c 62 3e 41 54   API...See <b>AT
2ad0: 54 52 49 42 55 54 45 53 3c 2f 62 3e 20 62 65 6c  TRIBUTES</b> bel
2ae0: 6f 77 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f  ow for more info
2af0: 72 6d 61 74 69 6f 6e 2e 0d 0a 0d 0a 3c 70 3e 0d  rmation.....<p>.
2b00: 0a 0d 0a 54 68 65 20 63 6f 64 65 20 69 6e 20 74  ...The code in t
2b10: 68 65 20 6f 70 74 69 6f 6e 61 6c 20 3c 69 3e 62  he optional <i>b
2b20: 6f 64 79 3c 2f 69 3e 20 61 72 67 75 6d 65 6e 74  ody</i> argument
2b30: 20 77 69 6c 6c 20 62 65 20 65 78 65 63 75 74 65   will be execute
2b40: 64 20 77 68 65 6e 20 74 68 65 0d 0a 70 72 6f 70  d when the..prop
2b50: 65 72 74 79 20 69 73 20 6d 6f 64 69 66 69 65 64  erty is modified
2b60: 20 74 68 72 6f 75 67 68 20 74 68 65 20 44 2d 42   through the D-B
2b70: 75 73 2e 20 44 75 72 69 6e 67 20 74 68 65 20 65  us. During the e
2b80: 78 65 63 75 74 69 6f 6e 20 6f 66 20 3c 69 3e 62  xecution of <i>b
2b90: 6f 64 79 3c 2f 69 3e 0d 0a 74 68 65 20 67 6c 6f  ody</i>..the glo
2ba0: 62 61 6c 20 76 61 72 69 61 62 6c 65 20 77 69 6c  bal variable wil
2bb0: 6c 20 73 74 69 6c 6c 20 68 61 76 65 20 69 74 73  l still have its
2bc0: 20 6f 72 69 67 69 6e 61 6c 20 76 61 6c 75 65 2c   original value,
2bd0: 20 69 66 20 61 6e 79 2e 20 54 68 65 20 6e 65 77   if any. The new
2be0: 0d 0a 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20  ..value for the 
2bf0: 70 72 6f 70 65 72 74 79 20 69 73 20 70 61 73 73  property is pass
2c00: 65 64 20 74 6f 20 74 68 65 20 73 63 72 69 70 74  ed to the script
2c10: 20 61 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 20   as an argument 
2c20: 77 69 74 68 20 74 68 65 20 73 61 6d 65 0d 0a 6e  with the same..n
2c30: 61 6d 65 20 61 73 20 74 68 65 20 70 72 6f 70 65  ame as the prope
2c40: 72 74 79 2e 20 49 66 20 65 78 65 63 75 74 69 6f  rty. If executio
2c50: 6e 20 6f 66 20 3c 69 3e 62 6f 64 79 3c 2f 69 3e  n of <i>body</i>
2c60: 20 72 65 73 75 6c 74 73 20 69 6e 20 61 6e 20 65   results in an e
2c70: 72 72 6f 72 2c 20 74 68 65 0d 0a 67 6c 6f 62 61  rror, the..globa
2c80: 6c 20 76 61 72 69 61 62 6c 65 20 77 69 6c 6c 20  l variable will 
2c90: 6e 6f 74 20 62 65 20 6d 6f 64 69 66 69 65 64 2e  not be modified.
2ca0: 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 72 65 73   This allows res
2cb0: 74 72 69 63 74 69 6f 6e 73 20 74 6f 20 62 65 20  trictions to be 
2cc0: 69 6d 70 6f 73 65 64 0d 0a 6f 6e 20 74 68 65 20  imposed..on the 
2cd0: 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 70 72  value for the pr
2ce0: 6f 70 65 72 74 79 2e 0d 0a 0d 0a 3c 70 3e 0d 0a  operty.....<p>..
2cf0: 0d 0a 54 68 65 20 63 6f 64 65 20 69 6e 20 3c 69  ..The code in <i
2d00: 3e 62 6f 64 79 3c 2f 69 3e 20 77 69 6c 6c 20 62  >body</i> will b
2d10: 65 20 65 78 65 63 75 74 65 64 20 69 6e 20 74 68  e executed in th
2d20: 65 20 6e 61 6d 65 73 70 61 63 65 20 74 68 65 0d  e namespace the.
2d30: 0a 3c 62 3e 64 62 69 66 3c 2f 62 3e 20 3c 62 3e  .<b>dbif</b> <b>
2d40: 70 72 6f 70 65 72 74 79 3c 2f 62 3e 20 63 6f 6d  property</b> com
2d50: 6d 61 6e 64 20 77 61 73 20 69 73 73 75 65 64 20  mand was issued 
2d60: 66 72 6f 6d 20 6f 72 2c 20 69 66 20 61 20 73 6c  from or, if a sl
2d70: 61 76 65 0d 0a 69 6e 74 65 72 70 72 65 74 65 72  ave..interpreter
2d80: 20 77 61 73 20 73 70 65 63 69 66 69 65 64 2c 20   was specified, 
2d90: 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 6e  in the current n
2da0: 61 6d 65 73 70 61 63 65 20 6f 66 20 74 68 61 74  amespace of that
2db0: 20 73 6c 61 76 65 20 69 6e 74 65 72 70 72 65 74   slave interpret
2dc0: 65 72 0d 0a 61 74 20 64 65 66 69 6e 69 74 69 6f  er..at definitio
2dd0: 6e 20 74 69 6d 65 2e 0d 0a 0d 0a 3c 70 3e 0d 0a  n time.....<p>..
2de0: 0d 0a 47 65 6e 65 72 61 74 69 6e 67 20 74 68 65  ..Generating the
2df0: 20 70 72 6f 70 65 72 74 79 20 76 61 6c 75 65 20   property value 
2e00: 6f 6e 6c 79 20 77 68 65 6e 20 6e 65 65 64 65 64  only when needed
2e10: 20 63 61 6e 20 62 65 20 69 6d 70 6c 65 6d 65 6e   can be implemen
2e20: 74 65 64 20 62 79 20 70 75 74 74 69 6e 67 0d 0a  ted by putting..
2e30: 61 20 72 65 61 64 20 74 72 61 63 65 20 6f 6e 20  a read trace on 
2e40: 74 68 65 20 67 6c 6f 62 61 6c 20 76 61 72 69 61  the global varia
2e50: 62 6c 65 2e 20 45 78 61 6d 70 6c 65 3a 0d 0a 0d  ble. Example:...
2e60: 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 64 62 69  .<verbatim>..dbi
2e70: 66 20 70 72 6f 70 65 72 74 79 20 2d 61 74 74 72  f property -attr
2e80: 69 62 75 74 65 73 20 7b 50 72 6f 70 65 72 74 79  ibutes {Property
2e90: 2e 45 6d 69 74 73 43 68 61 6e 67 65 64 53 69 67  .EmitsChangedSig
2ea0: 6e 61 6c 20 66 61 6c 73 65 7d 20 2f 20 63 6c 6f  nal false} / clo
2eb0: 63 6b 20 73 65 63 0d 0a 74 72 61 63 65 20 61 64  ck sec..trace ad
2ec0: 64 20 76 61 72 69 61 62 6c 65 20 73 65 63 20 72  d variable sec r
2ed0: 65 61 64 20 7b 61 70 70 6c 79 20 7b 61 72 67 73  ead {apply {args
2ee0: 20 7b 73 65 74 20 3a 3a 73 65 63 20 5b 63 6c 6f   {set ::sec [clo
2ef0: 63 6b 20 73 65 63 6f 6e 64 73 5d 7d 7d 7d 0d 0a  ck seconds]}}}..
2f00: 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 0d 0a 49  </verbatim>....I
2f10: 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 20 74  n this example t
2f20: 68 65 20 50 72 6f 70 65 72 74 79 2e 45 6d 69 74  he Property.Emit
2f30: 73 43 68 61 6e 67 65 64 53 69 67 6e 61 6c 20 61  sChangedSignal a
2f40: 74 74 72 69 62 75 74 65 20 69 73 20 75 73 65 64  ttribute is used
2f50: 20 74 6f 0d 0a 70 72 65 76 65 6e 74 20 74 68 65   to..prevent the
2f60: 20 3c 65 6d 3e 50 72 6f 70 65 72 74 69 65 73 43   <em>PropertiesC
2f70: 68 61 6e 67 65 64 3c 2f 65 6d 3e 20 73 69 67 6e  hanged</em> sign
2f80: 61 6c 20 62 65 69 6e 67 20 67 65 6e 65 72 61 74  al being generat
2f90: 65 64 2c 20 77 68 69 63 68 20 77 6f 75 6c 64 0d  ed, which would.
2fa0: 0a 69 6e 76 6f 6c 76 65 20 61 20 73 65 63 6f 6e  .involve a secon
2fb0: 64 20 72 65 61 64 20 6f 66 20 74 68 65 20 76 61  d read of the va
2fc0: 72 69 61 62 6c 65 2e 0d 0a 3c 64 74 3e 3c 62 3e  riable...<dt><b>
2fd0: 64 62 69 66 3c 2f 62 3e 20 3c 62 3e 72 65 74 75  dbif</b> <b>retu
2fe0: 72 6e 3c 2f 62 3e 20 3c 69 3e 6d 65 73 73 61 67  rn</b> <i>messag
2ff0: 65 49 44 3c 2f 69 3e 20 3c 69 3e 72 65 74 75 72  eID</i> <i>retur
3000: 6e 76 61 6c 75 65 3c 2f 69 3e 0d 0a 3c 64 64 3e  nvalue</i>..<dd>
3010: 53 65 6e 64 20 61 20 44 2d 42 75 73 20 72 65 74  Send a D-Bus ret
3020: 75 72 6e 20 6d 65 73 73 61 67 65 20 69 6e 20 72  urn message in r
3030: 65 73 70 6f 6e 73 65 20 74 6f 20 61 20 44 2d 42  esponse to a D-B
3040: 75 73 20 6d 65 74 68 6f 64 20 63 61 6c 6c 2e 20  us method call. 
3050: 54 68 65 20 70 72 6f 76 69 64 65 64 0d 0a 3c 69  The provided..<i
3060: 3e 72 65 74 75 72 6e 76 61 6c 75 65 3c 2f 69 3e  >returnvalue</i>
3070: 20 6d 75 73 74 20 6d 61 74 63 68 20 74 68 65 20   must match the 
3080: 73 69 67 6e 61 74 75 72 65 20 73 70 65 63 69 66  signature specif
3090: 69 65 64 20 65 61 72 6c 69 65 72 20 69 6e 20 74  ied earlier in t
30a0: 68 65 0d 0a 3c 62 3e 64 62 69 66 3c 2f 62 3e 20  he..<b>dbif</b> 
30b0: 3c 62 3e 6d 65 74 68 6f 64 3c 2f 62 3e 20 63 6f  <b>method</b> co
30c0: 6d 6d 61 6e 64 20 66 6f 72 20 74 68 65 20 6d 65  mmand for the me
30d0: 74 68 6f 64 2e 0d 0a 3c 64 74 3e 3c 62 3e 64 62  thod...<dt><b>db
30e0: 69 66 3c 2f 62 3e 20 3c 62 3e 73 69 67 6e 61 6c  if</b> <b>signal
30f0: 3c 2f 62 3e 20 3f 3c 62 3e 2d 61 74 74 72 69 62  </b> ?<b>-attrib
3100: 75 74 65 73 3c 2f 62 3e 20 3c 69 3e 61 74 74 72  utes</b> <i>attr
3110: 69 62 75 74 65 73 3c 2f 69 3e 3f 20 3f 3c 62 3e  ibutes</i>? ?<b>
3120: 2d 62 75 73 3c 2f 62 3e 20 3c 69 3e 62 75 73 74  -bus</b> <i>bust
3130: 79 70 65 3c 2f 69 3e 3f 20 3f 3c 62 3e 2d 69 64  ype</i>? ?<b>-id
3140: 3c 2f 62 3e 20 3c 69 3e 73 69 67 6e 61 6c 49 44  </b> <i>signalID
3150: 3c 2f 69 3e 3f 20 3f 3c 62 3e 2d 69 6e 74 65 72  </i>? ?<b>-inter
3160: 66 61 63 65 3c 2f 62 3e 20 3c 69 3e 69 6e 74 65  face</b> <i>inte
3170: 72 66 61 63 65 3c 2f 69 3e 3f 20 3c 69 3e 70 61  rface</i>? <i>pa
3180: 74 68 3c 2f 69 3e 20 3c 69 3e 6e 61 6d 65 3c 2f  th</i> <i>name</
3190: 69 3e 20 3f 3c 69 3e 61 72 67 6c 69 73 74 3c 2f  i> ?<i>arglist</
31a0: 69 3e 20 3f 3f 3c 69 3e 69 6e 74 65 72 70 3c 2f  i> ??<i>interp</
31b0: 69 3e 3f 20 3c 69 3e 61 72 67 73 3c 2f 69 3e 20  i>? <i>args</i> 
31c0: 3c 69 3e 62 6f 64 79 3c 2f 69 3e 3f 3f 0d 0a 3c  <i>body</i>??..<
31d0: 64 64 3e 44 65 66 69 6e 65 20 61 20 73 69 67 6e  dd>Define a sign
31e0: 61 6c 20 74 68 61 74 20 74 68 65 20 61 70 70 6c  al that the appl
31f0: 69 63 61 74 69 6f 6e 20 6d 61 79 20 65 6d 69 74  ication may emit
3200: 20 75 73 69 6e 67 20 74 68 65 20 3c 62 3e 64 62   using the <b>db
3210: 69 66 3c 2f 62 3e 0d 0a 3c 62 3e 67 65 6e 65 72  if</b>..<b>gener
3220: 61 74 65 3c 2f 62 3e 20 73 75 62 63 6f 6d 6d 61  ate</b> subcomma
3230: 6e 64 2e 20 53 69 67 6e 61 6c 73 20 61 72 65 20  nd. Signals are 
3240: 72 65 66 65 72 72 65 64 20 74 6f 20 62 79 20 74  referred to by t
3250: 68 65 69 72 20 53 69 67 6e 61 6c 49 44 2e 0d 0a  heir SignalID...
3260: 49 66 20 3c 62 3e 2d 69 64 3c 2f 62 3e 20 69 73  If <b>-id</b> is
3270: 20 73 70 65 63 69 66 69 65 64 2c 20 69 74 20 69   specified, it i
3280: 73 20 75 73 65 64 20 61 73 20 74 68 65 20 53 69  s used as the Si
3290: 67 6e 61 6c 49 44 2e 20 4f 74 68 65 72 77 69 73  gnalID. Otherwis
32a0: 65 20 61 20 6e 65 77 0d 0a 75 6e 69 71 75 65 20  e a new..unique 
32b0: 69 64 65 6e 74 69 66 69 65 72 20 69 73 20 67 65  identifier is ge
32c0: 6e 65 72 61 74 65 64 2e 20 53 70 65 63 69 66 79  nerated. Specify
32d0: 69 6e 67 20 61 6e 20 65 78 69 73 74 69 6e 67 20  ing an existing 
32e0: 53 69 67 6e 61 6c 49 44 20 72 65 70 6c 61 63 65  SignalID replace
32f0: 73 0d 0a 74 68 65 20 70 72 65 76 69 6f 75 73 6c  s..the previousl
3300: 79 20 64 65 66 69 6e 65 64 20 73 69 67 6e 61 6c  y defined signal
3310: 2e 0d 0a 0d 0a 3c 70 3e 0d 0a 0d 0a 41 74 74 72  .....<p>....Attr
3320: 69 62 75 74 65 73 20 6d 61 79 20 62 65 20 73 70  ibutes may be sp
3330: 65 63 69 66 69 65 64 20 76 69 61 20 74 68 65 20  ecified via the 
3340: 3c 62 3e 2d 61 74 74 72 69 62 75 74 65 73 3c 2f  <b>-attributes</
3350: 62 3e 20 6f 70 74 69 6f 6e 20 74 6f 20 70 72 6f  b> option to pro
3360: 76 69 64 65 0d 0a 68 69 6e 74 73 20 74 6f 20 75  vide..hints to u
3370: 73 65 72 73 20 6f 66 20 79 6f 75 72 20 41 50 49  sers of your API
3380: 2e 0d 0a 53 65 65 20 3c 62 3e 41 54 54 52 49 42  ...See <b>ATTRIB
3390: 55 54 45 53 3c 2f 62 3e 20 62 65 6c 6f 77 20 66  UTES</b> below f
33a0: 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74  or more informat
33b0: 69 6f 6e 2e 0d 0a 0d 0a 3c 70 3e 0d 0a 0d 0a 54  ion.....<p>....T
33c0: 68 65 20 63 6f 6d 6d 61 6e 64 20 72 65 74 75 72  he command retur
33d0: 6e 73 20 74 68 65 20 53 69 67 6e 61 6c 49 44 20  ns the SignalID 
33e0: 6f 66 20 74 68 65 20 6e 65 77 6c 79 20 63 72 65  of the newly cre
33f0: 61 74 65 64 20 73 69 67 6e 61 6c 2e 0d 0a 0d 0a  ated signal.....
3400: 3c 70 3e 0d 0a 0d 0a 49 66 20 74 68 65 20 6f 70  <p>....If the op
3410: 74 69 6f 6e 61 6c 20 3c 69 3e 61 72 67 73 3c 2f  tional <i>args</
3420: 69 3e 20 61 6e 64 20 3c 69 3e 62 6f 64 79 3c 2f  i> and <i>body</
3430: 69 3e 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65  i> arguments are
3440: 20 73 70 65 63 69 66 69 65 64 2c 20 62 6f 64 79   specified, body
3450: 0d 0a 77 69 6c 6c 20 62 65 20 65 78 65 63 75 74  ..will be execut
3460: 65 64 20 77 68 65 6e 20 74 68 65 20 73 69 67 6e  ed when the sign
3470: 61 6c 20 69 73 20 74 72 61 6e 73 6d 69 74 74 65  al is transmitte
3480: 64 20 6f 6e 20 74 68 65 20 44 2d 42 75 73 20 61  d on the D-Bus a
3490: 73 20 61 20 72 65 73 75 6c 74 0d 0a 6f 66 20 74  s a result..of t
34a0: 68 65 20 3c 62 3e 64 62 69 66 3c 2f 62 3e 20 3c  he <b>dbif</b> <
34b0: 62 3e 67 65 6e 65 72 61 74 65 3c 2f 62 3e 20 73  b>generate</b> s
34c0: 75 62 63 6f 6d 6d 61 6e 64 2e 20 49 74 20 69 73  ubcommand. It is
34d0: 20 74 68 65 0d 0a 72 65 73 70 6f 6e 73 69 62 69   the..responsibi
34e0: 6c 69 74 79 20 6f 66 20 74 68 65 20 62 6f 64 79  lity of the body
34f0: 20 63 6f 64 65 20 74 6f 20 70 72 6f 64 75 63 65   code to produce
3500: 20 61 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20   a return value 
3510: 74 68 61 74 20 6d 61 74 63 68 65 73 0d 0a 74 68  that matches..th
3520: 65 20 73 70 65 63 69 66 69 65 64 20 61 72 67 6c  e specified argl
3530: 69 73 74 2e 0d 0a 0d 0a 3c 70 3e 0d 0a 0d 0a 54  ist.....<p>....T
3540: 68 65 20 63 6f 64 65 20 69 6e 20 3c 69 3e 62 6f  he code in <i>bo
3550: 64 79 3c 2f 69 3e 20 77 69 6c 6c 20 62 65 20 65  dy</i> will be e
3560: 78 65 63 75 74 65 64 20 69 6e 20 74 68 65 20 6e  xecuted in the n
3570: 61 6d 65 73 70 61 63 65 20 74 68 65 0d 0a 3c 62  amespace the..<b
3580: 3e 64 62 69 66 3c 2f 62 3e 20 3c 62 3e 73 69 67  >dbif</b> <b>sig
3590: 6e 61 6c 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20  nal</b> command 
35a0: 77 61 73 20 69 73 73 75 65 64 20 66 72 6f 6d 2e  was issued from.
35b0: 0d 0a 0d 0a 49 66 20 61 6e 79 20 75 6e 63 61 75  ....If any uncau
35c0: 67 68 74 20 65 72 72 6f 72 20 68 61 70 70 65 6e  ght error happen
35d0: 73 20 64 75 72 69 6e 67 20 74 68 65 20 65 78 65  s during the exe
35e0: 63 75 74 69 6f 6e 20 6f 66 20 74 68 65 20 62 6f  cution of the bo
35f0: 64 79 20 63 6f 64 65 2c 20 74 68 65 0d 0a 3c 62  dy code, the..<b
3600: 3e 64 62 69 66 3c 2f 62 3e 20 3c 62 3e 67 65 6e  >dbif</b> <b>gen
3610: 65 72 61 74 65 3c 2f 62 3e 20 63 6f 6d 6d 61 6e  erate</b> comman
3620: 64 20 77 69 6c 6c 20 61 6c 73 6f 20 74 68 72 6f  d will also thro
3630: 77 20 61 6e 20 65 72 72 6f 72 20 77 69 74 68 0d  w an error with.
3640: 0a 74 68 65 20 73 61 6d 65 20 65 72 72 6f 72 20  .the same error 
3650: 6d 65 73 73 61 67 65 2e 20 0d 0a 0d 0a 57 68 65  message. ....Whe
3660: 6e 20 74 68 65 20 62 6f 64 79 20 63 6f 64 65 20  n the body code 
3670: 63 6f 6d 65 73 20 74 6f 20 74 68 65 20 63 6f 6e  comes to the con
3680: 63 6c 75 73 69 6f 6e 20 74 68 61 74 20 74 68 65  clusion that the
3690: 20 73 69 67 6e 61 6c 20 64 6f 65 73 6e 27 74 20   signal doesn't 
36a0: 6e 65 65 64 20 74 6f 0d 0a 62 65 20 73 65 6e 74  need to..be sent
36b0: 20 61 66 74 65 72 20 61 6c 6c 2c 20 69 74 20 6d   after all, it m
36c0: 61 79 20 61 62 6f 72 74 20 74 68 65 20 6f 70 65  ay abort the ope
36d0: 72 61 74 69 6f 6e 20 62 79 20 72 65 74 75 72 6e  ration by return
36e0: 69 6e 67 20 75 73 69 6e 67 0d 0a 26 23 39 31 3b  ing using..&#91;
36f0: 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 72 65 74  return -code ret
3700: 75 72 6e 26 23 39 33 3b 2e 0d 0a 0d 0a 54 68 65  urn&#93;.....The
3710: 20 3c 69 3e 61 72 67 6c 69 73 74 3c 2f 69 3e 20   <i>arglist</i> 
3720: 61 72 67 75 6d 65 6e 74 20 66 6f 6c 6c 6f 77 73  argument follows
3730: 20 74 68 65 20 73 70 65 63 69 61 6c 20 72 75 6c   the special rul
3740: 65 73 20 66 6f 72 20 64 62 69 66 0d 0a 61 72 67  es for dbif..arg
3750: 75 6d 65 6e 74 20 6c 69 73 74 73 2e 20 53 65 65  ument lists. See
3760: 20 3c 62 3e 41 52 47 55 4d 45 4e 54 20 4c 49 53   <b>ARGUMENT LIS
3770: 54 53 3c 2f 62 3e 20 62 65 6c 6f 77 20 66 6f 72  TS</b> below for
3780: 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f   more informatio
3790: 6e 2e 0d 0a 0d 0a 3c 70 3e 0d 0a 0d 0a 49 6e 20  n.....<p>....In 
37a0: 61 64 64 69 74 69 6f 6e 20 74 6f 20 76 61 6c 69  addition to vali
37b0: 64 20 64 62 75 73 20 70 61 74 68 73 2c 20 61 6e  d dbus paths, an
37c0: 20 65 6d 70 74 79 20 73 74 72 69 6e 67 20 6d 61   empty string ma
37d0: 79 20 62 65 20 73 70 65 63 69 66 69 65 64 20 66  y be specified f
37e0: 6f 72 20 74 68 65 0d 0a 3c 69 3e 70 61 74 68 3c  or the..<i>path<
37f0: 2f 69 3e 20 61 72 67 75 6d 65 6e 74 2e 20 54 68  /i> argument. Th
3800: 69 73 20 6d 61 6b 65 73 20 74 68 65 20 73 69 67  is makes the sig
3810: 6e 61 6c 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e  nal available on
3820: 20 61 6c 6c 20 70 61 74 68 73 2e 20 49 6e 20 74   all paths. In t
3830: 68 69 73 0d 0a 63 61 73 65 20 61 20 62 6f 64 79  his..case a body
3840: 20 6d 75 73 74 20 62 65 20 70 72 6f 76 69 64 65   must be provide
3850: 64 20 61 6e 64 20 74 68 65 20 62 6f 64 79 20 63  d and the body c
3860: 6f 64 65 20 6d 75 73 74 20 70 72 6f 76 69 64 65  ode must provide
3870: 20 61 20 70 61 74 68 20 69 6e 20 74 68 65 0d 0a   a path in the..
3880: 3c 62 3e 2d 70 61 74 68 3c 2f 62 3e 20 6f 70 74  <b>-path</b> opt
3890: 69 6f 6e 20 74 6f 20 74 68 65 20 3c 62 3e 72 65  ion to the <b>re
38a0: 74 75 72 6e 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64  turn</b> command
38b0: 2e 0d 0a 46 6f 72 20 65 78 61 6d 70 6c 65 3a 20  ...For example: 
38c0: 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 68 65  The following he
38d0: 6c 70 65 72 20 70 72 6f 63 20 63 6f 75 6c 64 20  lper proc could 
38e0: 62 65 20 75 73 65 64 20 74 6f 20 61 6c 6c 6f 77  be used to allow
38f0: 20 70 72 6f 76 69 64 69 6e 67 20 61 0d 0a 70 61   providing a..pa
3900: 74 68 20 74 6f 20 74 68 65 20 3c 62 3e 64 62 69  th to the <b>dbi
3910: 66 3c 2f 62 3e 20 3c 62 3e 67 65 6e 65 72 61 74  f</b> <b>generat
3920: 65 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20 69 6e  e</b> command in
3930: 20 66 72 6f 6e 74 20 6f 66 20 74 68 65 0d 0a 73   front of the..s
3940: 69 67 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 3a  ignal arguments:
3950: 0d 0a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a  ....<verbatim>..
3960: 70 72 6f 63 20 73 74 64 73 69 67 6e 61 6c 20 7b  proc stdsignal {
3970: 70 61 74 68 20 61 72 67 73 7d 20 7b 0d 0a 20 20  path args} {..  
3980: 20 20 23 20 53 69 6e 67 6c 65 20 61 72 67 75 6d    # Single argum
3990: 65 6e 74 20 73 69 67 6e 61 6c 20 62 6f 64 69 65  ent signal bodie
39a0: 73 20 61 72 65 20 6e 6f 74 20 65 78 70 65 63 74  s are not expect
39b0: 65 64 20 74 6f 20 70 72 6f 64 75 63 65 20 61 20  ed to produce a 
39c0: 6c 69 73 74 0d 0a 20 20 20 20 69 66 20 7b 5b 6c  list..    if {[l
39d0: 6c 65 6e 67 74 68 20 24 61 72 67 73 5d 20 3d 3d  length $args] ==
39e0: 20 31 7d 20 7b 73 65 74 20 61 72 67 73 20 5b 6c   1} {set args [l
39f0: 69 6e 64 65 78 20 24 61 72 67 73 20 30 5d 7d 0d  index $args 0]}.
3a00: 0a 20 20 20 20 72 65 74 75 72 6e 20 2d 70 61 74  .    return -pat
3a10: 68 20 24 70 61 74 68 20 24 61 72 67 73 0d 0a 7d  h $path $args..}
3a20: 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c  ..</verbatim>..<
3a30: 2f 64 6c 3e 0d 0a 0d 0a 3c 68 32 3e 42 55 53 20  /dl>....<h2>BUS 
3a40: 54 59 50 45 53 3c 2f 68 32 3e 0d 0a 0d 0a 54 68  TYPES</h2>....Th
3a50: 65 20 3c 62 3e 2d 62 75 73 3c 2f 62 3e 20 6f 70  e <b>-bus</b> op
3a60: 74 69 6f 6e 20 6f 66 20 74 68 65 20 76 61 72 69  tion of the vari
3a70: 6f 75 73 20 73 75 62 63 6f 6d 6d 61 6e 64 73 20  ous subcommands 
3a80: 74 61 6b 65 73 20 61 20 3c 69 3e 62 75 73 74 79  takes a <i>busty
3a90: 70 65 3c 2f 69 3e 0d 0a 76 61 6c 75 65 20 74 68  pe</i>..value th
3aa0: 61 74 20 63 61 6e 20 74 61 6b 65 20 73 65 76 65  at can take seve
3ab0: 72 61 6c 20 66 6f 72 6d 73 3a 0d 0a 3c 75 6c 3e  ral forms:..<ul>
3ac0: 0d 0a 0d 0a 3c 6c 69 3e 4f 6e 65 20 6f 66 20 74  ....<li>One of t
3ad0: 68 65 20 77 65 6c 6c 2d 6b 6e 6f 77 6e 20 62 75  he well-known bu
3ae0: 73 20 6e 61 6d 65 73 3a 20 27 73 65 73 73 69 6f  s names: 'sessio
3af0: 6e 27 2c 20 27 73 79 73 74 65 6d 27 2c 20 6f 72  n', 'system', or
3b00: 20 27 73 74 61 72 74 75 70 27 2e 0d 0a 3c 2f 6c   'startup'...</l
3b10: 69 3e 0d 0a 3c 6c 69 3e 41 20 62 75 73 20 61 64  i>..<li>A bus ad
3b20: 64 72 65 73 73 2c 20 63 6f 6e 73 69 73 74 69 6e  dress, consistin
3b30: 67 20 6f 66 20 61 20 74 72 61 6e 73 70 6f 72 74  g of a transport
3b40: 20 6e 61 6d 65 20 66 6f 6c 6c 6f 77 65 64 20 62   name followed b
3b50: 79 20 61 20 63 6f 6c 6f 6e 2c 0d 0a 61 6e 64 20  y a colon,..and 
3b60: 74 68 65 6e 20 61 6e 20 6f 70 74 69 6f 6e 61 6c  then an optional
3b70: 2c 20 63 6f 6d 6d 61 2d 73 65 70 61 72 61 74 65  , comma-separate
3b80: 64 20 6c 69 73 74 20 6f 66 20 6b 65 79 73 20 61  d list of keys a
3b90: 6e 64 20 76 61 6c 75 65 73 20 69 6e 20 74 68 65  nd values in the
3ba0: 20 66 6f 72 6d 0d 0a 6b 65 79 3d 76 61 6c 75 65   form..key=value
3bb0: 2e 0d 0a 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 41 20  ...</li>..<li>A 
3bc0: 68 61 6e 64 6c 65 20 61 73 20 72 65 74 75 72 6e  handle as return
3bd0: 65 64 20 62 79 20 74 68 65 20 3c 62 3e 64 62 75  ed by the <b>dbu
3be0: 73 3c 2f 62 3e 20 3c 62 3e 63 6f 6e 6e 65 63 74  s</b> <b>connect
3bf0: 3c 2f 62 3e 20 73 75 62 63 6f 6d 6d 61 6e 64 2e  </b> subcommand.
3c00: 0d 0a 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a  ..</li>..</ul>..
3c10: 0d 0a 3c 68 32 3e 56 41 4c 49 44 20 4e 41 4d 45  ..<h2>VALID NAME
3c20: 53 3c 2f 68 32 3e 0d 0a 0d 0a 54 68 65 20 64 62  S</h2>....The db
3c30: 69 66 20 70 61 63 6b 61 67 65 20 65 6e 66 6f 72  if package enfor
3c40: 63 65 73 20 73 6f 6d 65 20 6c 69 6d 69 74 61 74  ces some limitat
3c50: 69 6f 6e 73 20 6f 6e 20 6e 61 6d 65 73 20 75 73  ions on names us
3c60: 65 64 20 77 69 74 68 20 74 68 65 0d 0a 3c 62 3e  ed with the..<b>
3c70: 64 62 69 66 3c 2f 62 3e 20 73 75 62 63 6f 6d 6d  dbif</b> subcomm
3c80: 61 6e 64 73 2e 20 41 6c 6c 20 6e 61 6d 65 73 20  ands. All names 
3c90: 6d 75 73 74 20 6f 6e 6c 79 20 75 73 65 20 74 68  must only use th
3ca0: 65 20 63 68 61 72 61 63 74 65 72 73 0d 0a 26 71  e characters..&q
3cb0: 75 6f 74 3b 26 23 39 31 3b 41 2d 5a 26 23 39 33  uot;&#91;A-Z&#93
3cc0: 3b 26 23 39 31 3b 61 2d 7a 26 23 39 33 3b 26 23  ;&#91;a-z&#93;&#
3cd0: 39 31 3b 30 2d 39 26 23 39 33 3b 5f 26 71 75 6f  91;0-9&#93;_&quo
3ce0: 74 3b 2e 20 54 68 69 73 20 6c 69 6d 69 74 61 74  t;. This limitat
3cf0: 69 6f 6e 20 61 70 70 6c 69 65 73 20 74 6f 20 6d  ion applies to m
3d00: 65 74 68 6f 64 0d 0a 6e 61 6d 65 73 2c 20 70 72  ethod..names, pr
3d10: 6f 70 65 72 74 79 20 6e 61 6d 65 73 2c 20 73 69  operty names, si
3d20: 67 6e 61 6c 20 6e 61 6d 65 73 2c 20 61 6e 64 20  gnal names, and 
3d30: 61 72 67 75 6d 65 6e 74 20 6e 61 6d 65 73 2e 20  argument names. 
3d40: 4f 75 74 20 6f 66 20 74 68 69 73 20 67 72 6f 75  Out of this grou
3d50: 70 2c 0d 0a 6f 6e 6c 79 20 61 72 67 75 6d 65 6e  p,..only argumen
3d60: 74 20 6e 61 6d 65 73 20 6d 61 79 20 62 65 67 69  t names may begi
3d70: 6e 20 77 69 74 68 20 61 20 64 69 67 69 74 2e 0d  n with a digit..
3d80: 0a 0d 0a 3c 70 3e 0d 0a 0d 0a 49 6e 74 65 72 66  ...<p>....Interf
3d90: 61 63 65 20 6e 61 6d 65 73 20 61 6e 64 20 65 72  ace names and er
3da0: 72 6f 72 20 6e 61 6d 65 73 20 6d 75 73 74 20 63  ror names must c
3db0: 6f 6e 73 69 73 74 20 6f 66 20 61 74 20 6c 65 61  onsist of at lea
3dc0: 73 74 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 0d  st two elements.
3dd0: 0a 73 65 70 61 72 61 74 65 64 20 62 79 20 61 20  .separated by a 
3de0: 70 65 72 69 6f 64 20 28 27 2e 27 29 20 63 68 61  period ('.') cha
3df0: 72 61 63 74 65 72 2e 20 45 61 63 68 20 65 6c 65  racter. Each ele
3e00: 6d 65 6e 74 20 6d 75 73 74 20 6f 6e 6c 79 20 63  ment must only c
3e10: 6f 6e 74 61 69 6e 20 74 68 65 0d 0a 63 68 61 72  ontain the..char
3e20: 61 63 74 65 72 73 20 26 71 75 6f 74 3b 26 23 39  acters &quot;&#9
3e30: 31 3b 41 2d 5a 26 23 39 33 3b 26 23 39 31 3b 61  1;A-Z&#93;&#91;a
3e40: 2d 7a 26 23 39 33 3b 26 23 39 31 3b 30 2d 39 26  -z&#93;&#91;0-9&
3e50: 23 39 33 3b 5f 26 71 75 6f 74 3b 20 61 6e 64 20  #93;_&quot; and 
3e60: 6d 75 73 74 20 6e 6f 74 20 62 65 67 69 6e 20 77  must not begin w
3e70: 69 74 68 20 61 0d 0a 64 69 67 69 74 2e 0d 0a 0d  ith a..digit....
3e80: 0a 3c 70 3e 0d 0a 0d 0a 44 2d 42 75 73 20 6e 61  .<p>....D-Bus na
3e90: 6d 65 73 20 66 6f 72 20 61 70 70 6c 69 63 61 74  mes for applicat
3ea0: 69 6f 6e 73 20 6d 75 73 74 20 66 6f 6c 6c 6f 77  ions must follow
3eb0: 20 74 68 65 20 73 61 6d 65 20 72 75 6c 65 73 20   the same rules 
3ec0: 61 73 20 69 6e 74 65 72 66 61 63 65 20 6e 61 6d  as interface nam
3ed0: 65 73 2c 0d 0a 65 78 63 65 70 74 20 74 68 61 74  es,..except that
3ee0: 20 61 6c 73 6f 20 64 61 73 68 20 28 27 2d 27 29   also dash ('-')
3ef0: 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20   characters are 
3f00: 61 6c 6c 6f 77 65 64 2e 20 55 6e 69 71 75 65 20  allowed. Unique 
3f10: 44 2d 42 75 73 20 6e 61 6d 65 73 20 62 65 67 69  D-Bus names begi
3f20: 6e 0d 0a 77 69 74 68 20 61 20 63 6f 6c 6f 6e 20  n..with a colon 
3f30: 28 27 3a 27 29 2e 20 54 68 65 20 65 6c 65 6d 65  (':'). The eleme
3f40: 6e 74 73 20 6f 66 20 75 6e 69 71 75 65 20 44 2d  nts of unique D-
3f50: 42 75 73 20 6e 61 6d 65 73 20 61 72 65 20 61 6c  Bus names are al
3f60: 6c 6f 77 65 64 20 74 6f 20 62 65 67 69 6e 0d 0a  lowed to begin..
3f70: 77 69 74 68 20 61 20 64 69 67 69 74 2e 0d 0a 0d  with a digit....
3f80: 0a 3c 70 3e 0d 0a 0d 0a 50 61 74 68 73 20 6d 75  .<p>....Paths mu
3f90: 73 74 20 73 74 61 72 74 20 77 69 74 68 20 61 20  st start with a 
3fa0: 73 6c 61 73 68 20 28 27 2f 27 29 20 61 6e 64 20  slash ('/') and 
3fb0: 6d 75 73 74 20 63 6f 6e 73 69 73 74 20 6f 66 20  must consist of 
3fc0: 65 6c 65 6d 65 6e 74 73 20 73 65 70 61 72 61 74  elements separat
3fd0: 65 64 0d 0a 62 79 20 73 6c 61 73 68 20 63 68 61  ed..by slash cha
3fe0: 72 61 63 74 65 72 73 2e 20 45 61 63 68 20 65 6c  racters. Each el
3ff0: 65 6d 65 6e 74 20 6d 75 73 74 20 6f 6e 6c 79 20  ement must only 
4000: 63 6f 6e 74 61 69 6e 20 74 68 65 20 63 68 61 72  contain the char
4010: 61 63 74 65 72 73 0d 0a 26 71 75 6f 74 3b 26 23  acters..&quot;&#
4020: 39 31 3b 41 2d 5a 26 23 39 33 3b 26 23 39 31 3b  91;A-Z&#93;&#91;
4030: 61 2d 7a 26 23 39 33 3b 26 23 39 31 3b 30 2d 39  a-z&#93;&#91;0-9
4040: 26 23 39 33 3b 5f 26 71 75 6f 74 3b 2e 20 45 6d  &#93;_&quot;. Em
4050: 70 74 79 20 65 6c 65 6d 65 6e 74 73 20 61 72 65  pty elements are
4060: 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 2e 0d 0a 0d   not allowed....
4070: 0a 3c 68 32 3e 41 52 47 55 4d 45 4e 54 20 4c 49  .<h2>ARGUMENT LI
4080: 53 54 53 3c 2f 68 32 3e 0d 0a 0d 0a 44 75 65 20  STS</h2>....Due 
4090: 74 6f 20 74 68 65 20 66 61 63 74 20 74 68 61 74  to the fact that
40a0: 20 74 68 65 20 44 2d 42 75 73 20 73 70 65 63 69   the D-Bus speci
40b0: 66 69 63 61 74 69 6f 6e 20 77 6f 72 6b 73 20 77  fication works w
40c0: 69 74 68 20 74 79 70 65 64 20 61 72 67 75 6d 65  ith typed argume
40d0: 6e 74 73 2c 20 61 0d 0a 73 6c 69 67 68 74 6c 79  nts, a..slightly
40e0: 20 6d 6f 64 69 66 69 65 64 20 6d 65 74 68 6f 64   modified method
40f0: 20 66 6f 72 20 73 70 65 63 69 66 79 69 6e 67 20   for specifying 
4100: 61 72 67 75 6d 65 6e 74 20 6c 69 73 74 73 20 68  argument lists h
4110: 61 73 20 62 65 65 6e 20 61 64 6f 70 74 65 64 20  as been adopted 
4120: 66 6f 72 0d 0a 74 68 65 20 64 62 69 66 20 70 61  for..the dbif pa
4130: 63 6b 61 67 65 2e 20 54 68 65 20 6e 6f 72 6d 61  ckage. The norma
4140: 6c 20 54 63 6c 20 61 72 67 75 6d 65 6e 74 20 6c  l Tcl argument l
4150: 69 73 74 20 61 73 20 75 73 65 64 20 77 69 74 68  ist as used with
4160: 20 74 68 65 0d 0a 3c 62 3e 70 72 6f 63 3c 2f 62   the..<b>proc</b
4170: 3e 20 61 6e 64 20 3c 62 3e 61 70 70 6c 79 3c 2f  > and <b>apply</
4180: 62 3e 20 63 6f 6d 6d 61 6e 64 73 20 6d 61 79 20  b> commands may 
4190: 73 74 69 6c 6c 20 62 65 20 75 73 65 64 2e 20 49  still be used. I
41a0: 6e 20 74 68 61 74 20 63 61 73 65 20 61 6c 6c 0d  n that case all.
41b0: 0a 61 72 67 75 6d 65 6e 74 73 20 77 69 6c 6c 20  .arguments will 
41c0: 62 65 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67  be of the string
41d0: 20 74 79 70 65 2e 20 54 6f 20 73 70 65 63 69 66   type. To specif
41e0: 79 20 61 20 64 69 66 66 65 72 65 6e 74 20 74 79  y a different ty
41f0: 70 65 2c 20 74 68 65 0d 0a 76 61 72 69 61 62 6c  pe, the..variabl
4200: 65 20 6e 61 6d 65 20 6d 75 73 74 20 62 65 20 66  e name must be f
4210: 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 63 6f 6c  ollowed by a col
4220: 6f 6e 20 61 6e 64 20 74 68 65 20 44 2d 42 75 73  on and the D-Bus
4230: 20 73 69 67 6e 61 74 75 72 65 0d 0a 73 70 65 63   signature..spec
4240: 69 66 69 63 61 74 69 6f 6e 20 66 6f 72 20 74 68  ification for th
4250: 61 74 20 61 72 67 75 6d 65 6e 74 2e 20 45 78 61  at argument. Exa
4260: 6d 70 6c 65 3a 20 74 6f 20 64 65 66 69 6e 65 20  mple: to define 
4270: 74 68 65 20 63 6f 75 6e 74 20 61 72 67 75 6d 65  the count argume
4280: 6e 74 20 61 73 0d 0a 61 20 33 32 2d 62 69 74 20  nt as..a 32-bit 
4290: 69 6e 74 65 67 65 72 2c 20 69 74 20 73 68 6f 75  integer, it shou
42a0: 6c 64 20 62 65 20 73 70 65 63 69 66 69 65 64 20  ld be specified 
42b0: 61 73 20 63 6f 75 6e 74 3a 69 2e 0d 0a 0d 0a 3c  as count:i.....<
42c0: 70 3e 0d 0a 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77  p>....The follow
42d0: 69 6e 67 20 61 72 67 75 6d 65 6e 74 20 74 79 70  ing argument typ
42e0: 65 73 20 61 72 65 20 61 76 61 69 6c 61 62 6c 65  es are available
42f0: 3a 0d 0a 3c 64 6c 3e 0d 0a 3c 64 74 3e 73 0d 0a  :..<dl>..<dt>s..
4300: 3c 64 64 3e 41 20 55 54 46 2d 38 20 65 6e 63 6f  <dd>A UTF-8 enco
4310: 64 65 64 2c 20 6e 75 6c 2d 74 65 72 6d 69 6e 61  ded, nul-termina
4320: 74 65 64 20 55 6e 69 63 6f 64 65 20 73 74 72 69  ted Unicode stri
4330: 6e 67 2e 0d 0a 3c 64 74 3e 62 0d 0a 3c 64 64 3e  ng...<dt>b..<dd>
4340: 41 20 62 6f 6f 6c 65 61 6e 2c 20 46 41 4c 53 45  A boolean, FALSE
4350: 20 28 30 29 2c 20 6f 72 20 54 52 55 45 20 28 31   (0), or TRUE (1
4360: 29 2e 0d 0a 3c 64 74 3e 79 0d 0a 3c 64 64 3e 41  )...<dt>y..<dd>A
4370: 20 62 79 74 65 20 28 38 2d 62 69 74 20 75 6e 73   byte (8-bit uns
4380: 69 67 6e 65 64 20 69 6e 74 65 67 65 72 29 2e 0d  igned integer)..
4390: 0a 3c 64 74 3e 6e 0d 0a 3c 64 64 3e 41 20 31 36  .<dt>n..<dd>A 16
43a0: 2d 62 69 74 20 73 69 67 6e 65 64 20 69 6e 74 65  -bit signed inte
43b0: 67 65 72 2e 0d 0a 3c 64 74 3e 71 0d 0a 3c 64 64  ger...<dt>q..<dd
43c0: 3e 41 20 31 36 2d 62 69 74 20 75 6e 73 69 67 6e  >A 16-bit unsign
43d0: 65 64 20 69 6e 74 65 67 65 72 2e 0d 0a 3c 64 74  ed integer...<dt
43e0: 3e 69 0d 0a 3c 64 64 3e 41 20 33 32 2d 62 69 74  >i..<dd>A 32-bit
43f0: 20 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 2e   signed integer.
4400: 0d 0a 3c 64 74 3e 75 0d 0a 3c 64 64 3e 41 20 33  ..<dt>u..<dd>A 3
4410: 32 2d 62 69 74 20 75 6e 73 69 67 6e 65 64 20 69  2-bit unsigned i
4420: 6e 74 65 67 65 72 2e 0d 0a 3c 64 74 3e 78 0d 0a  nteger...<dt>x..
4430: 3c 64 64 3e 41 20 36 34 2d 62 69 74 20 73 69 67  <dd>A 64-bit sig
4440: 6e 65 64 20 69 6e 74 65 67 65 72 2e 0d 0a 3c 64  ned integer...<d
4450: 74 3e 74 0d 0a 3c 64 64 3e 41 20 36 34 2d 62 69  t>t..<dd>A 64-bi
4460: 74 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67  t unsigned integ
4470: 65 72 2e 0d 0a 3c 64 74 3e 64 0d 0a 3c 64 64 3e  er...<dt>d..<dd>
4480: 41 6e 20 38 2d 62 79 74 65 20 64 6f 75 62 6c 65  An 8-byte double
4490: 20 69 6e 20 49 45 45 45 20 37 35 34 20 66 6f 72   in IEEE 754 for
44a0: 6d 61 74 2e 0d 0a 3c 64 74 3e 67 0d 0a 3c 64 64  mat...<dt>g..<dd
44b0: 3e 41 20 74 79 70 65 20 73 69 67 6e 61 74 75 72  >A type signatur
44c0: 65 2e 0d 0a 3c 64 74 3e 6f 0d 0a 3c 64 64 3e 41  e...<dt>o..<dd>A
44d0: 6e 20 6f 62 6a 65 63 74 20 70 61 74 68 2e 0d 0a  n object path...
44e0: 3c 64 74 3e 61 23 0d 0a 3c 64 64 3e 41 20 44 2d  <dt>a#..<dd>A D-
44f0: 42 75 73 20 61 72 72 61 79 20 74 79 70 65 2c 20  Bus array type, 
4500: 77 68 69 63 68 20 69 73 20 73 69 6d 69 6c 61 72  which is similar
4510: 20 74 6f 20 61 20 54 63 6c 20 6c 69 73 74 2e 20   to a Tcl list. 
4520: 54 68 65 20 23 20 73 70 65 63 69 66 69 65 73 0d  The # specifies.
4530: 0a 74 68 65 20 74 79 70 65 20 6f 66 20 74 68 65  .the type of the
4540: 20 61 72 72 61 79 20 65 6c 65 6d 65 6e 74 73 2e   array elements.
4550: 20 54 68 69 73 20 63 61 6e 20 62 65 20 61 6e 79   This can be any
4560: 20 74 79 70 65 2c 20 69 6e 63 6c 75 64 69 6e 67   type, including
4570: 20 61 6e 6f 74 68 65 72 0d 0a 61 72 72 61 79 2c   another..array,
4580: 20 61 20 73 74 72 75 63 74 20 6f 72 20 61 20 64   a struct or a d
4590: 69 63 74 20 65 6e 74 72 79 2e 0d 0a 3c 64 74 3e  ict entry...<dt>
45a0: 76 0d 0a 3c 64 64 3e 41 20 44 2d 42 75 73 20 76  v..<dd>A D-Bus v
45b0: 61 72 69 61 6e 74 20 74 79 70 65 2e 20 53 70 65  ariant type. Spe
45c0: 63 69 66 79 69 6e 67 20 74 68 69 73 20 74 79 70  cifying this typ
45d0: 65 20 77 69 6c 6c 20 63 61 75 73 65 20 74 68 65  e will cause the
45e0: 20 63 6f 64 65 20 74 6f 0d 0a 61 75 74 6f 6d 61   code to..automa
45f0: 74 69 63 61 6c 6c 79 20 64 65 74 65 72 6d 69 6e  tically determin
4600: 65 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 68  e the type of th
4610: 65 20 70 72 6f 76 69 64 65 64 20 76 61 6c 75 65  e provided value
4620: 20 28 62 79 20 6c 6f 6f 6b 69 6e 67 20 61 74 20   (by looking at 
4630: 74 68 65 0d 0a 69 6e 74 65 72 6e 61 6c 20 72 65  the..internal re
4640: 70 72 65 73 65 6e 74 61 74 69 6f 6e 29 2e 0d 0a  presentation)...
4650: 3c 64 74 3e 28 2e 2e 2e 29 0d 0a 3c 64 64 3e 41  <dt>(...)..<dd>A
4660: 20 73 74 72 75 63 74 2e 20 54 68 65 20 73 74 72   struct. The str
4670: 69 6e 67 20 69 6e 73 69 64 65 20 74 68 65 20 70  ing inside the p
4680: 61 72 65 6e 74 68 65 73 65 73 20 64 65 66 69 6e  arentheses defin
4690: 65 73 20 74 68 65 20 74 79 70 65 73 20 6f 66 0d  es the types of.
46a0: 0a 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 77  .the arguments w
46b0: 69 74 68 69 6e 20 74 68 65 20 73 74 72 75 63 74  ithin the struct
46c0: 2c 20 77 68 69 63 68 20 6d 61 79 20 63 6f 6e 73  , which may cons
46d0: 69 73 74 20 6f 66 20 61 20 63 6f 6d 62 69 6e 61  ist of a combina
46e0: 74 69 6f 6e 20 6f 66 20 61 6e 79 0d 0a 6f 66 20  tion of any..of 
46f0: 74 68 65 20 65 78 69 73 74 69 6e 67 20 74 79 70  the existing typ
4700: 65 73 2e 0d 0a 3c 64 74 3e 7b 23 23 7d 0d 0a 3c  es...<dt>{##}..<
4710: 64 64 3e 41 20 64 69 63 74 20 65 6e 74 72 79 2e  dd>A dict entry.
4720: 20 44 69 63 74 20 65 6e 74 72 69 65 73 20 6d 61   Dict entries ma
4730: 79 20 6f 6e 6c 79 20 6f 63 63 75 72 20 61 73 20  y only occur as 
4740: 61 72 72 61 79 20 65 6c 65 6d 65 6e 74 73 2e 20  array elements. 
4750: 54 68 65 0d 0a 66 69 72 73 74 20 23 20 73 70 65  The..first # spe
4760: 63 69 66 69 65 73 20 74 68 65 20 74 79 70 65 20  cifies the type 
4770: 6f 66 20 74 68 65 20 64 69 63 74 20 6b 65 79 2e  of the dict key.
4780: 20 54 68 69 73 20 6d 75 73 74 20 62 65 20 61 20   This must be a 
4790: 62 61 73 69 63 20 74 79 70 65 0d 0a 28 6f 6e 65  basic type..(one
47a0: 20 6f 66 20 27 73 62 79 6e 71 69 75 78 74 64 67   of 'sbynqiuxtdg
47b0: 6f 27 29 2e 20 54 68 65 20 73 65 63 6f 6e 64 20  o'). The second 
47c0: 23 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20  # specifies the 
47d0: 74 79 70 65 20 6f 66 20 74 68 65 20 64 69 63 74  type of the dict
47e0: 20 76 61 6c 75 65 2e 0d 0a 54 68 69 73 20 63 61   value...This ca
47f0: 6e 20 61 67 61 69 6e 20 62 65 20 61 6e 79 20 65  n again be any e
4800: 78 69 73 74 69 6e 67 20 74 79 70 65 2e 0d 0a 3c  xisting type...<
4810: 2f 64 6c 3e 0d 0a 0d 0a 3c 70 3e 0d 0a 0d 0a 41  /dl>....<p>....A
4820: 72 67 75 6d 65 6e 74 20 6c 69 73 74 73 20 6d 61  rgument lists ma
4830: 79 20 63 6f 6e 74 61 69 6e 20 6f 70 74 69 6f 6e  y contain option
4840: 61 6c 20 61 72 67 75 6d 65 6e 74 73 2e 20 54 68  al arguments. Th
4850: 65 20 75 73 65 20 6f 66 20 6f 70 74 69 6f 6e 61  e use of optiona
4860: 6c 20 61 72 67 75 6d 65 6e 74 73 0d 0a 77 69 6c  l arguments..wil
4870: 6c 20 72 65 73 75 6c 74 20 69 6e 20 6d 75 6c 74  l result in mult
4880: 69 70 6c 65 20 70 72 6f 74 6f 74 79 70 65 73 20  iple prototypes 
4890: 62 65 69 6e 67 20 72 65 70 6f 72 74 65 64 20 66  being reported f
48a0: 6f 72 20 74 68 65 20 6f 62 6a 65 63 74 20 77 68  or the object wh
48b0: 65 6e 0d 0a 69 6e 74 72 6f 73 70 65 63 74 65 64  en..introspected
48c0: 2e 20 54 68 65 20 73 70 65 63 69 61 6c 20 6d 65  . The special me
48d0: 61 6e 69 6e 67 20 6f 66 20 74 68 65 20 3c 62 20  aning of the <b 
48e0: 63 6c 61 73 73 3d 22 63 6f 6e 73 74 22 3e 61 72  class="const">ar
48f0: 67 73 3c 2f 62 3e 20 61 72 67 75 6d 65 6e 74 20  gs</b> argument 
4900: 64 6f 65 73 20 6e 6f 74 0d 0a 74 72 61 6e 73 6c  does not..transl
4910: 61 74 65 20 77 65 6c 6c 20 69 6e 20 74 68 65 20  ate well in the 
4920: 44 2d 42 75 73 20 63 6f 6e 63 65 70 74 2e 20 46  D-Bus concept. F
4930: 6f 72 20 74 68 61 74 20 72 65 61 73 6f 6e 20 75  or that reason u
4940: 73 69 6e 67 20 3c 69 3e 61 72 67 73 3c 2f 69 3e  sing <i>args</i>
4950: 20 61 73 20 74 68 65 0d 0a 6c 61 73 74 20 61 72   as the..last ar
4960: 67 75 6d 65 6e 74 20 6f 66 20 61 6e 20 61 72 67  gument of an arg
4970: 75 6d 65 6e 74 20 6c 69 73 74 20 73 68 6f 75 6c  ument list shoul
4980: 64 20 62 65 20 61 76 6f 69 64 65 64 2e 0d 0a 0d  d be avoided....
4990: 0a 3c 68 32 3e 53 54 41 4e 44 41 52 44 20 49 4e  .<h2>STANDARD IN
49a0: 54 45 52 46 41 43 45 53 3c 2f 68 32 3e 0d 0a 0d  TERFACES</h2>...
49b0: 0a 41 20 6e 75 6d 62 65 72 20 6f 66 20 73 74 61  .A number of sta
49c0: 6e 64 61 72 64 20 69 6e 74 65 72 66 61 63 65 73  ndard interfaces
49d0: 20 68 61 76 65 20 62 65 65 6e 20 64 65 66 69 6e   have been defin
49e0: 65 64 20 69 6e 20 74 68 65 20 44 2d 42 75 73 20  ed in the D-Bus 
49f0: 73 70 65 63 69 66 69 63 61 74 69 6f 6e 0d 0a 74  specification..t
4a00: 68 61 74 20 6d 61 79 20 62 65 20 75 73 65 66 75  hat may be usefu
4a10: 6c 20 61 63 72 6f 73 73 20 76 61 72 69 6f 75 73  l across various
4a20: 20 44 2d 42 75 73 20 61 70 70 6c 69 63 61 74 69   D-Bus applicati
4a30: 6f 6e 73 2e 0d 0a 0d 0a 3c 64 69 76 20 69 64 3d  ons.....<div id=
4a40: 22 73 75 62 73 65 63 74 69 6f 6e 31 22 20 63 6c  "subsection1" cl
4a50: 61 73 73 3d 22 73 75 62 73 65 63 74 69 6f 6e 22  ass="subsection"
4a60: 3e 3c 68 33 3e 6f 72 67 2e 66 72 65 65 64 65 73  ><h3>org.freedes
4a70: 6b 74 6f 70 2e 44 42 75 73 2e 50 65 65 72 3c 2f  ktop.DBus.Peer</
4a80: 68 33 3e 0d 0a 3c 64 6c 3e 0d 0a 3c 64 74 3e 3c  h3>..<dl>..<dt><
4a90: 65 6d 3e 6f 72 67 2e 66 72 65 65 64 65 73 6b 74  em>org.freedeskt
4aa0: 6f 70 2e 44 42 75 73 2e 50 65 65 72 2e 50 69 6e  op.DBus.Peer.Pin
4ab0: 67 3c 2f 65 6d 3e 0d 0a 3c 64 64 3e 52 65 74 75  g</em>..<dd>Retu
4ac0: 72 6e 73 20 61 6e 20 65 6d 70 74 79 20 72 65 73  rns an empty res
4ad0: 70 6f 6e 73 65 2e 0d 0a 3c 64 74 3e 3c 65 6d 3e  ponse...<dt><em>
4ae0: 6f 72 67 2e 66 72 65 65 64 65 73 6b 74 6f 70 2e  org.freedesktop.
4af0: 44 42 75 73 2e 50 65 65 72 2e 47 65 74 4d 61 63  DBus.Peer.GetMac
4b00: 68 69 6e 65 49 64 3c 2f 65 6d 3e 0d 0a 3c 64 64  hineId</em>..<dd
4b10: 3e 52 65 74 75 72 6e 73 20 61 20 68 65 78 2d 65  >Returns a hex-e
4b20: 6e 63 6f 64 65 64 20 55 55 49 44 20 72 65 70 72  ncoded UUID repr
4b30: 65 73 65 6e 74 69 6e 67 20 74 68 65 20 69 64 65  esenting the ide
4b40: 6e 74 69 74 79 20 6f 66 20 74 68 65 20 6d 61 63  ntity of the mac
4b50: 68 69 6e 65 20 74 68 65 0d 0a 61 70 70 6c 69 63  hine the..applic
4b60: 61 74 69 6f 6e 20 69 73 20 72 75 6e 6e 69 6e 67  ation is running
4b70: 20 6f 6e 2e 0d 0a 3c 2f 64 6c 3e 0d 0a 0d 0a 3c   on...</dl>....<
4b80: 2f 64 69 76 3e 0d 0a 3c 64 69 76 20 69 64 3d 22  /div>..<div id="
4b90: 73 75 62 73 65 63 74 69 6f 6e 32 22 20 63 6c 61  subsection2" cla
4ba0: 73 73 3d 22 73 75 62 73 65 63 74 69 6f 6e 22 3e  ss="subsection">
4bb0: 3c 68 33 3e 6f 72 67 2e 66 72 65 65 64 65 73 6b  <h3>org.freedesk
4bc0: 74 6f 70 2e 44 42 75 73 2e 49 6e 74 72 6f 73 70  top.DBus.Introsp
4bd0: 65 63 74 61 62 6c 65 3c 2f 68 33 3e 0d 0a 3c 64  ectable</h3>..<d
4be0: 6c 3e 0d 0a 3c 64 74 3e 3c 65 6d 3e 6f 72 67 2e  l>..<dt><em>org.
4bf0: 66 72 65 65 64 65 73 6b 74 6f 70 2e 44 42 75 73  freedesktop.DBus
4c00: 2e 49 6e 74 72 6f 73 70 65 63 74 61 62 6c 65 2e  .Introspectable.
4c10: 49 6e 74 72 6f 73 70 65 63 74 3c 2f 65 6d 3e 0d  Introspect</em>.
4c20: 0a 3c 64 64 3e 52 65 74 75 72 6e 73 20 61 6e 20  .<dd>Returns an 
4c30: 58 4d 4c 20 64 65 73 63 72 69 70 74 69 6f 6e 20  XML description 
4c40: 6f 66 20 74 68 65 20 44 2d 42 75 73 20 73 74 72  of the D-Bus str
4c50: 75 63 74 75 72 65 2c 20 69 6e 63 6c 75 64 69 6e  ucture, includin
4c60: 67 20 69 74 73 20 69 6e 74 65 72 66 61 63 65 73  g its interfaces
4c70: 0d 0a 28 77 69 74 68 20 73 69 67 6e 61 6c 73 20  ..(with signals 
4c80: 61 6e 64 20 6d 65 74 68 6f 64 73 29 2c 20 6f 62  and methods), ob
4c90: 6a 65 63 74 73 20 62 65 6c 6f 77 20 69 74 20 69  jects below it i
4ca0: 6e 20 74 68 65 20 6f 62 6a 65 63 74 20 70 61 74  n the object pat
4cb0: 68 20 74 72 65 65 2c 20 61 6e 64 0d 0a 69 74 73  h tree, and..its
4cc0: 20 70 72 6f 70 65 72 74 69 65 73 2e 0d 0a 3c 2f   properties...</
4cd0: 64 6c 3e 0d 0a 0d 0a 3c 2f 64 69 76 3e 0d 0a 3c  dl>....</div>..<
4ce0: 64 69 76 20 69 64 3d 22 73 75 62 73 65 63 74 69  div id="subsecti
4cf0: 6f 6e 33 22 20 63 6c 61 73 73 3d 22 73 75 62 73  on3" class="subs
4d00: 65 63 74 69 6f 6e 22 3e 3c 68 33 3e 6f 72 67 2e  ection"><h3>org.
4d10: 66 72 65 65 64 65 73 6b 74 6f 70 2e 44 42 75 73  freedesktop.DBus
4d20: 2e 50 72 6f 70 65 72 74 69 65 73 3c 2f 68 33 3e  .Properties</h3>
4d30: 0d 0a 3c 64 6c 3e 0d 0a 3c 64 74 3e 3c 65 6d 3e  ..<dl>..<dt><em>
4d40: 6f 72 67 2e 66 72 65 65 64 65 73 6b 74 6f 70 2e  org.freedesktop.
4d50: 44 42 75 73 2e 50 72 6f 70 65 72 74 69 65 73 2e  DBus.Properties.
4d60: 47 65 74 3c 2f 65 6d 3e 0d 0a 3c 64 64 3e 52 65  Get</em>..<dd>Re
4d70: 74 75 72 6e 73 20 74 68 65 20 76 61 6c 75 65 20  turns the value 
4d80: 6f 66 20 74 68 65 20 73 70 65 63 69 66 69 65 64  of the specified
4d90: 20 70 72 6f 70 65 72 74 79 2e 20 4f 6e 6c 79 20   property. Only 
4da0: 76 61 6c 69 64 20 66 6f 72 20 70 72 6f 70 65 72  valid for proper
4db0: 74 69 65 73 20 77 69 74 68 0d 0a 72 65 61 64 20  ties with..read 
4dc0: 6f 72 20 72 65 61 64 77 72 69 74 65 20 61 63 63  or readwrite acc
4dd0: 65 73 73 2e 0d 0a 3c 64 74 3e 3c 65 6d 3e 6f 72  ess...<dt><em>or
4de0: 67 2e 66 72 65 65 64 65 73 6b 74 6f 70 2e 44 42  g.freedesktop.DB
4df0: 75 73 2e 50 72 6f 70 65 72 74 69 65 73 2e 53 65  us.Properties.Se
4e00: 74 3c 2f 65 6d 3e 0d 0a 3c 64 64 3e 43 68 61 6e  t</em>..<dd>Chan
4e10: 67 65 73 20 74 68 65 20 76 61 6c 75 65 20 6f 66  ges the value of
4e20: 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 70   the specified p
4e30: 72 6f 70 65 72 74 79 2e 20 4f 6e 6c 79 20 76 61  roperty. Only va
4e40: 6c 69 64 20 66 6f 72 20 70 72 6f 70 65 72 74 69  lid for properti
4e50: 65 73 20 77 69 74 68 0d 0a 77 72 69 74 65 20 6f  es with..write o
4e60: 72 20 72 65 61 64 77 72 69 74 65 20 61 63 63 65  r readwrite acce
4e70: 73 73 2e 0d 0a 3c 64 74 3e 3c 65 6d 3e 6f 72 67  ss...<dt><em>org
4e80: 2e 66 72 65 65 64 65 73 6b 74 6f 70 2e 44 42 75  .freedesktop.DBu
4e90: 73 2e 50 72 6f 70 65 72 74 69 65 73 2e 47 65 74  s.Properties.Get
4ea0: 41 6c 6c 3c 2f 65 6d 3e 0d 0a 3c 64 64 3e 52 65  All</em>..<dd>Re
4eb0: 74 75 72 6e 73 20 61 20 64 69 63 74 20 6f 66 20  turns a dict of 
4ec0: 61 6c 6c 20 70 72 6f 70 65 72 74 69 65 73 20 77  all properties w
4ed0: 69 74 68 20 72 65 61 64 20 6f 72 20 72 65 61 64  ith read or read
4ee0: 77 72 69 74 65 20 61 63 63 65 73 73 2e 0d 0a 3c  write access...<
4ef0: 64 74 3e 3c 65 6d 3e 6f 72 67 2e 66 72 65 65 64  dt><em>org.freed
4f00: 65 73 6b 74 6f 70 2e 44 42 75 73 2e 50 72 6f 70  esktop.DBus.Prop
4f10: 65 72 74 69 65 73 2e 50 72 6f 70 65 72 74 69 65  erties.Propertie
4f20: 73 43 68 61 6e 67 65 64 3c 2f 65 6d 3e 0d 0a 3c  sChanged</em>..<
4f30: 64 64 3e 54 68 69 73 20 73 69 67 6e 61 6c 20 69  dd>This signal i
4f40: 73 20 65 6d 69 74 74 65 64 20 77 68 65 6e 20 6f  s emitted when o
4f50: 6e 65 20 6f 72 20 6d 6f 72 65 20 70 72 6f 70 65  ne or more prope
4f60: 72 74 69 65 73 20 63 68 61 6e 67 65 2e 0d 0a 54  rties change...T
4f70: 68 65 20 62 65 68 61 76 69 6f 72 20 66 6f 72 20  he behavior for 
4f80: 69 6e 64 69 76 69 64 75 61 6c 20 70 72 6f 70 65  individual prope
4f90: 72 74 69 65 73 20 6d 61 79 20 62 65 20 69 6e 66  rties may be inf
4fa0: 6c 75 65 6e 63 65 64 20 62 79 20 74 68 65 69 72  luenced by their
4fb0: 0d 0a 50 72 6f 70 65 72 74 79 2e 45 6d 69 74 73  ..Property.Emits
4fc0: 43 68 61 6e 67 65 64 53 69 67 6e 61 6c 20 61 74  ChangedSignal at
4fd0: 74 72 69 62 75 74 65 2e 20 53 65 65 20 3c 62 3e  tribute. See <b>
4fe0: 41 54 54 52 49 42 55 54 45 53 3c 2f 62 3e 20 62  ATTRIBUTES</b> b
4ff0: 65 6c 6f 77 2e 0d 0a 0d 0a 3c 70 3e 0d 0a 0d 0a  elow.....<p>....
5000: 41 6c 6c 20 61 70 70 6c 69 63 61 62 6c 65 20 70  All applicable p
5010: 72 6f 70 65 72 74 79 20 63 68 61 6e 67 65 73 20  roperty changes 
5020: 61 72 65 20 63 6f 6c 6c 65 63 74 65 64 20 61 6e  are collected an
5030: 64 20 72 65 70 6f 72 74 65 64 20 76 69 61 20 61  d reported via a
5040: 20 73 69 6e 67 6c 65 0d 0a 3c 65 6d 3e 50 72 6f   single..<em>Pro
5050: 70 65 72 74 69 65 73 43 68 61 6e 67 65 64 3c 2f  pertiesChanged</
5060: 65 6d 3e 20 73 69 67 6e 61 6c 20 70 65 72 20 70  em> signal per p
5070: 61 74 68 2f 69 6e 74 65 72 66 61 63 65 2f 62 75  ath/interface/bu
5080: 73 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 77 68  s combination wh
5090: 65 6e 20 74 68 65 0d 0a 61 70 70 6c 69 63 61 74  en the..applicat
50a0: 69 6f 6e 20 65 6e 74 65 72 73 20 74 68 65 20 69  ion enters the i
50b0: 64 6c 65 20 6c 6f 6f 70 2e 20 54 68 65 20 73 69  dle loop. The si
50c0: 67 6e 61 6c 20 6d 61 79 20 61 6c 73 6f 20 62 65  gnal may also be
50d0: 20 67 65 6e 65 72 61 74 65 64 20 6f 6e 20 64 65   generated on de
50e0: 6d 61 6e 64 0d 0a 76 69 61 20 74 68 65 20 63 6f  mand..via the co
50f0: 6d 6d 61 6e 64 3a 0d 0a 3c 64 6c 3e 0d 0a 3c 64  mmand:..<dl>..<d
5100: 6c 3e 0d 0a 3c 64 74 3e 3c 62 3e 64 62 69 66 3c  l>..<dt><b>dbif<
5110: 2f 62 3e 20 3c 62 3e 67 65 6e 65 72 61 74 65 3c  /b> <b>generate<
5120: 2f 62 3e 20 50 72 6f 70 65 72 74 69 65 73 43 68  /b> PropertiesCh
5130: 61 6e 67 65 64 20 3c 69 3e 70 61 74 68 3c 2f 69  anged <i>path</i
5140: 3e 20 3f 3c 69 3e 69 6e 74 65 72 66 61 63 65 3c  > ?<i>interface<
5150: 2f 69 3e 3f 20 3f 3c 69 3e 62 75 73 3c 2f 69 3e  /i>? ?<i>bus</i>
5160: 3f 0d 0a 3c 64 64 3e 0d 0a 3c 2f 64 6c 3e 0d 0a  ?..<dd>..</dl>..
5170: 3c 2f 64 6c 3e 0d 0a 0d 0a 3c 70 3e 0d 0a 0d 0a  </dl>....<p>....
5180: 54 68 65 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74  The functionalit
5190: 79 20 66 6f 72 20 61 75 74 6f 6d 61 74 69 63 61  y for automatica
51a0: 6c 6c 79 20 70 6f 70 75 6c 61 74 69 6e 67 20 74  lly populating t
51b0: 68 69 73 20 73 69 67 6e 61 6c 20 69 73 20 69 6d  his signal is im
51c0: 70 6c 65 6d 65 6e 74 65 64 0d 0a 76 69 61 20 76  plemented..via v
51d0: 61 72 69 61 62 6c 65 20 74 72 61 63 65 73 2e 20  ariable traces. 
51e0: 49 66 20 74 68 69 73 20 66 65 61 74 75 72 65 20  If this feature 
51f0: 69 73 20 6e 6f 74 20 6e 65 65 64 65 64 2c 20 79  is not needed, y
5200: 6f 75 20 63 61 6e 20 61 76 6f 69 64 20 74 68 65  ou can avoid the
5210: 0d 0a 61 73 73 6f 63 69 61 74 65 64 20 6f 76 65  ..associated ove
5220: 72 68 65 61 64 20 62 79 20 72 65 64 65 66 69 6e  rhead by redefin
5230: 69 6e 67 20 74 68 65 20 50 72 6f 70 65 72 74 69  ing the Properti
5240: 65 73 43 68 61 6e 67 65 64 20 73 69 67 6e 61 6c  esChanged signal
5250: 20 69 64 20 74 6f 20 79 6f 75 72 0d 0a 6f 77 6e   id to your..own
5260: 20 76 65 72 73 69 6f 6e 2e 0d 0a 54 6f 20 63 6f   version...To co
5270: 6d 70 6c 65 74 65 6c 79 20 67 65 74 20 72 69 64  mpletely get rid
5280: 20 6f 66 20 74 68 65 20 73 69 67 6e 61 6c 2c 20   of the signal, 
5290: 79 6f 75 20 63 61 6e 20 75 73 65 20 74 68 65 20  you can use the 
52a0: 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 20 73  following code s
52b0: 6e 69 70 70 65 74 0d 0a 62 65 66 6f 72 65 20 64  nippet..before d
52c0: 65 66 69 6e 69 6e 67 20 61 6e 79 20 6f 74 68 65  efining any othe
52d0: 72 20 70 61 72 74 20 6f 66 20 79 6f 75 72 20 64  r part of your d
52e0: 62 75 73 20 69 6e 74 65 72 66 61 63 65 3a 0d 0a  bus interface:..
52f0: 0d 0a 3c 70 72 65 20 63 6c 61 73 73 3d 22 65 78  ..<pre class="ex
5300: 61 6d 70 6c 65 22 3e 0d 0a 70 61 63 6b 61 67 65  ample">..package
5310: 20 72 65 71 75 69 72 65 20 64 62 69 66 0d 0a 64   require dbif..d
5320: 62 69 66 20 73 69 67 6e 61 6c 20 2d 69 64 20 50  bif signal -id P
5330: 72 6f 70 65 72 74 69 65 73 43 68 61 6e 67 65 64  ropertiesChanged
5340: 20 2f 20 66 6f 6f 62 61 72 0d 0a 64 62 69 66 20   / foobar..dbif 
5350: 64 65 6c 65 74 65 20 2f 0d 0a 3c 2f 70 72 65 3e  delete /..</pre>
5360: 0d 0a 3c 2f 64 6c 3e 0d 0a 0d 0a 3c 68 32 3e 41  ..</dl>....<h2>A
5370: 54 54 52 49 42 55 54 45 53 3c 2f 68 32 3e 0d 0a  TTRIBUTES</h2>..
5380: 0d 0a 41 74 74 72 69 62 75 74 65 73 20 6d 61 79  ..Attributes may
5390: 20 62 65 20 73 70 65 63 69 66 69 65 64 20 61 73   be specified as
53a0: 20 61 20 6c 69 73 74 20 6f 66 20 6b 65 79 2f 76   a list of key/v
53b0: 61 6c 75 65 20 70 61 69 72 73 20 66 6f 72 20 6d  alue pairs for m
53c0: 65 74 68 6f 64 73 2c 0d 0a 73 69 67 6e 61 6c 73  ethods,..signals
53d0: 2c 20 61 6e 64 20 70 72 6f 70 65 72 74 69 65 73  , and properties
53e0: 2e 20 54 68 65 73 65 20 61 74 74 72 69 62 75 74  . These attribut
53f0: 65 73 20 61 72 65 20 72 65 70 6f 72 74 65 64 20  es are reported 
5400: 76 69 61 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 20  via annotations 
5410: 69 6e 0d 0a 74 68 65 20 58 4d 4c 20 64 65 73 63  in..the XML desc
5420: 72 69 70 74 69 6f 6e 20 6f 62 74 61 69 6e 65 64  ription obtained
5430: 20 76 69 61 20 61 6e 20 3c 65 6d 3e 49 6e 74 72   via an <em>Intr
5440: 6f 73 70 65 63 74 3c 2f 65 6d 3e 20 6d 65 74 68  ospect</em> meth
5450: 6f 64 20 63 61 6c 6c 2e 0d 0a 41 6e 6e 6f 74 61  od call...Annota
5460: 74 69 6f 6e 73 20 6d 61 79 20 62 65 20 75 73 65  tions may be use
5470: 64 20 74 6f 20 70 72 6f 76 69 64 65 20 68 69 6e  d to provide hin
5480: 74 73 20 74 6f 20 75 73 65 72 73 20 6f 66 20 79  ts to users of y
5490: 6f 75 72 20 41 50 49 2e 0d 0a 0d 0a 3c 70 3e 0d  our API.....<p>.
54a0: 0a 0d 0a 53 6f 6d 65 20 77 65 6c 6c 2d 6b 6e 6f  ...Some well-kno
54b0: 77 20 61 74 74 72 69 62 75 74 65 73 20 61 72 65  w attributes are
54c0: 20 28 64 65 66 61 75 6c 74 2c 20 69 66 20 61 6e   (default, if an
54d0: 79 2c 20 73 68 6f 77 6e 20 69 6e 20 69 74 61 6c  y, shown in ital
54e0: 69 63 73 29 3a 0d 0a 3c 64 6c 3e 0d 0a 3c 64 74  ics):..<dl>..<dt
54f0: 3e 44 65 73 63 72 69 70 74 69 6f 6e 0d 0a 3c 64  >Description..<d
5500: 64 3e 50 72 6f 76 69 64 65 20 61 20 73 68 6f 72  d>Provide a shor
5510: 74 20 31 2d 6c 69 6e 65 20 64 65 73 63 72 69 70  t 1-line descrip
5520: 74 69 6f 6e 20 6f 66 20 74 68 65 20 6d 65 74 68  tion of the meth
5530: 6f 64 2c 20 73 69 67 6e 61 6c 20 6f 72 20 70 72  od, signal or pr
5540: 6f 70 65 72 74 79 2e 0d 0a 3c 64 74 3e 44 65 70  operty...<dt>Dep
5550: 72 65 63 61 74 65 64 0d 0a 3c 64 64 3e 49 6e 64  recated..<dd>Ind
5560: 69 63 61 74 65 20 74 68 61 74 20 74 68 69 73 20  icate that this 
5570: 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63  method is deprec
5580: 61 74 65 64 20 28 74 72 75 65 2c 20 3c 65 6d 3e  ated (true, <em>
5590: 66 61 6c 73 65 3c 2f 65 6d 3e 29 2e 0d 0a 3c 64  false</em>)...<d
55a0: 74 3e 4d 65 74 68 6f 64 2e 4e 6f 52 65 70 6c 79  t>Method.NoReply
55b0: 0d 0a 3c 64 64 3e 54 68 69 73 20 6d 65 74 68 6f  ..<dd>This metho
55c0: 64 20 6d 61 79 20 6e 6f 74 20 70 72 6f 64 75 63  d may not produc
55d0: 65 20 61 20 72 65 70 6c 79 20 28 74 72 75 65 2c  e a reply (true,
55e0: 20 3c 65 6d 3e 66 61 6c 73 65 3c 2f 65 6d 3e 29   <em>false</em>)
55f0: 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 69 66  . For example if
5600: 20 79 6f 75 0d 0a 70 72 6f 76 69 64 65 20 61 20   you..provide a 
5610: 6d 65 74 68 6f 64 20 74 6f 20 65 78 69 74 20 79  method to exit y
5620: 6f 75 72 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e  our application.
5630: 0d 0a 3c 64 74 3e 4d 65 74 68 6f 64 2e 45 72 72  ..<dt>Method.Err
5640: 6f 72 0d 0a 3c 64 64 3e 54 68 69 73 20 6d 65 74  or..<dd>This met
5650: 68 6f 64 20 6d 61 79 20 74 68 72 6f 77 20 74 68  hod may throw th
5660: 65 20 69 6e 64 69 63 61 74 65 64 20 45 78 63 65  e indicated Exce
5670: 70 74 69 6f 6e 20 69 6e 20 61 64 64 69 74 69 6f  ption in additio
5680: 6e 20 74 6f 20 74 68 65 20 73 74 61 6e 64 61 72  n to the standar
5690: 64 0d 0a 6f 6e 65 73 2e 0d 0a 3c 64 74 3e 50 72  d..ones...<dt>Pr
56a0: 6f 70 65 72 74 79 2e 45 6d 69 74 73 43 68 61 6e  operty.EmitsChan
56b0: 67 65 64 53 69 67 6e 61 6c 0d 0a 3c 64 64 3e 49  gedSignal..<dd>I
56c0: 6e 64 69 63 61 74 65 73 20 77 68 65 74 68 65 72  ndicates whether
56d0: 20 61 20 63 68 61 6e 67 65 20 74 6f 20 74 68 65   a change to the
56e0: 20 70 72 6f 70 65 72 74 79 20 69 73 20 72 65 70   property is rep
56f0: 6f 72 74 65 64 20 76 69 61 20 74 68 65 20 0d 0a  orted via the ..
5700: 3c 65 6d 3e 50 72 6f 70 65 72 74 69 65 73 43 68  <em>PropertiesCh
5710: 61 6e 67 65 64 3c 2f 65 6d 3e 20 73 69 67 6e 61  anged</em> signa
5720: 6c 20 28 3c 65 6d 3e 74 72 75 65 3c 2f 65 6d 3e  l (<em>true</em>
5730: 2c 20 66 61 6c 73 65 2c 20 69 6e 76 61 6c 69 64  , false, invalid
5740: 61 74 65 73 2c 20 63 6f 6e 73 74 29 2e 0d 0a 3c  ates, const)...<
5750: 70 3e 0d 0a 54 68 65 20 76 61 6c 75 65 20 6f 66  p>..The value of
5760: 20 74 68 69 73 20 61 74 74 72 69 62 75 74 65 2c   this attribute,
5770: 20 69 66 20 73 70 65 63 69 66 69 65 64 2c 20 69   if specified, i
5780: 73 20 61 6c 73 6f 20 75 73 65 64 20 69 6e 74 65  s also used inte
5790: 72 6e 61 6c 6c 79 20 74 6f 0d 0a 69 6e 66 6c 75  rnally to..influ
57a0: 65 6e 63 65 20 74 68 65 20 61 75 74 6f 6d 61 74  ence the automat
57b0: 69 63 20 67 65 6e 65 72 61 74 69 6f 6e 20 6f 66  ic generation of
57c0: 20 74 68 65 20 3c 65 6d 3e 50 72 6f 70 65 72 74   the <em>Propert
57d0: 69 65 73 43 68 61 6e 67 65 64 3c 2f 65 6d 3e 20  iesChanged</em> 
57e0: 73 69 67 6e 61 6c 2e 0d 0a 3c 64 6c 3e 0d 0a 3c  signal...<dl>..<
57f0: 64 74 3e 74 72 75 65 0d 0a 3c 64 64 3e 54 68 65  dt>true..<dd>The
5800: 20 73 69 67 6e 61 6c 20 69 73 20 65 6d 69 74 74   signal is emitt
5810: 65 64 20 77 69 74 68 20 74 68 65 20 76 61 6c 75  ed with the valu
5820: 65 20 69 6e 63 6c 75 64 65 64 2e 20 54 68 69 73  e included. This
5830: 20 69 73 20 74 68 65 20 64 65 66 61 75 6c 74 2e   is the default.
5840: 0d 0a 3c 64 74 3e 66 61 6c 73 65 0d 0a 3c 64 64  ..<dt>false..<dd
5850: 3e 54 68 65 20 73 69 67 6e 61 6c 20 69 73 20 6e  >The signal is n
5860: 6f 74 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79  ot automatically
5870: 20 65 6d 69 74 74 65 64 20 6f 6e 20 61 20 63 68   emitted on a ch
5880: 61 6e 67 65 2e 0d 0a 50 61 72 74 69 65 73 20 69  ange...Parties i
5890: 6e 74 65 72 65 73 74 65 64 20 69 6e 20 74 68 65  nterested in the
58a0: 20 70 72 6f 70 65 72 74 79 20 73 68 6f 75 6c 64   property should
58b0: 20 6f 62 74 61 69 6e 20 69 74 20 65 76 65 72 79   obtain it every
58c0: 20 74 69 6d 65 20 74 68 65 79 20 6e 65 65 64 20   time they need 
58d0: 69 74 2e 0d 0a 54 68 65 20 61 70 70 6c 69 63 61  it...The applica
58e0: 74 69 6f 6e 20 63 6f 64 65 20 6d 61 79 20 73 74  tion code may st
58f0: 69 6c 6c 20 65 6d 69 74 20 61 20 3c 65 6d 3e 50  ill emit a <em>P
5900: 72 6f 70 65 72 74 69 65 73 43 68 61 6e 67 65 64  ropertiesChanged
5910: 3c 2f 65 6d 3e 20 73 69 67 6e 61 6c 0d 0a 77 68  </em> signal..wh
5920: 65 6e 65 76 65 72 20 64 65 73 69 72 65 64 2e 0d  enever desired..
5930: 0a 54 68 69 73 20 6d 61 79 20 62 65 20 75 73 65  .This may be use
5940: 64 20 66 6f 72 20 70 72 6f 70 65 72 74 69 65 73  d for properties
5950: 20 74 68 61 74 20 61 72 65 20 69 6d 70 6c 65 6d   that are implem
5960: 65 6e 74 65 64 20 77 69 74 68 20 61 20 72 65 61  ented with a rea
5970: 64 20 74 72 61 63 65 20 6f 6e 0d 0a 74 68 65 20  d trace on..the 
5980: 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 2e  global variable.
5990: 0d 0a 3c 64 74 3e 69 6e 76 61 6c 69 64 61 74 65  ..<dt>invalidate
59a0: 73 0d 0a 3c 64 64 3e 54 68 65 20 73 69 67 6e 61  s..<dd>The signa
59b0: 6c 20 69 73 20 65 6d 69 74 74 65 64 20 62 75 74  l is emitted but
59c0: 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 6e 6f   the value is no
59d0: 74 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68  t included in th
59e0: 65 20 73 69 67 6e 61 6c 2e 20 54 68 69 73 20 6d  e signal. This m
59f0: 61 79 0d 0a 62 65 20 75 73 65 66 75 6c 20 66 6f  ay..be useful fo
5a00: 72 20 70 72 6f 70 65 72 74 69 65 73 20 74 68 61  r properties tha
5a10: 74 20 63 68 61 6e 67 65 20 6d 75 63 68 20 6d 6f  t change much mo
5a20: 72 65 20 66 72 65 71 75 65 6e 74 6c 79 20 74 68  re frequently th
5a30: 61 6e 20 74 68 65 79 20 61 72 65 0d 0a 65 78 70  an they are..exp
5a40: 65 63 74 65 64 20 74 6f 20 62 65 20 71 75 65 72  ected to be quer
5a50: 69 65 64 2c 20 61 6e 64 2f 6f 72 20 68 61 76 65  ied, and/or have
5a60: 20 6c 61 72 67 65 20 76 61 6c 75 65 73 2e 0d 0a   large values...
5a70: 3c 64 74 3e 63 6f 6e 73 74 0d 0a 3c 64 64 3e 54  <dt>const..<dd>T
5a80: 68 65 20 70 72 6f 70 65 72 74 79 20 6e 65 76 65  he property neve
5a90: 72 20 63 68 61 6e 67 65 73 20 69 74 73 20 76 61  r changes its va
5aa0: 6c 75 65 20 64 75 72 69 6e 67 20 74 68 65 20 6c  lue during the l
5ab0: 69 66 65 74 69 6d 65 20 6f 66 20 74 68 65 20 6f  ifetime of the o
5ac0: 62 6a 65 63 74 20 69 74 0d 0a 62 65 6c 6f 6e 67  bject it..belong
5ad0: 73 20 74 6f 2c 20 61 6e 64 20 68 65 6e 63 65 20  s to, and hence 
5ae0: 74 68 65 20 73 69 67 6e 61 6c 20 69 73 20 6e 65  the signal is ne
5af0: 76 65 72 20 65 6d 69 74 74 65 64 20 66 6f 72 20  ver emitted for 
5b00: 69 74 2e 0d 0a 3c 2f 64 6c 3e 0d 0a 3c 2f 64 6c  it...</dl>..</dl
5b10: 3e 0d 0a 0d 0a 3c 2f 64 69 76 3e 0d 0a 0a 5a 20  >....</div>...Z 
5b20: 66 65 64 34 35 63 34 34 61 66 61 35 30 32 38 63  fed45c44afa5028c
5b30: 30 37 36 38 39 66 37 62 39 33 34 34 66 64 35 34  07689f7b9344fd54
5b40: 0a                                               .