Trait KeyDirectory

Source
pub trait KeyDirectory: Send + Sync {
    // Required methods
    fn load(&self) -> Result<Vec<SafeAccount>, Error>;
    fn insert(&self, account: SafeAccount) -> Result<SafeAccount, Error>;
    fn update(&self, account: SafeAccount) -> Result<SafeAccount, Error>;
    fn remove(&self, account: &SafeAccount) -> Result<(), Error>;
    fn unique_repr(&self) -> Result<u64, Error>;

    // Provided methods
    fn path(&self) -> Option<&PathBuf> { ... }
    fn as_vault_provider(&self) -> Option<&dyn VaultKeyDirectoryProvider> { ... }
}
Expand description

Keys directory

Required Methods§

Source

fn load(&self) -> Result<Vec<SafeAccount>, Error>

Read keys from directory

Source

fn insert(&self, account: SafeAccount) -> Result<SafeAccount, Error>

Insert new key to directory

Source

fn update(&self, account: SafeAccount) -> Result<SafeAccount, Error>

Update key in the directory

Source

fn remove(&self, account: &SafeAccount) -> Result<(), Error>

Remove key from directory

Source

fn unique_repr(&self) -> Result<u64, Error>

Unique representation of directory account collection

Provided Methods§

Source

fn path(&self) -> Option<&PathBuf>

Get directory filesystem path, if available

Source

fn as_vault_provider(&self) -> Option<&dyn VaultKeyDirectoryProvider>

Return vault provider, if available

Implementors§