use crate::finding::Finding;
#[derive(Debug, Clone)]
pub struct RunInfo {
pub kind: &'static str,
pub total_iterations: u64,
pub tools: Vec<String>,
pub blocked: Vec<String>,
pub master_seed: Option<u64>,
}
pub trait Reporter: Send {
fn on_run_start(&mut self, _info: &RunInfo) {}
fn on_iteration_start(&mut self, _tool: &str, _iteration: u64) {}
fn on_iteration_end(&mut self, _tool: &str, _iteration: u64) {}
fn on_finding(&mut self, _finding: &Finding) {}
fn on_skipped(&mut self, _tool: &str, _reason: &str) {}
fn on_run_end(&mut self) {}
}
#[derive(Debug, Default)]
pub struct NoopReporter;
impl Reporter for NoopReporter {}