1#[macro_use]
2#[cfg(target_os = "macos")]
3extern crate objc;
4
5#[cfg(target_os = "linux")]
6mod linux;
7use std::path::PathBuf;
8
9#[cfg(target_os = "linux")]
10use linux::read_clipboard;
11
12#[cfg(target_os = "macos")]
13mod macos;
14#[cfg(target_os = "macos")]
15use macos::read_clipboard;
16
17#[cfg(target_os = "windows")]
18mod windows;
19#[cfg(target_os = "windows")]
20use windows::read_clipboard;
21
22pub fn read() -> Result<Vec<PathBuf>, Error> {
24 read_clipboard().map(|strs| strs.into_iter().map(PathBuf::from).collect())
25}
26
27#[derive(Debug, PartialEq)]
28pub enum Error {
29 NoFiles,
30 SystemError(String),
31}