maycoon_core/signal/
fixed.rs1use crate::signal::{Listener, Ref, Signal};
2use std::sync::Arc;
3
4#[derive(Clone)]
9pub struct FixedSignal<T> {
10 value: Arc<T>,
11}
12
13impl<T> FixedSignal<T> {
14 pub fn new(value: T) -> Self {
16 Self {
17 value: Arc::new(value),
18 }
19 }
20}
21
22impl<T: 'static> Signal<T> for FixedSignal<T> {
23 fn get(&self) -> Ref<T> {
24 Ref::Arc(self.value.clone())
25 }
26
27 fn set_value(&self, _: T) {}
28
29 fn listen(&mut self, _: Listener<T>) {}
30
31 fn notify(&self) {}
32}