Skip to main content

upstream_rs/services/packaging/
progress.rs

1#[derive(Debug, Clone, Copy, PartialEq, Eq)]
2pub enum PackagePhase {
3    CreatingSnapshot,
4    RemovingRuntimeLinks,
5    ResolvingRelease,
6    DownloadingPackage,
7    ChecksummingPackage,
8    VerifyingSignature,
9    InstallingPackage,
10    ExtractingPackage,
11    CreatingRuntimeLinks,
12    CreatingDesktopEntry,
13    InstallingCompletions,
14    SavingMetadata,
15    RebuildingFromSource,
16    RemovingPackage,
17    RemovingMetadata,
18    PurgingPackageData,
19    RollingBack,
20    RestoringSnapshot,
21}
22
23impl PackagePhase {
24    pub fn label(self) -> &'static str {
25        match self {
26            Self::CreatingSnapshot => "Creating snapshot ...",
27            Self::RemovingRuntimeLinks => "Removing runtime links ...",
28            Self::ResolvingRelease => "Resolving release ...",
29            Self::DownloadingPackage => "Downloading package ...",
30            Self::ChecksummingPackage => "Checksumming package ...",
31            Self::VerifyingSignature => "Verifying signature ...",
32            Self::InstallingPackage => "Installing package ...",
33            Self::ExtractingPackage => "Extracting package ...",
34            Self::CreatingRuntimeLinks => "Creating runtime links ...",
35            Self::CreatingDesktopEntry => "Creating desktop entry ...",
36            Self::InstallingCompletions => "Installing completions ...",
37            Self::SavingMetadata => "Saving metadata ...",
38            Self::RebuildingFromSource => "Rebuilding from source ...",
39            Self::RemovingPackage => "Removing package ...",
40            Self::RemovingMetadata => "Removing metadata ...",
41            Self::PurgingPackageData => "Purging package data ...",
42            Self::RollingBack => "Rolling back ...",
43            Self::RestoringSnapshot => "Restoring snapshot ...",
44        }
45    }
46}
47
48#[derive(Debug, Clone, PartialEq, Eq)]
49pub enum PackageProgressEvent {
50    Phase(PackagePhase),
51    Download { downloaded: u64, total: u64 },
52    Warning(String),
53}
54
55#[derive(Debug, Clone, Copy, PartialEq, Eq)]
56pub enum OperationPhase {
57    SerializingManifest,
58    WritingManifest,
59    ScanningFiles,
60    ArchivingFiles,
61    FinalizingArchive,
62    ImportingManifest,
63    ImportingKeys,
64    ExtractingSnapshot,
65    CreatingSnapshotBackup,
66    RestoringSnapshot,
67    LoadingMetadata,
68}
69
70impl OperationPhase {
71    pub fn label(self) -> &'static str {
72        match self {
73            Self::SerializingManifest => "Serializing manifest ...",
74            Self::WritingManifest => "Writing manifest ...",
75            Self::ScanningFiles => "Scanning files ...",
76            Self::ArchivingFiles => "Archiving files ...",
77            Self::FinalizingArchive => "Finalizing archive ...",
78            Self::ImportingManifest => "Importing manifest ...",
79            Self::ImportingKeys => "Importing keys ...",
80            Self::ExtractingSnapshot => "Extracting snapshot ...",
81            Self::CreatingSnapshotBackup => "Creating snapshot backup ...",
82            Self::RestoringSnapshot => "Restoring snapshot ...",
83            Self::LoadingMetadata => "Loading metadata ...",
84        }
85    }
86}
87
88#[derive(Debug, Clone, PartialEq, Eq)]
89pub enum OperationProgressEvent {
90    Phase(OperationPhase),
91    Count { done: u64, total: u64 },
92    Warning(String),
93    Detail(String),
94}