Copyright © 2020 Andri Yngvason Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. The transient seat protocol can be used by clients to create independent seats that will be removed when the client disconnects. The client also gets a handle to the seat which can be used to remove the seat. Create a new seat that is removed when the client closes the connection. The client may suggest a name for the seat, but the server may choose whichever name it sees fit, except the name must not collide with the name of another seat. It is suggested that the client choose a sufficiently unique name, e.g. something containing the pid and an incremental numeric value. Destroy the manager This event indicates that the seat creation failed. No event is generated after this and the client should destroy the transient seat object. This event indicates that the seat has been created and tells the client which name was chosen for it. It is generated after the seat is created. No event is generated after this. Destroy the seat