Skip to main content

winget_types/
manifest.rs

1use crate::{ManifestType, ManifestVersion, PackageIdentifier, PackageVersion};
2
3pub trait Manifest {
4    const SCHEMA: &'static str;
5
6    const TYPE: ManifestType;
7
8    /// Returns the package identifier.
9    fn package_identifier(&self) -> &PackageIdentifier;
10
11    /// Returns the package version.
12    fn package_version(&self) -> &PackageVersion;
13
14    /// Returns the manifest version.
15    fn manifest_version(&self) -> ManifestVersion;
16
17    /// Updates the manifest version to the [latest](ManifestVersion::DEFAULT).
18    fn update_manifest_version(&mut self);
19}