/ src / profile / proxy / misc / memory.rs
memory.rs
 1  mod bool;
 2  use bool::Bool;
 3  
 4  // Shared values
 5  
 6  const HIGHLIGHT_REQUEST_ENTRY: &str = "highlight_request_entry";
 7  
 8  pub enum Memory {
 9      HighlightRequestEntry(Bool),
10  }
11  
12  impl Memory {
13      // Constructors
14  
15      pub fn from_db_row(key: &str, value: Option<String>) -> Option<Self> {
16          if key == HIGHLIGHT_REQUEST_ENTRY {
17              Some(Self::HighlightRequestEntry(Bool::from_db_value(value)))
18          } else {
19              None
20          }
21      }
22  
23      pub fn highlight_request_entry(value: bool) -> Self {
24          Memory::HighlightRequestEntry(Bool::from(value))
25      }
26  
27      // Actions
28  
29      pub fn into_db_row(self) -> (String, String) {
30          match self {
31              Self::HighlightRequestEntry(value) => {
32                  (HIGHLIGHT_REQUEST_ENTRY.to_string(), value.into_db_value())
33              }
34          }
35      }
36  
37      // Getters
38  
39      pub fn key(&self) -> &str {
40          match self {
41              Self::HighlightRequestEntry(..) => HIGHLIGHT_REQUEST_ENTRY,
42          }
43      }
44  }