pub mod plain;
pub mod utf16be;
pub trait Encode {
fn encode(&self, data: &[u8]) -> Result<Vec<u8>, String>;
fn decode(&self, data: &[u8]) -> Result<Vec<u8>, String>;
}
#[derive(Debug, Default)]
pub enum Encoders {
Plain,
#[default]
Utf16be,
}
impl Encoders {
pub fn init(&self) -> Box<dyn Encode> {
match self {
Self::Plain => Box::new(plain::Plain::default()),
Self::Utf16be => Box::new(utf16be::Utf16be::default()),
}
}
}