sysfs_rs/
system.rs

1use node::Node;
2
3#[derive(Clone, Debug)]
4pub struct System {
5    nodes: Vec<Node>,
6}
7
8impl System {
9    pub fn new() -> Result<System, &'static str> {
10        let system: System = Default::default();
11        system.init()
12    }
13
14    fn init(mut self) -> Result<Self, &'static str> {
15        // TODO: popolate Nodes
16        for i in 0..4096 {
17            match Node::new(i) {
18                Ok(n) => {
19                    self.nodes.push(n);
20                }
21                Err(_) => {
22                    break;
23                }
24            }
25        }
26
27        Ok(self)
28    }
29
30    pub fn nodes(&self) -> Vec<Node> {
31        self.nodes.clone()
32    }
33}
34
35impl Default for System {
36    fn default() -> System {
37        System { nodes: Vec::new() }
38    }
39}