rust-parser 0.1.2

Parser for various data types written in rust written Rust
Documentation
pub(crate) mod tag_length;
pub mod tlv_parser_error;

use crate::traits::FileParser;
use std::io::{BufReader, Read};

use self::tag_length::TagLength;

#[derive(Debug)]
pub struct BerTlv<'a> {
    _tag_length: Vec<TagLength>,
    _offset: usize,
    file: &'a str,
}

impl<'a> FileParser for BerTlv<'a> {
    fn print(&self) {
        let file = self.open();
        let buf_reader = BufReader::new(file);

        for (_i, byte) in buf_reader.bytes().enumerate() {
            if let Ok(data) = byte {
                print!("{:02X}", data);
            }
        }
    }

    fn write_to_file(&self) {
        todo!()
    }

    fn get_file_path(&self) -> &str {
        self.file
    }
}

impl<'a> BerTlv<'a> {
    pub(crate) fn new(file: &'a str) -> BerTlv {
        let tlv_parser = BerTlv {
            _offset: 0,
            file,
            _tag_length: vec![TagLength {
                _val_offset: 0,
                _tag: vec![1, 2, 3, 4],
                _len: 3,
            }],
        };

        tlv_parser.print();
        return tlv_parser;
    }
}