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
27
28
29
30
31
32
33
34
35
36
37
use std::error::Error;
use clipboard_win::{get_clipboard_string, set_clipboard_string};
use crate::common::ClipboardProvider;
pub struct WindowsClipboardContext;
impl WindowsClipboardContext {
pub fn new() -> Result<Self, Box<dyn Error>> {
Ok(WindowsClipboardContext)
}
}
impl ClipboardProvider for WindowsClipboardContext {
fn get_contents(&mut self) -> Result<String, Box<dyn Error>> {
Ok(get_clipboard_string()?)
}
fn set_contents(&mut self, data: String) -> Result<(), Box<dyn Error>> {
Ok(set_clipboard_string(&data)?)
}
}