From eea4efe87e455742ec17881ee93d8095925e8516 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Thu, 28 May 2026 22:43:11 +0900 Subject: refactor(repository): introduce Rc> handles for repositories Co-Authored-By: Claude Opus 4.7 (1M context) --- crates/shirabe/src/package/handle.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'crates/shirabe/src/package/handle.rs') diff --git a/crates/shirabe/src/package/handle.rs b/crates/shirabe/src/package/handle.rs index 931e196..e939c3a 100644 --- a/crates/shirabe/src/package/handle.rs +++ b/crates/shirabe/src/package/handle.rs @@ -273,11 +273,11 @@ macro_rules! delegate_package_interface_to_inner { } fn set_repository( &mut self, - repository: Box, + repository: crate::repository::RepositoryInterfaceHandle, ) -> anyhow::Result<()> { self.$field.set_repository(repository) } - fn get_repository(&self) -> Option<&dyn crate::repository::RepositoryInterface> { + fn get_repository(&self) -> Option { self.$field.get_repository() } fn get_binaries(&self) -> Vec { @@ -588,7 +588,7 @@ macro_rules! impl_package_interface_handle { pub fn set_repository( &self, - repository: Box, + repository: crate::repository::RepositoryInterfaceHandle, ) -> anyhow::Result<()> { self.0 .borrow_mut() @@ -596,6 +596,10 @@ macro_rules! impl_package_interface_handle { .set_repository(repository) } + pub fn get_repository(&self) -> Option { + self.0.borrow().as_package_interface().get_repository() + } + pub fn get_binaries(&self) -> Vec { self.0.borrow().as_package_interface().get_binaries() } -- cgit v1.3.1