aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/package/alias_package.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe/src/package/alias_package.rs')
-rw-r--r--crates/shirabe/src/package/alias_package.rs52
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!()
+ }
+}