context_engine/
required.rs1use core::primitive::usize;
4use alloc::collections::BTreeMap;
5use crate::provided::Tree;
6
7#[derive(Debug)]
8pub enum SetOutcome {
9 Created(usize),
10 Updated,
11}
12
13pub trait Store {
15 fn get(
16 &self,
17 key: &[u8],
18 args: &BTreeMap<&str, Tree>,
19 ) -> Option<Tree>;
20
21 fn set(
22 &self,
23 key: &[u8],
24 args: &BTreeMap<&str, Tree>,
25 ) -> Option<SetOutcome>;
26
27 fn delete(
28 &self,
29 key: &[u8],
30 args: &BTreeMap<&str, Tree>,
31 ) -> bool;
32}
33
34pub trait Stores {
37 fn store_for(&self, id: u8) -> Option<&dyn Store>;
38}