Skip to main content

GlobalList

Struct GlobalList 

Source
pub struct GlobalList { /* private fields */ }
Expand description

A helper for global initialization.

See the module level documentation for more.

Implementations§

Source§

impl GlobalList

Source

pub fn contents(&self) -> &GlobalListContents

Access the contents of the list of globals

Source

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

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

The version specifies the range of versions that should be bound. This function will guarantee the version of the returned protocol object is the lower of the maximum requested version and the advertised version.

If the lower bound of the version is greater than the version advertised by the server, then BindError::UnsupportedVersion is returned.

§Multi-instance/Device globals.

This function is not intended to be used with globals that have multiple instances such as wl_output and wl_seat. These types of globals need their own initialization mechanism because these multi-instance globals may be removed at runtime. To handle then, you should instead call Self::bind_specific in the GlobalListHandler of your State.

§Panics

This function will panic if the maximum requested version is greater than the known maximum version of the interface. The known maximum version is determined by the code generated using wayland-scanner.

Source

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

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

This binds a specific object by its name.

Typically, this should be called in GlobalListHandler::runtime_add_global for dynamically added globals.

Source

pub fn registry(&self) -> &WlRegistry

Returns the WlRegistry protocol object.

This may be used if more direct control when creating globals is needed.

Source

pub fn destroy(self)

Tries to destroy the WlRegistry protocol object.

If successful no new events will be emitted and the GlobalListContent will not be updated anymore. Other proocol objects are not affected.

This might end up doing nothing if the compositor doesn’t support wl_fixes in which case the registry cannot be destroyed without closing the connection.

Trait Implementations§

Source§

impl Clone for GlobalList

Source§

fn clone(&self) -> GlobalList

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for GlobalList

Source§

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

Formats the value using the given formatter. 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
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

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>,

Source§

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.