Baseline

Struct Baseline 

Source
pub struct Baseline(/* private fields */);
Expand description

The baseline protocol support.

This type determines the upper bound for the globals and global versions advertised by a State. Baselines allow new protocols and new protocol versions to be added to this crate without changing the behavior of applications using the crate.

For example, if an application turns xdg_toplevel objects into zwlr_layer_surface_v1 objects, then the application should filter out globals such as xdg_toplevel_icon_v1 that take xdg_toplevels as arguments. Or else it has to also intercept the messages to that global. Without baselines, if a new protocol were added to a new release of this crate, and if that protocol interacted with xdg_toplevels, then updating this crate could cause protocol errors.

To see the contents of a baseline, look at the source file defining the baseline.

The difference between two baselines can be seen by diffing the two files containing the baselines.

Implementations§

Source§

impl Baseline

Source

pub const V0: Self

Version 0.

Source

pub const V1: Self

Version 1.

Source

pub const ALL_OF_THEM: Self

This baseline always contains all protocols supported by this crate in their highest supported version.

Do not use this unless you are prototyping or in very simple proxies. Use the highest baseline version available at development time instead and switch to a higher version when you update your application.

Trait Implementations§

Source§

impl Clone for Baseline

Source§

fn clone(&self) -> Baseline

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 Baseline

Source§

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

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

impl Copy for Baseline

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.