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§