soar_package/traits.rs
1//! Traits for package operations.
2
3/// Trait for types that represent package metadata.
4///
5/// This trait provides access to basic package information needed for
6/// integration operations like desktop file creation and symlink management.
7pub trait PackageExt {
8 /// Returns the package name (human-readable name).
9 fn pkg_name(&self) -> &str;
10
11 /// Returns the unique package identifier.
12 fn pkg_id(&self) -> &str;
13
14 /// Returns the package version string.
15 fn version(&self) -> &str;
16
17 /// Returns the repository name this package belongs to.
18 fn repo_name(&self) -> &str;
19}