1 // Copyright 2022 The ChromiumOS Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 cfg_if::cfg_if! { 6 if #[cfg(any(target_os = "android", target_os = "linux"))] { 7 pub mod linux; 8 use linux as platform; 9 pub use platform::{VmMemoryMappingRequest, VmMemoryMappingResponse, FsMappingRequest}; 10 #[cfg(feature = "gpu")] 11 pub use platform::gpu::UnixDisplayMode as DisplayMode; 12 #[cfg(feature = "gpu")] 13 pub use platform::gpu::UnixMouseMode as MouseMode; 14 } else if #[cfg(windows)] { 15 pub mod windows; 16 pub use windows as platform; 17 #[cfg(feature = "gpu")] 18 pub type DisplayMode = platform::gpu::WinDisplayMode<platform::gpu::DisplayDataProvider>; 19 #[cfg(feature = "gpu")] 20 pub use platform::gpu::WinMouseMode as MouseMode; 21 pub use platform::InitialAudioSessionState; 22 } else { 23 compile_error!("Unsupported platform"); 24 } 25 } 26 27 pub use platform::handle_request; 28 pub use platform::handle_request_with_timeout; 29 pub use platform::prepare_shared_memory_region; 30 pub use platform::should_prepare_memory_region; 31