use std::os::unix::io::RawFd;
use std::sync::Arc;
use tokio::sync::Mutex;
use super::notif::NotifPolicy;
use super::state::{ChrootState, CowState, NetworkState, PolicyFnState, ProcfsState, ResourceState, TimeRandomState};
pub struct SupervisorCtx {
pub resource: Arc<Mutex<ResourceState>>,
pub cow: Arc<Mutex<CowState>>,
pub procfs: Arc<Mutex<ProcfsState>>,
pub network: Arc<Mutex<NetworkState>>,
pub time_random: Arc<Mutex<TimeRandomState>>,
pub policy_fn: Arc<Mutex<PolicyFnState>>,
pub chroot: Arc<Mutex<ChrootState>>,
pub policy: Arc<NotifPolicy>,
pub child_pidfd: Option<RawFd>,
pub notif_fd: RawFd,
}