ferroui_base/input/platform/
i_clipboard_impl.rs1use super::{ClipboardError, IFlushableClipboardImpl, IOwnedClipboardImpl};
2use crate::input::{IAsyncDataTransfer, LocalBoxFuture};
3use std::rc::Rc;
4
5pub trait IClipboardImpl {
12 fn try_get_data_async(&self) -> LocalBoxFuture<Result<Option<Rc<dyn IAsyncDataTransfer>>, ClipboardError>>;
14
15 fn set_data_async(&self, data_transfer: Rc<dyn IAsyncDataTransfer>) -> LocalBoxFuture<Result<(), ClipboardError>>;
17
18 fn clear_async(&self) -> LocalBoxFuture<Result<(), ClipboardError>>;
20
21 fn as_flushable_clipboard_impl(&self) -> Option<&dyn IFlushableClipboardImpl> {
23 None
24 }
25
26 fn as_owned_clipboard_impl(&self) -> Option<&dyn IOwnedClipboardImpl> {
28 None
29 }
30}