sysfuss 0.3.0

sysfs wrapper for convenience
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
use crate::SysAttributeExt;

pub struct AttributeCapabilities<A: crate::SysAttribute, E: crate::SysEntityAttributes<A> + ?Sized> {
    pub(crate) required: Vec<A>,
    pub(crate) _entity_ty: std::marker::PhantomData<E>,
}

impl <A: crate::SysAttribute, E: crate::SysEntityAttributes<A> + ?Sized> super::Capabilities<A, E> for AttributeCapabilities<A, E> {
    fn satisfies(&mut self, entity: &E) -> bool {
        self.required.iter()
            .all(|attr| attr.path(entity).is_file())
    }
}