pub struct RegistryState { /* private fields */ }
Expand description

State object associated with the registry handling for smithay’s client toolkit.

This object provides utilities to cache bound globals that are needed by multiple modules.

Implementations§

source§

impl RegistryState

source

pub fn new(global_list: &GlobalList) -> Self

Creates a new registry handle.

This type may be used to bind globals as they are advertised.

source

pub fn registry(&self) -> &WlRegistry

source

pub fn globals(&self) -> impl Iterator<Item = &Global> + '_

Returns an iterator over all globals.

This list may change if the compositor adds or removes globals after initial enumeration.

No guarantees are provided about the ordering of the globals in this iterator.

source

pub fn globals_by_interface<'a>( &'a self, interface: &'a str ) -> impl Iterator<Item = &Global> + 'a

Returns an iterator over all globals implementing the given interface.

This may be more efficient than searching Self::globals.

source

pub fn bind_one<I, D, U>( &self, qh: &QueueHandle<D>, version: RangeInclusive<u32>, udata: U ) -> Result<I, BindError>
where D: Dispatch<I, U> + 'static, I: Proxy + 'static, U: Send + Sync + 'static,

Binds a global, returning a new object associated with the global.

This should not be used to bind globals that have multiple instances such as wl_output; use Self::bind_all instead.

source

pub fn bind_specific<I, D, U>( &self, qh: &QueueHandle<D>, name: u32, version: RangeInclusive<u32>, udata: U ) -> Result<I, BindError>
where D: Dispatch<I, U> + 'static, I: Proxy + 'static, U: Send + Sync + 'static,

Binds a global, returning a new object associated with the global.

This binds a specific object by its name as provided by the RegistryHandler::new_global callback.

source

pub fn bind_all<I, D, U, F>( &self, qh: &QueueHandle<D>, version: RangeInclusive<u32>, make_udata: F ) -> Result<Vec<I>, BindError>
where D: Dispatch<I, U> + 'static, I: Proxy + 'static, F: FnMut(u32) -> U, U: Send + Sync + 'static,

Binds all globals with a given interface.

Trait Implementations§

source§

impl Debug for RegistryState

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<D> Dispatch<WlRegistry, GlobalListContents, D> for RegistryState

source§

fn event( state: &mut D, _: &WlRegistry, event: Event, _: &GlobalListContents, conn: &Connection, qh: &QueueHandle<D> )

Called when an event from the server is processed Read more
source§

fn event_created_child( opcode: u16, _qhandle: &QueueHandle<State> ) -> Arc<dyn ObjectData>

Method used to initialize the user-data of objects created by events Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Downcast for T
where T: 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.
§

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.
§

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.
§

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.
§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more