abxml 0.8.2

Parser for resources.arsc contained on APKs and binary XML decompresser.
Documentation
use super::{ChunkVisitor, Origin};
use crate::{
    chunks::{PackageWrapper, StringTableWrapper, TableTypeWrapper, TypeSpecWrapper},
    model::{StringTable, TableType, TypeSpec},
};

#[allow(dead_code)]
#[derive(Debug)]
pub struct PrintVisitor;

impl<'a> ChunkVisitor<'a> for PrintVisitor {
    fn visit_string_table(&mut self, string_table: StringTableWrapper, origin: Origin) {
        println!("String Table!");
        println!(
            "\tLength ({:?}): {} ",
            origin,
            string_table.get_strings_len()
        );
    }

    fn visit_package(&mut self, package: PackageWrapper) {
        println!("Package!");
        println!("\tId: {}", package.get_id().unwrap());
        println!("\tName: {}", package.get_name().unwrap());
    }

    fn visit_table_type(&mut self, table_type: TableTypeWrapper) {
        println!("Table type!");
        println!("\tId: {}", table_type.get_id().unwrap());
    }

    fn visit_type_spec(&mut self, type_spec: TypeSpecWrapper) {
        println!("Type spec!");
        println!("\tId: {}", type_spec.get_id().unwrap());
    }
}