chopper 0.0.1

Chopper is a simple streaming time series inspection and manipulation tool.
Documentation
use std::fmt;
use std::io;
use std::path::Path;

pub trait TransportFactory {
    fn can_open(&self, path: &Path) -> bool;
    fn open(&self, path: &Path) -> io::Result<Box<dyn io::Read>>;
    fn box_clone(&self) -> Box<dyn TransportFactory>;
    fn factory_name(&self) -> &str;
}

impl Clone for Box<dyn TransportFactory> {
    fn clone(&self) -> Box<dyn TransportFactory> {
        self.box_clone()
    }
}

impl fmt::Debug for dyn TransportFactory {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        write!(f, "{:?}", self.factory_name())
    }
}