signet 0.0.1

code signing tool
Documentation
use std::io::Result;
use std::path::{Path, PathBuf};

pub trait System {
    fn init(path: &Path, data: &[u8])  -> Result<()>;
    fn sync(path: &Path, data: &[u8])  -> Result<()>;

    fn mkdir(path: &Path)              -> Result<()>;
    fn read(input: &Input)             -> Result<Vec<u8>>;
    fn write(path: &Path, data: &[u8]) -> Result<()>;

    fn prompt(prompt: &str)            -> Result<String>;
}

#[derive(Clone, Debug)]
pub enum Input {
    File(PathBuf),
    Stdin,
}

impl From<PathBuf> for Input {
    fn from(path: PathBuf) -> Self {
        Self::File(path)
    }
}