// 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;