use binrw::BinRead;
use encoding_rs::Encoding;
#[cfg(feature = "serde")]
use serde::Serialize;
use crate::{strings::FixedSizeString, Guid};
#[derive(Clone, Debug, BinRead)]
#[cfg_attr(feature = "serde", derive(Serialize))]
#[br(import(block_size: u32, default_codepage: &'static Encoding), pre_assert(block_size == 0x0000_00060))]
#[allow(unused)]
pub struct TrackerDataBlock {
#[br(assert(length == 0x00000058))]
length: u32,
#[br(assert(version == 0x00000000))]
version: u32,
#[br(args(16, default_codepage), map=|s:FixedSizeString| s.to_string())]
machine_id: String,
droid: [Guid; 2],
droid_birth: [Guid; 2],
}