From 3f3ac8d4ba5efc673efe5f7f686acdfa5970ba4a Mon Sep 17 00:00:00 2001 From: nsfisis Date: Thu, 14 May 2026 19:46:17 +0900 Subject: feat(port): port WritableRepositoryInterface.php --- .../src/repository/writable_repository_interface.rs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'crates/shirabe/src/repository') 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) -> Result<()>; + + fn remove_package(&mut self, package: &dyn PackageInterface) -> Result<()>; + + fn get_canonical_packages(&self) -> Vec>; + + fn reload(&mut self); + + fn set_dev_package_names(&mut self, dev_package_names: Vec); + + fn get_dev_package_names(&self) -> &Vec; +} -- cgit v1.3.1