pub trait KeybindPersistence: Send + Sync {
// Required methods
fn save_profile(&self, profile: &Profile) -> Result<(), PersistenceError>;
fn load_profile(&self, name: &str) -> Result<Profile, PersistenceError>;
fn delete_profile(&self, name: &str) -> Result<(), PersistenceError>;
fn list_profiles(&self) -> Result<Vec<String>, PersistenceError>;
}Expand description
Trait for persisting keybind profiles
Required Methods§
Sourcefn save_profile(&self, profile: &Profile) -> Result<(), PersistenceError>
fn save_profile(&self, profile: &Profile) -> Result<(), PersistenceError>
Save a profile to storage
Sourcefn load_profile(&self, name: &str) -> Result<Profile, PersistenceError>
fn load_profile(&self, name: &str) -> Result<Profile, PersistenceError>
Load a profile from storage
Sourcefn delete_profile(&self, name: &str) -> Result<(), PersistenceError>
fn delete_profile(&self, name: &str) -> Result<(), PersistenceError>
Delete a profile from storage
Sourcefn list_profiles(&self) -> Result<Vec<String>, PersistenceError>
fn list_profiles(&self) -> Result<Vec<String>, PersistenceError>
List all saved profiles