pub struct SessionModelManager { /* private fields */ }Expand description
Manages the session-model overlay lifecycle.
Tracks original config values so we can:
- Restore before save_config() to prevent leaking overlay to settings.json
- Revert on /session-model clear or /clear
Implementations§
Source§impl SessionModelManager
impl SessionModelManager
Sourcepub fn apply<G, S>(
&mut self,
overlay: &SessionOverlay,
get_config_value: G,
set_config_value: S,
)
pub fn apply<G, S>( &mut self, overlay: &SessionOverlay, get_config_value: G, set_config_value: S, )
Apply an overlay, recording the original values from the provided config getter.
The get_config_value closure retrieves the current config value for a given key.
The set_config_value closure applies the override.
Sourcepub fn restore<S>(&mut self, set_config_value: S)
pub fn restore<S>(&mut self, set_config_value: S)
Restore original config values, removing the overlay.
The set_config_value closure applies each restored value.
Sourcepub fn get_overlay(&self) -> Option<&SessionOverlay>
pub fn get_overlay(&self) -> Option<&SessionOverlay>
Return the current overlay dict (for persistence).
Trait Implementations§
Source§impl Clone for SessionModelManager
impl Clone for SessionModelManager
Source§fn clone(&self) -> SessionModelManager
fn clone(&self) -> SessionModelManager
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SessionModelManager
impl Debug for SessionModelManager
Source§impl Default for SessionModelManager
impl Default for SessionModelManager
Source§impl<'de> Deserialize<'de> for SessionModelManager
impl<'de> Deserialize<'de> for SessionModelManager
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for SessionModelManager
impl RefUnwindSafe for SessionModelManager
impl Send for SessionModelManager
impl Sync for SessionModelManager
impl Unpin for SessionModelManager
impl UnsafeUnpin for SessionModelManager
impl UnwindSafe for SessionModelManager
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more