forester_rs/runtime/env/daemon/
context.rs

1use crate::runtime::blackboard::BBRef;
2use crate::runtime::context::{TracerRef, TreeContext, TreeContextRef};
3
4/// The context for the daemon.
5#[derive(Clone, Default, Debug)]
6pub struct DaemonContext {
7    pub bb: BBRef,
8    pub tracer: TracerRef,
9}
10
11impl DaemonContext {
12    pub fn new(bb: BBRef, tracer: TracerRef) -> Self {
13        Self { bb, tracer }
14    }
15}
16
17impl From<TreeContext> for DaemonContext {
18    fn from(mut value: TreeContext) -> Self {
19        DaemonContext {
20            bb: value.bb(),
21            tracer: value.tracer(),
22
23        }
24    }
25}impl From<TreeContextRef> for DaemonContext {
26    fn from(value: TreeContextRef) -> Self {
27        DaemonContext {
28            bb: value.bb(),
29            tracer: value.tracer(),
30
31        }
32    }
33}