use crate::errors::*;
pub type ProgressCallback<'a, T> = dyn (FnMut(&T) -> Result<()>) + Send + Sync + 'a;
pub struct ProgressOptions<'a, T: 'static> {
pub(crate) callback: Option<&'a mut ProgressCallback<'a, T>>,
}
impl<'a, T: 'static> ProgressOptions<'a, T> {
pub fn callback(mut self, callback: &'a mut ProgressCallback<'a, T>) -> Self {
self.callback = Some(callback);
self
}
}
impl<'a, T: 'static> Default for ProgressOptions<'a, T> {
fn default() -> Self {
ProgressOptions { callback: None }
}
}