1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
pub trait ClipboardObject {
fn get(&self) -> Option<String>;
fn set(&mut self, data: &str);
}
pub(crate) struct LocalClipboard {
data: String,
}
impl LocalClipboard {
pub fn new() -> LocalClipboard {
LocalClipboard {
data: String::new(),
}
}
}
impl ClipboardObject for LocalClipboard {
fn get(&self) -> Option<String> {
Some(self.data.clone())
}
fn set(&mut self, data: &str) {
self.data = data.to_owned();
}
}