use crate::error::Result;
use crate::policy::AccessPolicy;
use std::ffi::{OsStr, OsString};
pub(crate) trait Backend {
fn execute(&self, policy: &AccessPolicy, command: &OsStr, args: &[OsString]) -> Result<()>;
}
#[cfg(target_os = "linux")]
pub(crate) use crate::linux::LinuxBackend as PlatformBackend;
#[cfg(target_os = "macos")]
pub(crate) use crate::apple::SeatbeltBackend as PlatformBackend;
#[cfg(not(any(target_os = "linux", target_os = "macos")))]
pub(crate) use crate::fallback::FallbackBackend as PlatformBackend;