Struct smithay_client_toolkit::shm::slot::BufferData
source · struct BufferData {
inner: Arc<SlotInner>,
state: AtomicU8,
}
Expand description
ObjectData for the WlBuffer
Fields§
§inner: Arc<SlotInner>
§state: AtomicU8
Implementations§
source§impl BufferData
impl BufferData
sourceconst ACTIVE: u8 = 0u8
const ACTIVE: u8 = 0u8
Buffer is counted in active_buffers list; will return to INACTIVE on Release.
sourceconst INACTIVE: u8 = 1u8
const INACTIVE: u8 = 1u8
Buffer is not counted in active_buffers list, but also has not been destroyed.
sourceconst DESTROY_ON_RELEASE: u8 = 2u8
const DESTROY_ON_RELEASE: u8 = 2u8
Buffer is counted in active_buffers list; will move to DEAD on Release
sourceconst RELEASE_SET: u8 = 1u8
const RELEASE_SET: u8 = 1u8
Value that is ORed on buffer release to transition to the next state
sourceconst DESTROY_SET: u8 = 2u8
const DESTROY_SET: u8 = 2u8
Value that is ORed on buffer destroy to transition to the next state
sourcefn record_death(&self)
fn record_death(&self)
Call after successfully transitioning the state to DEAD
Trait Implementations§
source§impl Debug for BufferData
impl Debug for BufferData
source§impl Drop for BufferData
impl Drop for BufferData
source§impl ObjectData for BufferData
impl ObjectData for BufferData
source§fn event(
self: Arc<Self>,
handle: &Backend,
msg: Message<ObjectId, OwnedFd>,
) -> Option<Arc<dyn ObjectData>>
fn event( self: Arc<Self>, handle: &Backend, msg: Message<ObjectId, OwnedFd>, ) -> Option<Arc<dyn ObjectData>>
Dispatch an event for the associated object Read more
source§fn destroyed(&self, _: ObjectId)
fn destroyed(&self, _: ObjectId)
Notification that the object has been destroyed and is no longer active
source§fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Helper for forwarding a Debug implementation of your
ObjectData
type Read moresource§fn data_as_any(&self) -> &(dyn Any + 'static)
fn data_as_any(&self) -> &(dyn Any + 'static)
Helper for accessing user data Read more
Auto Trait Implementations§
impl !Freeze for BufferData
impl RefUnwindSafe for BufferData
impl Send for BufferData
impl Sync for BufferData
impl Unpin for BufferData
impl UnwindSafe for BufferData
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§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.source§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.