diff options
Diffstat (limited to 'crates/shirabe/src/package/alias_package.rs')
| -rw-r--r-- | crates/shirabe/src/package/alias_package.rs | 52 |
1 files changed, 51 insertions, 1 deletions
diff --git a/crates/shirabe/src/package/alias_package.rs b/crates/shirabe/src/package/alias_package.rs index a101a1f..a427913 100644 --- a/crates/shirabe/src/package/alias_package.rs +++ b/crates/shirabe/src/package/alias_package.rs @@ -13,7 +13,11 @@ use crate::repository::repository_interface::RepositoryInterface; #[derive(Debug)] pub struct AliasPackage { - pub(crate) inner: BasePackage, + id: i64, + name: String, + pretty_name: String, + repository: Option<Box<dyn RepositoryInterface>>, + /// @var string pub(crate) version: String, /// @var string @@ -427,3 +431,49 @@ impl PackageInterface for AliasPackage { self.inner.get_repository() } } + +impl BasePackage for AliasPackage { + fn id(&self) -> i64 { + self.id + } + + fn id_mut(&mut self) -> &mut i64 { + &mut self.id + } + + fn name(&self) -> &str { + &self.name + } + + fn name_mut(&mut self) -> &mut String { + &mut self.name + } + + fn pretty_name(&self) -> &str { + &self.pretty_name + } + + fn pretty_name_mut(&mut self) -> &mut String { + &mut self.pretty_name + } + + fn repository_opt(&self) -> Option<&dyn RepositoryInterface> { + self.repository.as_ref() + } + + fn set_repository_box(&mut self, repository: Box<dyn RepositoryInterface>) { + todo!() + } + + fn take_repository(&mut self) -> Option<Box<dyn RepositoryInterface>> { + todo!() + } + + fn as_any(&self) -> &dyn std::any::Any { + todo!() + } + + fn clone_box(&self) -> Box<dyn BasePackage> { + todo!() + } +} |
