diff options
Diffstat (limited to 'crates/shirabe/src/repository')
| -rw-r--r-- | crates/shirabe/src/repository/writable_repository_interface.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/crates/shirabe/src/repository/writable_repository_interface.rs b/crates/shirabe/src/repository/writable_repository_interface.rs index 4f61900..3cb8b00 100644 --- a/crates/shirabe/src/repository/writable_repository_interface.rs +++ b/crates/shirabe/src/repository/writable_repository_interface.rs @@ -1 +1,22 @@ //! ref: composer/src/Composer/Repository/WritableRepositoryInterface.php + +use anyhow::Result; +use crate::installer::installation_manager::InstallationManager; +use crate::package::package_interface::PackageInterface; +use crate::repository::repository_interface::RepositoryInterface; + +pub trait WritableRepositoryInterface: RepositoryInterface { + fn write(&mut self, dev_mode: bool, installation_manager: &InstallationManager) -> Result<()>; + + fn add_package(&mut self, package: Box<dyn PackageInterface>) -> Result<()>; + + fn remove_package(&mut self, package: &dyn PackageInterface) -> Result<()>; + + fn get_canonical_packages(&self) -> Vec<Box<dyn PackageInterface>>; + + fn reload(&mut self); + + fn set_dev_package_names(&mut self, dev_package_names: Vec<String>); + + fn get_dev_package_names(&self) -> &Vec<String>; +} |
