use zbus::proxy;
use crate::Process;
#[proxy(
interface = "org.freedesktop.systemd1.Slice",
default_service = "org.freedesktop.systemd1"
)]
pub trait Slice {
fn attach_processes(&self, subcgroup: &str, pids: &[u32]) -> zbus::Result<()>;
fn get_processes(&self) -> zbus::Result<Vec<Process>>;
#[zbus(property, name = "AllowedCPUs")]
fn allowed_cpus(&self) -> zbus::Result<Vec<u8>>;
#[zbus(property)]
fn allowed_memory_nodes(&self) -> zbus::Result<Vec<u8>>;
#[zbus(property, name = "BPFProgram")]
fn bpf_program(&self) -> zbus::Result<Vec<(String, String)>>;
#[zbus(property, name = "BlockIOAccounting")]
fn block_io_accounting(&self) -> zbus::Result<bool>;
#[zbus(property, name = "BlockIODeviceWeight")]
fn block_io_device_weight(&self) -> zbus::Result<Vec<(String, u64)>>;
#[zbus(property, name = "BlockIOReadBandwidth")]
fn block_io_read_bandwidth(&self) -> zbus::Result<Vec<(String, u64)>>;
#[zbus(property, name = "BlockIOWeight")]
fn block_io_weight(&self) -> zbus::Result<u64>;
#[zbus(property, name = "BlockIOWriteBandwidth")]
fn block_io_write_bandwidth(&self) -> zbus::Result<Vec<(String, u64)>>;
#[zbus(property, name = "CPUAccounting")]
fn cpu_accounting(&self) -> zbus::Result<bool>;
#[zbus(property, name = "CPUQuotaPerSecUSec")]
fn cpu_quota_per_sec_usec(&self) -> zbus::Result<u64>;
#[zbus(property, name = "CPUQuotaPeriodUSec")]
fn cpu_quota_period_usec(&self) -> zbus::Result<u64>;
#[zbus(property, name = "CPUShares")]
fn cpu_shares(&self) -> zbus::Result<u64>;
#[zbus(property, name = "CPUUsageNSec")]
fn cpu_usage_nsec(&self) -> zbus::Result<u64>;
#[zbus(property, name = "CPUWeight")]
fn cpu_weight(&self) -> zbus::Result<u64>;
#[zbus(property)]
fn control_group(&self) -> zbus::Result<String>;
#[zbus(property)]
fn control_group_id(&self) -> zbus::Result<u64>;
#[zbus(property)]
fn default_memory_low(&self) -> zbus::Result<u64>;
#[zbus(property)]
fn default_memory_min(&self) -> zbus::Result<u64>;
#[zbus(property)]
fn delegate(&self) -> zbus::Result<bool>;
#[zbus(property)]
fn delegate_controllers(&self) -> zbus::Result<Vec<String>>;
#[zbus(property)]
fn device_allow(&self) -> zbus::Result<Vec<(String, String)>>;
#[zbus(property)]
fn device_policy(&self) -> zbus::Result<String>;
#[zbus(property)]
fn disable_controllers(&self) -> zbus::Result<Vec<String>>;
#[zbus(property, name = "EffectiveCPUs")]
fn effective_cpus(&self) -> zbus::Result<Vec<u8>>;
#[zbus(property)]
fn effective_memory_nodes(&self) -> zbus::Result<Vec<u8>>;
#[zbus(property, name = "IOAccounting")]
fn io_accounting(&self) -> zbus::Result<bool>;
#[zbus(property, name = "IODeviceLatencyTargetUSec")]
fn io_device_latency_target_usec(&self) -> zbus::Result<Vec<(String, u64)>>;
#[zbus(property, name = "IODeviceWeight")]
fn io_device_weight(&self) -> zbus::Result<Vec<(String, u64)>>;
#[zbus(property, name = "IOReadBandwidthMax")]
fn io_read_bandwidth_max(&self) -> zbus::Result<Vec<(String, u64)>>;
#[zbus(property, name = "IOReadBytes")]
fn io_read_bytes(&self) -> zbus::Result<u64>;
#[zbus(property, name = "IOReadIOPSMax")]
fn io_read_iops_max(&self) -> zbus::Result<Vec<(String, u64)>>;
#[zbus(property, name = "IOReadOperations")]
fn io_read_operations(&self) -> zbus::Result<u64>;
#[zbus(property, name = "IOWeight")]
fn io_weight(&self) -> zbus::Result<u64>;
#[zbus(property, name = "IOWriteBandwidthMax")]
fn io_write_bandwidth_max(&self) -> zbus::Result<Vec<(String, u64)>>;
#[zbus(property, name = "IOWriteBytes")]
fn io_write_bytes(&self) -> zbus::Result<u64>;
#[zbus(property, name = "IOWriteIOPSMax")]
fn io_write_iops_max(&self) -> zbus::Result<Vec<(String, u64)>>;
#[zbus(property, name = "IOWriteOperations")]
fn io_write_operations(&self) -> zbus::Result<u64>;
#[zbus(property, name = "IPAccounting")]
fn ip_accounting(&self) -> zbus::Result<bool>;
#[zbus(property, name = "IPAddressAllow")]
fn ip_address_allow(&self) -> zbus::Result<Vec<(i32, Vec<u8>, u32)>>;
#[zbus(property, name = "IPAddressDeny")]
fn ip_address_deny(&self) -> zbus::Result<Vec<(i32, Vec<u8>, u32)>>;
#[zbus(property, name = "IPEgressBytes")]
fn ip_egress_bytes(&self) -> zbus::Result<u64>;
#[zbus(property, name = "IPEgressFilterPath")]
fn ip_egress_filter_path(&self) -> zbus::Result<Vec<String>>;
#[zbus(property, name = "IPEgressPackets")]
fn ip_egress_packets(&self) -> zbus::Result<u64>;
#[zbus(property, name = "IPIngressBytes")]
fn ip_ingress_bytes(&self) -> zbus::Result<u64>;
#[zbus(property, name = "IPIngressFilterPath")]
fn ip_ingress_filter_path(&self) -> zbus::Result<Vec<String>>;
#[zbus(property, name = "IPIngressPackets")]
fn ip_ingress_packets(&self) -> zbus::Result<u64>;
#[zbus(property, name = "ManagedOOMMemoryPressure")]
fn managed_oom_memory_pressure(&self) -> zbus::Result<String>;
#[zbus(property, name = "ManagedOOMMemoryPressureLimit")]
fn managed_oom_memory_pressure_limit(&self) -> zbus::Result<u32>;
#[zbus(property, name = "ManagedOOMPreference")]
fn managed_oom_preference(&self) -> zbus::Result<String>;
#[zbus(property, name = "ManagedOOMSwap")]
fn managed_oom_swap(&self) -> zbus::Result<String>;
#[zbus(property)]
fn memory_accounting(&self) -> zbus::Result<bool>;
#[zbus(property)]
fn memory_available(&self) -> zbus::Result<u64>;
#[zbus(property)]
fn memory_current(&self) -> zbus::Result<u64>;
#[zbus(property)]
fn memory_high(&self) -> zbus::Result<u64>;
#[zbus(property)]
fn memory_limit(&self) -> zbus::Result<u64>;
#[zbus(property)]
fn memory_low(&self) -> zbus::Result<u64>;
#[zbus(property)]
fn memory_max(&self) -> zbus::Result<u64>;
#[zbus(property)]
fn memory_min(&self) -> zbus::Result<u64>;
#[zbus(property)]
fn memory_swap_max(&self) -> zbus::Result<u64>;
#[zbus(property)]
fn restrict_network_interfaces(&self) -> zbus::Result<(bool, Vec<String>)>;
#[zbus(property)]
fn slice(&self) -> zbus::Result<String>;
#[zbus(property)]
fn socket_bind_allow(&self) -> zbus::Result<Vec<(i32, i32, u16, u16)>>;
#[zbus(property)]
fn socket_bind_deny(&self) -> zbus::Result<Vec<(i32, i32, u16, u16)>>;
#[zbus(property, name = "StartupAllowedCPUs")]
fn startup_allowed_cpus(&self) -> zbus::Result<Vec<u8>>;
#[zbus(property)]
fn startup_allowed_memory_nodes(&self) -> zbus::Result<Vec<u8>>;
#[zbus(property, name = "StartupBlockIOWeight")]
fn startup_block_io_weight(&self) -> zbus::Result<u64>;
#[zbus(property, name = "StartupCPUShares")]
fn startup_cpu_shares(&self) -> zbus::Result<u64>;
#[zbus(property, name = "StartupCPUWeight")]
fn startup_cpu_weight(&self) -> zbus::Result<u64>;
#[zbus(property, name = "StartupIOWeight")]
fn startup_io_weight(&self) -> zbus::Result<u64>;
#[zbus(property)]
fn tasks_accounting(&self) -> zbus::Result<bool>;
#[zbus(property)]
fn tasks_current(&self) -> zbus::Result<u64>;
#[zbus(property)]
fn tasks_max(&self) -> zbus::Result<u64>;
}