Struct wayland_client::Filter[][src]

pub struct Filter<E> { /* fields omitted */ }

An event filter

Can be used in wayland-client and wayland-server to aggregate messages from different objects into the same closure.

You need to provide it a closure of type FnMut(E, &Filter<E>), which will be called any time a message is sent to the filter via the send(..) method. Your closure also receives a handle to the filter as argument, so that you can use it from within the callback (to assign new wayland objects to this filter for example).

The Filter can be cloned, and all clones send messages to the same closure. However it is not threadsafe.

Implementations

impl<E> Filter<E>[src]

pub fn new<F>(f: F) -> Filter<E> where
    F: 'static + FnMut(E, &Filter<E>, DispatchData<'_>), 
[src]

Create a new filter from given closure

pub fn send(&self, evt: E, data: DispatchData<'_>)[src]

Send a message to this filter

Trait Implementations

impl<E> Clone for Filter<E>[src]

Auto Trait Implementations

impl<E> !RefUnwindSafe for Filter<E>

impl<E> !Send for Filter<E>

impl<E> !Sync for Filter<E>

impl<E> Unpin for Filter<E>

impl<E> !UnwindSafe for Filter<E>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Downcast for T where
    T: Any
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.