// Copyright 2024 System76 // SPDX-License-Identifier: MPL-2.0 use std::collections::HashMap; use std::sync::Arc; use zbus::zvariant::OwnedObjectPath; mod adapter; pub mod agent; mod device; pub mod subscription; pub use adapter::*; pub use device::*; #[derive(Clone, Debug)] pub enum Event { AddedAdapter(OwnedObjectPath, Adapter), AddedDevice(OwnedObjectPath, Device), Agent(Arc), DBusError(zbus::Error), DBusServiceUnknown, DeviceFailed(OwnedObjectPath), Ok, NameHasNoOwner, RemovedAdapter(OwnedObjectPath), RemovedDevice(OwnedObjectPath), SetAdapters(HashMap), SetDevices(HashMap), UpdatedAdapter(OwnedObjectPath, Vec), UpdatedDevice(OwnedObjectPath, Vec), } #[derive(Default, Debug, Clone, Copy, Eq, PartialEq)] pub enum Active { #[default] Disabled, Disabling, Enabling, Enabled, }