From 637490bd75c0bfa959e7c662af9074c5da71ed46 Mon Sep 17 00:00:00 2001 From: Gregor Reitzenstein Date: Thu, 17 Sep 2020 11:46:05 +0200 Subject: [PATCH] Add sensors registry to global registries --- src/registries.rs | 5 ++++- src/registries/sensors.rs | 9 +++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/registries.rs b/src/registries.rs index bf7d371..069403a 100644 --- a/src/registries.rs +++ b/src/registries.rs @@ -2,6 +2,7 @@ mod actuators; mod sensors; pub use actuators::{Actuator, ActBox}; +pub use sensors::{Sensor, SensBox}; #[derive(Clone)] /// BFFH registries @@ -10,12 +11,14 @@ pub use actuators::{Actuator, ActBox}; /// reference, not clone the registries pub struct Registries { pub actuators: actuators::Actuators, + pub sensors: sensors::Sensors, } impl Registries { pub fn new() -> Self { Registries { - actuators: actuators::Actuators::new() + actuators: actuators::Actuators::new(), + sensors: sensors::Sensors::new(), } } } diff --git a/src/registries/sensors.rs b/src/registries/sensors.rs index 25c41ee..042a00c 100644 --- a/src/registries/sensors.rs +++ b/src/registries/sensors.rs @@ -7,10 +7,19 @@ use std::sync::Arc; use smol::lock::RwLock; use std::collections::HashMap; +#[derive(Clone)] pub struct Sensors { inner: Arc>, } +impl Sensors { + pub fn new() -> Self { + Sensors { + inner: Arc::new(RwLock::new(Inner::new())), + } + } +} + pub type SensBox<'a> = Box>; type Inner = HashMap>;