Skip to main content

SettingsFacade

Trait SettingsFacade 

Source
pub(crate) trait SettingsFacade: Send + Sync {
    // Required methods
    fn index<'life0, 'life1, 'async_trait>(
        &'life0 self,
        caller: &'life1 SessionSlot,
    ) -> Pin<Box<dyn Future<Output = Result<String, SettingsError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn get<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        caller: &'life1 SessionSlot,
        key: &'life2 str,
    ) -> Pin<Box<dyn Future<Output = Result<SettingsValue, SettingsError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn set<'life0, 'life1, 'async_trait>(
        &'life0 self,
        caller: &'life1 SessionSlot,
        items: Vec<SettingsSetItem>,
    ) -> Pin<Box<dyn Future<Output = Result<SettingsWriteOutcome, SettingsError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn unset<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        caller: &'life1 SessionSlot,
        key: &'life2 str,
    ) -> Pin<Box<dyn Future<Output = Result<SettingsWriteOutcome, SettingsError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
}
Expand description

The settings tools’ view of the workspace.

Required Methods§

Source

fn index<'life0, 'life1, 'async_trait>( &'life0 self, caller: &'life1 SessionSlot, ) -> Pin<Box<dyn Future<Output = Result<String, SettingsError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

The compact catalogue: keys, types, state and effect class, no values.

Source

fn get<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, caller: &'life1 SessionSlot, key: &'life2 str, ) -> Pin<Box<dyn Future<Output = Result<SettingsValue, SettingsError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

One key’s effective value. The caller’s own project’s keys and the global keys read freely; another project’s key is refused by name.

Source

fn set<'life0, 'life1, 'async_trait>( &'life0 self, caller: &'life1 SessionSlot, items: Vec<SettingsSetItem>, ) -> Pin<Box<dyn Future<Output = Result<SettingsWriteOutcome, SettingsError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Set one or more keys, applied as one validated save and held for the reader’s approval.

Source

fn unset<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, caller: &'life1 SessionSlot, key: &'life2 str, ) -> Pin<Box<dyn Future<Output = Result<SettingsWriteOutcome, SettingsError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Clear one key, held for the reader’s approval.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§