use crate::manifest::SourceStats;
use crate::target::PublishResult;
pub trait ProgressCallback: Send {
fn on_source_start(&self, _index: usize, _name: &str, _max_items: Option<usize>) {}
fn on_source_progress(&self, _index: usize, _count: usize) {}
fn on_source_done(&self, _index: usize, _name: &str, _stats: &SourceStats) {}
fn on_source_cached(&self, _index: usize, _name: &str, _stats: &SourceStats) {}
fn on_source_error(&self, _index: usize, _name: &str, _error: &str) {}
fn on_publish_start(&self, _target: &str) {}
fn on_publish_done(&self, _target: &str, _result: &PublishResult) {}
fn on_publish_error(&self, _target: &str, _error: &str) {}
}
pub struct NullProgress;
impl ProgressCallback for NullProgress {}