pub struct NativeEffectHandler;Expand description
Native effect handler wrapping rfd (file dialogs), arboard (clipboard), and notify-rust (notifications).
Both the plushie-renderer binary and direct mode in the plushie
SDK use this handler. The behaviour is byte-for-byte identical
across the two paths.
Trait Implementations§
Source§impl EffectHandler for NativeEffectHandler
impl EffectHandler for NativeEffectHandler
Source§fn handle_sync(
&self,
id: &str,
request: &EffectRequest,
) -> Option<EffectResponse>
fn handle_sync( &self, id: &str, request: &EffectRequest, ) -> Option<EffectResponse>
Handle a synchronous effect. Returns
Some(response) for effects
that complete immediately (clipboard, notifications). Read moreSource§fn handle_async(
&self,
id: String,
request: EffectRequest,
) -> Pin<Box<dyn Future<Output = EffectResponse> + Send>>
fn handle_async( &self, id: String, request: EffectRequest, ) -> Pin<Box<dyn Future<Output = EffectResponse> + Send>>
Handle an async effect, returning a future that resolves to the
response. Used for operations that must not block the event loop
(file dialogs on native).
Source§fn is_async(&self, request: &EffectRequest) -> bool
fn is_async(&self, request: &EffectRequest) -> bool
Returns true if the given request should be handled async.
Auto Trait Implementations§
impl Freeze for NativeEffectHandler
impl RefUnwindSafe for NativeEffectHandler
impl Send for NativeEffectHandler
impl Sync for NativeEffectHandler
impl Unpin for NativeEffectHandler
impl UnsafeUnpin for NativeEffectHandler
impl UnwindSafe for NativeEffectHandler
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn 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.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
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.Source§fn as_any(&self) -> &(dyn Any + 'static)
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.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
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.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<State, Message> IntoBoot<State, Message> for State
impl<State, Message> IntoBoot<State, Message> for State
Source§fn into_boot(self) -> (State, Task<Message>)
fn into_boot(self) -> (State, Task<Message>)
Turns some type into the initial state of some
Application.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more