Enum wayland_protocols::ext::session_lock::v1::client::ext_session_lock_v1::Request
source · [−]#[non_exhaustive]
pub enum Request {
Destroy,
GetLockSurface {
surface: WlSurface,
output: WlOutput,
},
UnlockAndDestroy,
}
staging
and client
only.Variants (Non-exhaustive)
This enum is marked as non-exhaustive
Destroy
destroy the session lock
This informs the compositor that the lock object will no longer be used. Existing objects created through this interface remain valid.
After this request is made, lock surfaces created through this object should be destroyed by the client as they will no longer be used by the compositor.
It is a protocol error to make this request if the locked event was sent, the unlock_and_destroy request must be used instead.
This is a destructor, once sent this object cannot be used any longer.
GetLockSurface
create a lock surface for a given output
The client is expected to create lock surfaces for all outputs currently present and any new outputs as they are advertised. These won’t be displayed by the compositor unless the lock is successful and the locked event is sent.
Providing a wl_surface which already has a role or already has a buffer attached or committed is a protocol error, as is attaching/committing a buffer before the first ext_session_lock_surface_v1.configure event.
Attempting to create more than one lock surface for a given output is a duplicate_output protocol error.
UnlockAndDestroy
unlock the session, destroying the object
This request indicates that the session should be unlocked, for example because the user has entered their password and it has been verified by the client.
This request also informs the compositor that the lock object will no longer be used and may be safely destroyed. Existing objects created through this interface remain valid.
After this request is made, lock surfaces created through this object should be destroyed by the client as they will no longer be used by the compositor.
It is a protocol error to make this request if the locked event has not been sent. In that case, the lock object may only be destroyed using the destroy request.
This is a destructor, once sent this object cannot be used any longer.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Request
impl Send for Request
impl Sync for Request
impl Unpin for Request
impl !UnwindSafe for Request
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more