desktop_app_blocker_api/platform/
mod.rs

1use crate::spec::BlockerSpec;
2
3#[cfg(target_os = "linux")]
4use linux as sys;
5#[cfg(target_os = "macos")]
6use macos as sys;
7#[cfg(target_os = "windows")]
8use windows as sys;
9
10#[cfg(target_os = "windows")]
11mod windows;
12#[cfg(target_os = "macos")]
13mod macos;
14#[cfg(target_os = "linux")]
15mod linux;
16
17#[cfg(target_os = "windows")]
18pub(crate) type PlatformBlocker = sys::WindowsBlocker;
19#[cfg(target_os = "macos")]
20pub(crate) type PlatformBlocker = sys::MacosBlocker;
21#[cfg(target_os = "linux")]
22pub(crate) type PlatformBlocker = sys::LinuxBlocker;
23
24pub fn perform_block(spec: &impl BlockerSpec) {
25    PlatformBlocker::perform_block(spec);
26}