diff options
Diffstat (limited to 'copypasta/src/lib.rs')
-rw-r--r-- | copypasta/src/lib.rs | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/copypasta/src/lib.rs b/copypasta/src/lib.rs new file mode 100644 index 00000000..64b44219 --- /dev/null +++ b/copypasta/src/lib.rs @@ -0,0 +1,69 @@ +// Copyright 2016 Avraham Weinstock +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#![crate_name = "copypasta"] +#![crate_type = "lib"] +#![crate_type = "dylib"] +#![crate_type = "rlib"] + +#[cfg(all(unix, not(any(target_os = "macos", target_os = "android", target_os = "emscripten"))))] +extern crate smithay_clipboard; +#[cfg(all(unix, not(any(target_os = "macos", target_os = "android", target_os = "emscripten"))))] +extern crate wayland_client; +#[cfg(all(unix, not(any(target_os = "macos", target_os = "android", target_os = "emscripten"))))] +extern crate x11_clipboard as x11_clipboard_crate; + +#[cfg(windows)] +extern crate clipboard_win; + +#[cfg(target_os = "macos")] +#[macro_use] +extern crate objc; +#[cfg(target_os = "macos")] +extern crate objc_foundation; +#[cfg(target_os = "macos")] +extern crate objc_id; + +mod common; +pub use common::ClipboardProvider; + +#[cfg(all(unix, not(any(target_os = "macos", target_os = "android", target_os = "emscripten"))))] +pub mod wayland_clipboard; +#[cfg(all(unix, not(any(target_os = "macos", target_os = "android", target_os = "emscripten"))))] +pub mod x11_clipboard; + +#[cfg(windows)] +pub mod windows_clipboard; + +#[cfg(target_os = "macos")] +pub mod osx_clipboard; + +pub mod nop_clipboard; + +#[cfg(all(unix, not(any(target_os = "macos", target_os = "android", target_os = "emscripten"))))] +pub type ClipboardContext = x11_clipboard::X11ClipboardContext; +#[cfg(windows)] +pub type ClipboardContext = windows_clipboard::WindowsClipboardContext; +#[cfg(target_os = "macos")] +pub type ClipboardContext = osx_clipboard::OSXClipboardContext; +#[cfg(target_os = "android")] +pub type ClipboardContext = nop_clipboard::NopClipboardContext; // TODO: implement AndroidClipboardContext +#[cfg(not(any( + unix, + windows, + target_os = "macos", + target_os = "android", + target_os = "emscripten" +)))] +pub type ClipboardContext = nop_clipboard::NopClipboardContext; |