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}