use bevy::prelude::Reflect;
use crate::ReportedId;
#[derive(Clone, PartialEq, Eq, Debug, Reflect)]
pub enum PlatformDeviceHandle {
Reported(ReportedId),
PlatformHasNoConcept,
PlatformReportedNothing,
}
#[derive(Clone, PartialEq, Eq, Debug, Reflect)]
pub enum AttachmentPath {
Reported(ReportedId),
PlatformHasNoConcept,
PlatformReportedNothing,
}
#[derive(Clone, PartialEq, Eq, Debug, Reflect)]
pub enum DeviceDescriptor {
Reported {
vendor: ReportedId,
product: ReportedId,
model: ReportedId,
},
PlatformHasNoConcept,
PlatformReportedNothing,
}
#[cfg(test)]
mod tests {
use super::AttachmentPath;
use super::DeviceDescriptor;
use super::PlatformDeviceHandle;
#[test]
fn evidence_types_distinguish_unsupported_concepts_from_missing_reports() {
assert_ne!(
PlatformDeviceHandle::PlatformHasNoConcept,
PlatformDeviceHandle::PlatformReportedNothing,
);
assert_ne!(
AttachmentPath::PlatformHasNoConcept,
AttachmentPath::PlatformReportedNothing,
);
assert_ne!(
DeviceDescriptor::PlatformHasNoConcept,
DeviceDescriptor::PlatformReportedNothing,
);
}
}