chkpt_core/ops/
progress.rs1pub enum ProgressEvent {
3 ScanComplete { file_count: u64 },
5 ProcessStart { total: u64 },
6 ProcessFile { completed: u64, total: u64 },
7 PackComplete,
8
9 ScanCurrentComplete { file_count: u64 },
11 RestoreStart { add: u64, change: u64, remove: u64 },
12 RestoreFile { completed: u64, total: u64 },
13}
14
15pub type ProgressCallback = Option<Box<dyn Fn(ProgressEvent) + Send + Sync>>;
17
18#[inline]
19pub fn emit(progress: &ProgressCallback, event: ProgressEvent) {
20 if let Some(cb) = progress {
21 cb(event);
22 }
23}