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