diff options
Diffstat (limited to 'copypasta/src/windows.rs')
-rw-r--r-- | copypasta/src/windows.rs | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/copypasta/src/windows.rs b/copypasta/src/windows.rs deleted file mode 100644 index 3bff6e59..00000000 --- a/copypasta/src/windows.rs +++ /dev/null @@ -1,64 +0,0 @@ -use clipboard::ClipboardContext; -use clipboard::ClipboardProvider; - -use super::{Load, Store}; - -pub struct Clipboard(ClipboardContext); - -#[derive(Debug)] -pub enum Error { - Clipboard(Box<::std::error::Error>), -} - -impl ::std::error::Error for Error { - fn description(&self) -> &str { - match *self { - Error::Clipboard(..) => "Error opening clipboard", - } - } -} - -impl ::std::fmt::Display for Error { - fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { - match *self { - Error::Clipboard(ref err) => err.fmt(f), - } - } -} - -unsafe impl Send for Error {} -unsafe impl Sync for Error {} - -impl Load for Clipboard { - type Err = Error; - - fn new() -> Result<Self, Error> { - ClipboardContext::new().map(Clipboard).map_err(Error::Clipboard) - } - - fn load_primary(&self) -> Result<String, Self::Err> { - let mut ctx: ClipboardContext = ClipboardProvider::new().unwrap(); - ctx.get_contents().map_err(Error::Clipboard) - } -} - -impl Store for Clipboard { - /// Sets the primary clipboard contents - #[inline] - fn store_primary<S>(&mut self, contents: S) -> Result<(), Self::Err> - where - S: Into<String>, - { - self.0.set_contents(contents.into()).map_err(Error::Clipboard) - } - - /// Sets the secondary clipboard contents - #[inline] - fn store_selection<S>(&mut self, contents: S) -> Result<(), Self::Err> - where - S: Into<String>, - { - // No such thing on Windows - Ok(()) - } -} |