From 48f99d7c069e07671e570161aecbe109af1285e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Fri, 24 Apr 2020 12:08:10 +0200 Subject: [PATCH] man: use --bus-introspect to autogenerate dbus api docs This has the advantage that the executables are always in place and we don't need any units to exist on the bus, so we can eventually hook this up into a normal build system. (Probably as a build time check.) --- man/org.freedesktop.hostname1.xml | 19 +++- man/org.freedesktop.import1.xml | 34 +++++-- man/org.freedesktop.locale1.xml | 20 +++- man/org.freedesktop.login1.xml | 151 +++++++++++++++++++++++++---- man/org.freedesktop.machine1.xml | 36 +++++-- man/org.freedesktop.resolve1.xml | 38 +++++--- man/org.freedesktop.systemd1.xml | 155 ++++++++++++++---------------- man/org.freedesktop.timedate1.xml | 20 +++- 8 files changed, 325 insertions(+), 148 deletions(-) diff --git a/man/org.freedesktop.hostname1.xml b/man/org.freedesktop.hostname1.xml index 406a6a369e..d17d9a5521 100644 --- a/man/org.freedesktop.hostname1.xml +++ b/man/org.freedesktop.hostname1.xml @@ -38,11 +38,7 @@ The service exposes the following interfaces on the bus: - -$ gdbus introspect --system \ - --dest org.freedesktop.hostname1 \ - --object-path /org/freedesktop/hostname1 - + node /org/freedesktop/hostname1 { interface org.freedesktop.hostname1 { methods: @@ -349,6 +345,19 @@ node /org/freedesktop/hostname1 { the usual interface versioning guidelines. + + Examples + + + Introspect <interfacename>org.freedesktop.hostname1</interfacename> on the bus + + $ gdbus introspect --system \ + --dest org.freedesktop.hostname1 \ + --object-path /org/freedesktop/hostname1 + + + + See also diff --git a/man/org.freedesktop.import1.xml b/man/org.freedesktop.import1.xml index 4a425f1ac3..1414cc15d7 100644 --- a/man/org.freedesktop.import1.xml +++ b/man/org.freedesktop.import1.xml @@ -46,11 +46,7 @@ The service exposes the following interfaces on the Manager object on the bus: - -$ gdbus introspect --system \ - --dest org.freedesktop.import1 \ - --object-path /org/freedesktop/import1 - + node /org/freedesktop/import1 { interface org.freedesktop.import1.Manager { methods: @@ -238,11 +234,7 @@ node /org/freedesktop/import1 { The Transfer Object - -$ gdbus introspect --system \ - --dest org.freedesktop.import1 \ - --object-path /org/freedesktop/import1/transfer/_1 - + node /org/freedesktop/import1/transfer/_1 { interface org.freedesktop.import1.Transfer { methods: @@ -325,6 +317,28 @@ node /org/freedesktop/import1/transfer/_1 { + + Examples + + + Introspect <interfacename>org.freedesktop.import1.Manager</interfacename> on the bus + + $ gdbus introspect --system \ + --dest org.freedesktop.import1 \ + --object-path /org/freedesktop/import1 + + + + + Introspect <interfacename>org.freedesktop.import1.Transfer</interfacename> on the bus + + $ gdbus introspect --system \ + --dest org.freedesktop.import1 \ + --object-path /org/freedesktop/import1/transfer/_1 + + + + Versioning diff --git a/man/org.freedesktop.locale1.xml b/man/org.freedesktop.locale1.xml index f15945e766..3956eaf8a7 100644 --- a/man/org.freedesktop.locale1.xml +++ b/man/org.freedesktop.locale1.xml @@ -34,11 +34,7 @@ The service exposes the following interfaces on the bus: - -$ gdbus introspect --system \ - --dest org.freedesktop.locale1 \ - --object-path /org/freedesktop/locale1 - + node /org/freedesktop/locale1 { interface org.freedesktop.locale1 { methods: @@ -169,6 +165,20 @@ node /org/freedesktop/locale1 { + + Examples + + + Introspect <interfacename>org.freedesktop.locale1</interfacename> on the bus + + +$ gdbus introspect --system \ + --dest org.freedesktop.locale1 \ + --object-path /org/freedesktop/locale1 + + + + Versioning diff --git a/man/org.freedesktop.login1.xml b/man/org.freedesktop.login1.xml index aedf5d7fc3..8de6cf513d 100644 --- a/man/org.freedesktop.login1.xml +++ b/man/org.freedesktop.login1.xml @@ -38,11 +38,7 @@ The service exposes the following interfaces on the Manager object on the bus: - -$ gdbus introspect --system \ - --dest org.freedesktop.login1 \ - --object-path /org/freedesktop/login1 - + node /org/freedesktop/login1 { interface org.freedesktop.login1.Manager { methods: @@ -741,10 +737,7 @@ node /org/freedesktop/login1 { Seat Objects - -$ gdbus introspect --system --dest org.freedesktop.login1 \ - --object-path /org/freedesktop/login1/seat/seat0 - + node /org/freedesktop/login1/seat/seat0 { interface org.freedesktop.login1.Seat { methods: @@ -856,10 +849,7 @@ node /org/freedesktop/login1/seat/seat0 { User Objects - -$ gdbus introspect --system --dest org.freedesktop.login1 \ - --object-path /org/freedesktop/login1/user/_1000 - + node /org/freedesktop/login1/user/_1000 { interface org.freedesktop.login1.User { methods: @@ -1004,11 +994,8 @@ node /org/freedesktop/login1/user/_1000 { Session Objects - -$ gdbus introspect --system --dest org.freedesktop.login1 \ - --object-path /org/freedesktop/login1/session/45 - -node /org/freedesktop/login1/session/45 { + +node /org/freedesktop/login1/session/1 { interface org.freedesktop.login1.Session { methods: Terminate(); @@ -1093,6 +1080,98 @@ node /org/freedesktop/login1/session/45 { }; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Methods @@ -1257,6 +1336,42 @@ node /org/freedesktop/login1/session/45 { + + Examples + + + Introspect <interfacename>org.freedesktop.login1.Manager</interfacename> on the bus + + $ gdbus introspect --system --dest org.freedesktop.login1 \ + --object-path /org/freedesktop/login1 + + + + + Introspect <interfacename>org.freedesktop.login1.Seat</interfacename> on the bus + + $ gdbus introspect --system --dest org.freedesktop.login1 \ + --object-path /org/freedesktop/login1/seat/seat0 + + + + + Introspect <interfacename>org.freedesktop.login1.User</interfacename> on the bus + + $ gdbus introspect --system --dest org.freedesktop.login1 \ + --object-path /org/freedesktop/login1/user/_1000 + + + + + Introspect <interfacename>org.freedesktop.login1.Session</interfacename> on the bus + + $ gdbus introspect --system --dest org.freedesktop.login1 \ + --object-path /org/freedesktop/login1/session/45 + + + + Versioning diff --git a/man/org.freedesktop.machine1.xml b/man/org.freedesktop.machine1.xml index bc9779c521..c18e133e7c 100644 --- a/man/org.freedesktop.machine1.xml +++ b/man/org.freedesktop.machine1.xml @@ -34,11 +34,7 @@ The service exposes the following interfaces on the Manager object on the bus: - -$ gdbus introspect --system \ - --dest org.freedesktop.machine1 \ - --object-path /org/freedesktop/machine1 - + node /org/freedesktop/machine1 { interface org.freedesktop.machine1.Manager { methods: @@ -435,11 +431,7 @@ node /org/freedesktop/machine1 { Machine Objects - -$ gdbus introspect --system \ - --dest org.freedesktop.machine1 \ - --object-path /org/freedesktop/machine1/machine/rawhide - + node /org/freedesktop/machine1/machine/rawhide { interface org.freedesktop.machine1.Machine { methods: @@ -617,6 +609,30 @@ node /org/freedesktop/machine1/machine/rawhide { + + Examples + + + Introspect <interfacename>org.freedesktop.machine1.Manager</interfacename> on the bus + + +$ gdbus introspect --system \ + --dest org.freedesktop.machine1 \ + --object-path /org/freedesktop/machine1 + + + + + Introspect <interfacename>org.freedesktop.machine1.Machine</interfacename> on the bus + + +$ gdbus introspect --system \ + --dest org.freedesktop.machine1 \ + --object-path /org/freedesktop/machine1/machine/rawhide + + + + Versioning diff --git a/man/org.freedesktop.resolve1.xml b/man/org.freedesktop.resolve1.xml index 912f73677c..86bd1c2a62 100644 --- a/man/org.freedesktop.resolve1.xml +++ b/man/org.freedesktop.resolve1.xml @@ -46,11 +46,7 @@ The service exposes the following interfaces on the Manager object on the bus: - -$ gdbus introspect --system \ - --dest org.freedesktop.resolve1 \ - --object-path /org/freedesktop/resolve1 - + node /org/freedesktop/resolve1 { interface org.freedesktop.resolve1.Manager { methods: @@ -551,12 +547,8 @@ node /org/freedesktop/resolve1 { Link Object - -$ gdbus introspect --system \ - --dest org.freedesktop.resolve1 \ - --object-path /org/freedesktop/resolve1/link/_34 - -node /org/freedesktop/resolve1/link/_34 { + +node /org/freedesktop/resolve1/link/_1 { interface org.freedesktop.resolve1.Link { methods: SetDNS(in a(iay) addresses); @@ -790,6 +782,30 @@ node /org/freedesktop/resolve1/link/_34 { + + Examples + + + Introspect <interfacename>org.freedesktop.resolve1.Manager</interfacename> on the bus + + +$ gdbus introspect --system \ + --dest org.freedesktop.resolve1 \ + --object-path /org/freedesktop/resolve1 + + + + + Introspect <interfacename>org.freedesktop.resolve1.Link</interfacename> on the bus + + +$ gdbus introspect --system \ + --dest org.freedesktop.resolve1 \ + --object-path /org/freedesktop/resolve1/link/_11 + + + + Versioning diff --git a/man/org.freedesktop.systemd1.xml b/man/org.freedesktop.systemd1.xml index da5541be90..741fd3d481 100644 --- a/man/org.freedesktop.systemd1.xml +++ b/man/org.freedesktop.systemd1.xml @@ -57,11 +57,7 @@ The main entry point object is available on the fixed /org/freedesktop/systemd1 object path: - -$ gdbus introspect --system \ - --dest org.freedesktop.systemd1 \ - --object-path /org/freedesktop/systemd1 - + node /org/freedesktop/systemd1 { interface org.freedesktop.systemd1.Manager { methods: @@ -1484,10 +1480,7 @@ node /org/freedesktop/systemd1 { Unit Objects - -$ gdbus introspect --system --dest org.freedesktop.systemd1 \ - --object-path /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice - + node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { interface org.freedesktop.systemd1.Unit { methods: @@ -1674,7 +1667,6 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { interface org.freedesktop.DBus.Peer { ... }; interface org.freedesktop.DBus.Introspectable { ... }; interface org.freedesktop.DBus.Properties { ... }; - interface org.freedesktop.systemd1.Service { ... }; }; @@ -1746,12 +1738,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { - - - - @@ -2139,10 +2127,7 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { org.freedesktop.systemd1.Service interface (described here) in addition to the generic org.freedesktop.systemd1.Unit interface (see above). - -$ gdbus introspect --system --dest org.freedesktop.systemd1 \ - --object-path /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice - + node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { interface org.freedesktop.systemd1.Service { methods: @@ -3135,14 +3120,14 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { - - + + @@ -3746,10 +3731,7 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { Socket Unit Objects - -$ gdbus introspect --system --dest org.freedesktop.systemd1 \ - --object-path /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket - + node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket { interface org.freedesktop.systemd1.Socket { methods: @@ -4777,14 +4759,14 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket { - - + + @@ -5340,10 +5322,7 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket { Target Unit Objects - -$ gdbus introspect --system --dest org.freedesktop.systemd1 \ - --object-path /org/freedesktop/systemd1/unit/basic_2etarget - + node /org/freedesktop/systemd1/unit/basic_2etarget { interface org.freedesktop.systemd1.Target { }; @@ -5364,11 +5343,8 @@ node /org/freedesktop/systemd1/unit/basic_2etarget { All device unit objects implement the org.freedesktop.systemd1.Device interface (described here) in addition to the generic org.freedesktop.systemd1.Unit interface (see above). - -$ gdbus introspect --system --dest org.freedesktop.systemd1 \ - --object-path /org/freedesktop/systemd1/unit/dev_2dfoo_2edevice - -node /org/freedesktop/systemd1/unit/dev_2dfoo_2edevice { + +node /org/freedesktop/systemd1/unit/dev_2dttyS0_2edevice { interface org.freedesktop.systemd1.Device { properties: readonly s SysFSPath = '...'; @@ -5382,14 +5358,14 @@ node /org/freedesktop/systemd1/unit/dev_2dfoo_2edevice { - - + + @@ -5411,10 +5387,7 @@ node /org/freedesktop/systemd1/unit/dev_2dfoo_2edevice { interface (described here) in addition to the generic org.freedesktop.systemd1.Unit interface (see above). - -$ gdbus introspect --system --dest org.freedesktop.systemd1 \ - --object-path /org/freedesktop/systemd1/unit/home_2emount - + node /org/freedesktop/systemd1/unit/home_2emount { interface org.freedesktop.systemd1.Mount { methods: @@ -6291,14 +6264,14 @@ node /org/freedesktop/systemd1/unit/home_2emount { - - + + @@ -6773,10 +6746,7 @@ node /org/freedesktop/systemd1/unit/home_2emount { org.freedesktop.systemd1.Automount interface (described here) in addition to the generic org.freedesktop.systemd1.Unit interface (see above). - -$ gdbus introspect --system --dest org.freedesktop.systemd1 \ - --object-path /org/freedesktop/systemd1/unit/proc_2dsys_2dfs_2dbinfmt_5fmisc_2eautomount - + node /org/freedesktop/systemd1/unit/proc_2dsys_2dfs_2dbinfmt_5fmisc_2eautomount { interface org.freedesktop.systemd1.Automount { properties: @@ -6803,14 +6773,14 @@ node /org/freedesktop/systemd1/unit/proc_2dsys_2dfs_2dbinfmt_5fmisc_2eautomount - - + + @@ -6841,10 +6811,7 @@ node /org/freedesktop/systemd1/unit/proc_2dsys_2dfs_2dbinfmt_5fmisc_2eautomount interface (described here) in addition to the generic org.freedesktop.systemd1.Unit interface (see above). - -$ gdbus introspect --system --dest org.freedesktop.systemd1 \ - --object-path /org/freedesktop/systemd1/unit/systemd_2dtmpfiles_2dclean_2etimer - + node /org/freedesktop/systemd1/unit/systemd_2dtmpfiles_2dclean_2etimer { interface org.freedesktop.systemd1.Timer { properties: @@ -6901,14 +6868,14 @@ node /org/freedesktop/systemd1/unit/systemd_2dtmpfiles_2dclean_2etimer { - - + + @@ -6980,10 +6947,7 @@ node /org/freedesktop/systemd1/unit/systemd_2dtmpfiles_2dclean_2etimer { interface (described here) in addition to the generic org.freedesktop.systemd1.Unit interface (see above). - -$ gdbus introspect --system --dest org.freedesktop.systemd1 \ - --object-path /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap - + node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap { interface org.freedesktop.systemd1.Swap { methods: @@ -7836,14 +7800,14 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap { - - + + @@ -8306,10 +8270,7 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap { Path Unit Objects - -$ gdbus introspect --system --dest org.freedesktop.systemd1 \ - --object-path /org/freedesktop/systemd1/unit/cups_2epath - + node /org/freedesktop/systemd1/unit/cups_2epath { interface org.freedesktop.systemd1.Path { properties: @@ -8336,14 +8297,14 @@ node /org/freedesktop/systemd1/unit/cups_2epath { - - + + @@ -8382,10 +8343,7 @@ node /org/freedesktop/systemd1/unit/cups_2epath { interface (described here) in addition to the generic org.freedesktop.systemd1.Unit interface (see above). - -$ gdbus introspect --system --dest org.freedesktop.systemd1 \ - --object-path /org/freedesktop/systemd1/unit/system_2eslice - + node /org/freedesktop/systemd1/unit/system_2eslice { interface org.freedesktop.systemd1.Slice { methods: @@ -8645,14 +8603,14 @@ node /org/freedesktop/systemd1/unit/system_2eslice { - - + + @@ -8793,10 +8751,7 @@ node /org/freedesktop/systemd1/unit/system_2eslice { interface (described here) in addition to the generic org.freedesktop.systemd1.Unit interface (see above). - -$ gdbus introspect --system --dest org.freedesktop.systemd1 \ - --object-path /org/freedesktop/systemd1/unit/session_2d1_2escope - + node /org/freedesktop/systemd1/unit/session_2d1_2escope { interface org.freedesktop.systemd1.Scope { methods: @@ -9097,14 +9052,14 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope { - - + + @@ -9293,11 +9248,8 @@ node /org/freedesktop/systemd1/unit/session_2d1_2escope { Job objects encapsulate scheduled or running jobs. Each unit can have none or one jobs in the execution queue. Each job is attached to exactly one unit. - -$ gdbus introspect --system --dest org.freedesktop.systemd1 \ - --object-path /org/freedesktop/systemd1/job/1292 - -node /org/freedesktop/systemd1/job/1292 { + +node /org/freedesktop/systemd1/job/666 { interface org.freedesktop.systemd1.Job { methods: Cancel(); @@ -9373,6 +9325,41 @@ node /org/freedesktop/systemd1/job/1292 { + + Examples + + + Introspect <interfacename>org.freedesktop.systemd1.Manager</interfacename> on the bus + + +$ gdbus introspect --system \ + --dest org.freedesktop.systemd1 \ + --object-path /org/freedesktop/systemd1 + + + + + Introspect a unit on the bus + + +$ busctl introspect org.freedesktop.systemd1 \ + $(busctl call org.freedesktop.systemd1 \ + /org/freedesktop/systemd1 \ + org.freedesktop.systemd1.Manager \ + GetUnit s systemd-resolved.service | cut -d'"' -f2) + + + + + Introspect <interfacename>org.freedesktop.systemd1.Job</interfacename> on the bus + + +$ gdbus introspect --system --dest org.freedesktop.systemd1 \ + --object-path /org/freedesktop/systemd1/job/1292 + + + + Versioning diff --git a/man/org.freedesktop.timedate1.xml b/man/org.freedesktop.timedate1.xml index 3111ebbc42..325c3acfb1 100644 --- a/man/org.freedesktop.timedate1.xml +++ b/man/org.freedesktop.timedate1.xml @@ -34,11 +34,7 @@ The service exposes the following interfaces on the bus: - -$ gdbus introspect --system \ - --dest org.freedesktop.timedate1 \ - --object-path /org/freedesktop/timedate1 - + node /org/freedesktop/timedate1 { interface org.freedesktop.timedate1 { methods: @@ -180,6 +176,20 @@ node /org/freedesktop/timedate1 { + + Examples + + + Introspect <interfacename>org.freedesktop.timedate1</interfacename> on the bus + + +$ gdbus introspect --system \ + --dest org.freedesktop.timedate1 \ + --object-path /org/freedesktop/timedate1 + + + + Versioning