use std::{
env,
fs::File,
io::{BufReader, Read},
};
use binarygcode::{DeserialisedResult, Deserialiser};
fn main() {
let mut path = env::current_dir().unwrap();
path.push("test_files");
path.push("mini_cube_ps2.8.1.bgcode");
let file = File::open(path).unwrap();
let mut reader = BufReader::new(file);
let mut deserialiser = Deserialiser::default();
let mut buf = [0u8; 256];
loop {
let read = reader.read(buf.as_mut_slice()).unwrap();
if read == 0 {
break;
}
deserialiser.digest(&buf[..read]);
loop {
let r = deserialiser.deserialise().unwrap();
match r {
DeserialisedResult::FileHeader(fh) => {
println!("{:?}", fh);
}
DeserialisedResult::Block(b) => {
println!("{}", b);
}
DeserialisedResult::MoreBytesRequired(_) => {
break;
}
}
}
}
}