pub trait AnyConfig: Send + Any {
// Required methods
fn status(&self) -> Box<dyn VarBoxed<ConfigStatus>>;
fn get_raw(
&mut self,
key: Txt,
default: RawConfigValue,
insert: bool,
shared: bool,
) -> Box<dyn VarBoxed<RawConfigValue>>;
fn contains_key(&mut self, key: Txt) -> Box<dyn VarBoxed<bool>>;
fn remove(&mut self, key: &Txt) -> bool;
fn low_memory(&mut self);
}
Expand description
Represents one or more config sources behind a dynamic reference.
See Config
for the full trait.
Required Methods§
sourcefn status(&self) -> Box<dyn VarBoxed<ConfigStatus>>
fn status(&self) -> Box<dyn VarBoxed<ConfigStatus>>
Gets a read-only variable that represents the IO status of the config.
sourcefn get_raw(
&mut self,
key: Txt,
default: RawConfigValue,
insert: bool,
shared: bool,
) -> Box<dyn VarBoxed<RawConfigValue>>
fn get_raw( &mut self, key: Txt, default: RawConfigValue, insert: bool, shared: bool, ) -> Box<dyn VarBoxed<RawConfigValue>>
Gets a weak typed variable to the config key
.
This method is used when T
cannot be passed because the config is behind a dynamic reference,
the backend must convert the value from the in memory representation to RawConfigValue
.
If shared
is true
and the key was already requested the same var is returned, if false
a new variable is always generated. Note that if you have two different variables for the same
key they will go out-of-sync as updates from setting one variable do not propagate to the other.
The default
value is used if the key is not found in the config, the default value
is only inserted in the config if insert
, otherwise the key is inserted or replaced only when the returned variable changes.
sourcefn contains_key(&mut self, key: Txt) -> Box<dyn VarBoxed<bool>>
fn contains_key(&mut self, key: Txt) -> Box<dyn VarBoxed<bool>>
Gets a read-only variable that tracks if an entry for the key
is in the backing storage.
sourcefn remove(&mut self, key: &Txt) -> bool
fn remove(&mut self, key: &Txt) -> bool
Removes the key
from the backing storage.
Any active config variable for the key will continue to work normally, retaining the last config value and re-inserting the key if assigned a new value.
Returns true
if the key was found and will be removed in the next app update.
Returns false
if the key was not found or the config is read-only.
sourcefn low_memory(&mut self)
fn low_memory(&mut self)
Cleanup and flush RAM caches.