scsys_xtask/pipes/watch/builder/
impl_builder.rs1use super::{Builder, BuilderInner};
6use crate::pipes::watch::{WatcherConfig, WatcherState};
7use std::sync::Arc;
8
9impl Builder {
10 pub fn new(config: WatcherConfig, state: WatcherState) -> Self {
21 Self {
22 inner: Arc::new(BuilderInner::new(config, state)),
23 }
24 }
25}
26
27impl Clone for Builder {
28 fn clone(&self) -> Self {
29 Self {
30 inner: Arc::clone(&self.inner),
31 }
32 }
33}
34
35impl AsRef<Arc<BuilderInner>> for Builder {
36 fn as_ref(&self) -> &Arc<BuilderInner> {
37 &self.inner
38 }
39}
40
41impl AsMut<Arc<BuilderInner>> for Builder {
42 fn as_mut(&mut self) -> &mut Arc<BuilderInner> {
43 &mut self.inner
44 }
45}
46
47impl core::ops::Deref for Builder {
48 type Target = BuilderInner;
49
50 fn deref(&self) -> &Self::Target {
51 &self.inner
52 }
53}
54
55impl core::ops::DerefMut for Builder {
56 fn deref_mut(&mut self) -> &mut Self::Target {
57 Arc::make_mut(&mut self.inner)
58 }
59}