desktop_app_blocker_api/platform/
mod.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
use crate::spec::BlockerSpec;

#[cfg(target_os = "linux")]
use linux as sys;
#[cfg(target_os = "macos")]
use macos as sys;
#[cfg(target_os = "windows")]
use windows as sys;

#[cfg(target_os = "windows")]
mod windows;
#[cfg(target_os = "macos")]
mod macos;
#[cfg(target_os = "linux")]
mod linux;

#[cfg(target_os = "windows")]
pub(crate) type PlatformBlocker = sys::WindowsBlocker;
#[cfg(target_os = "macos")]
pub(crate) type PlatformBlocker = sys::MacosBlocker;
#[cfg(target_os = "linux")]
pub(crate) type PlatformBlocker = sys::LinuxBlocker;

pub fn perform_block(spec: &impl BlockerSpec) {
    PlatformBlocker::perform_block(spec);
}