From b61cc5fdadbdaaa0071fba55117a5d07d3527bd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 5 May 2020 23:03:36 +0200 Subject: [PATCH] man: update login1(5) for SetType() Added in db72aea4a952cdfdef51eda03408d7c4a11e7359. --- man/org.freedesktop.login1.xml | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/man/org.freedesktop.login1.xml b/man/org.freedesktop.login1.xml index 0908b2ea10..44ad033752 100644 --- a/man/org.freedesktop.login1.xml +++ b/man/org.freedesktop.login1.xml @@ -1003,6 +1003,7 @@ node /org/freedesktop/login1/session/1 { in i signal_number); TakeControl(in b force); ReleaseControl(); + SetType(in s type); TakeDevice(in u major, in u minor, out h fd, @@ -1058,7 +1059,6 @@ node /org/freedesktop/login1/session/1 { readonly u Leader = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly u Audit = ...; - @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly s Type = '...'; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly s Class = '...'; @@ -1099,6 +1099,8 @@ node /org/freedesktop/login1/session/1 { + + @@ -1183,10 +1185,17 @@ node /org/freedesktop/login1/session/1 { out and replaced. Otherwise, this method fails if there is already a controller. Note that this method is limited to D-Bus users with the effective UID set to the user of the session or root. - ReleaseControl() drops control of a given session. Closing the - D-Bus connection implicitly releases control as well. See TakeControl() for more information. This - method also releases all devices for which the controller requested ownership via TakeDevice(). - + ReleaseControl() drops control of a given session. Closing the D-Bus + connection implicitly releases control as well. See TakeControl() for more + information. This method also releases all devices for which the controller requested ownership via + TakeDevice(). + + SetType() allows the type of the session to be changed dynamically. It can + only be called by session's current controller. If TakeControl() has not been + called, this method will fail. In addition, the session type will be reset to its original value once + control is released, either by calling ReleaseControl() or closing the D-Bus + connection. This should help prevent a session from entering an inconsistent state, for example if the + controller crashes. The only argument type is the new session type. TakeDevice() allows a session controller to get a file descriptor for a specific device. Pass in the major and minor numbers of the character device and