outlook-pst 0.1.2

Outlook PST Store Provider in Rust
Documentation
#![allow(dead_code)]

use std::io::{self, Read, Write};

use super::{prop_type::*, table_context::*, *};

pub trait HeapIdReadWrite: Copy + Sized {
    fn new(index: u16, block_index: u16) -> LtpResult<Self>;
    fn read(f: &mut dyn Read) -> io::Result<Self>;
    fn write(&self, f: &mut dyn Write) -> io::Result<()>;
}

pub trait HeapNodeReadWrite: Sized {
    fn read(f: &mut dyn Read) -> io::Result<Self>;
    fn write(&self, f: &mut dyn Write) -> io::Result<()>;
}

pub trait PropertyTreeRecordReadWrite: Sized {
    fn read(f: &mut dyn Read) -> io::Result<Self>;
    fn write(&self, f: &mut dyn Write) -> io::Result<()>;
}

pub trait PropertyValueReadWrite: Sized {
    fn read(f: &mut dyn Read, prop_type: PropertyType) -> io::Result<Self>;
    fn write(&self, f: &mut dyn Write) -> io::Result<()>;
}

pub trait TableContextReadWrite: Sized {
    fn read(f: &mut dyn Read) -> io::Result<Self>;
    fn write(&self, f: &mut dyn Write) -> io::Result<()>;
}

pub trait TableRowReadWrite: Sized {
    fn read(f: &mut dyn Read, context: &TableContextInfo) -> io::Result<Self>;
    fn write(&self, f: &mut dyn Write) -> io::Result<()>;
}