[][src]Struct wayland_client::NewProxy

pub struct NewProxy<I: Interface> { /* fields omitted */ }

A newly-created proxy that needs implementation

Whenever a new wayland object is created, you will receive it as a NewProxy. You then have to provide an implementation for it, in order to process the incoming events it may receive. Once this done you will be able to use it as a regular Proxy.

Implementations are structs implementing the appropriate variant of the Implementation trait. They can also be closures.

Methods

impl<I: Interface + 'static> NewProxy<I>[src]

pub fn implement<F, UD>(self, implementation: F, user_data: UD) -> Proxy<I> where
    F: FnMut(I::Event, Proxy<I>) + Send + 'static,
    UD: Send + Sync + 'static,
    I::Event: MessageGroup<Map = ProxyMap>, 
[src]

Implement this proxy using given function and implementation data.

pub unsafe fn implement_nonsend<Impl, UD>(
    self,
    implementation: Impl,
    user_data: UD,
    queue: &QueueToken
) -> Proxy<I> where
    Impl: FnMut(I::Event, Proxy<I>) + 'static,
    UD: 'static,
    I::Event: MessageGroup<Map = ProxyMap>, 
[src]

Implement this proxy using given function and implementation data.

This method allows the implementation to not be Send, but requires for safety that you provide a token to the event queue this proxy will be implemented on. This method will then ensure that this proxy is registered on this event queue, so that it cannot be dispatched from an other thread.

Unsafety:

This call can be racy if the proxy is not already registered on this event queue and its old queue is being dispatched from an other thread.

To ensure safety, see Proxy::make_wrapper.

Auto Trait Implementations

impl<I> !Send for NewProxy<I>

impl<I> !Sync for NewProxy<I>

Blanket Implementations

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

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

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.

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

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

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

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