1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//! PAK archive operations
pub use PakReaderCache;
pub use PakOperations;
use PakProgress;
/// Progress callback for PAK operations.
///
/// Receives a [`PakProgress`] struct with phase, current/total counts, and optional filename.
/// Must be `Sync + Send` to support parallel decompression/compression.
///
/// # Example
/// ```ignore
/// use maclarian::pak::{PakOperations, PakPhase};
///
/// PakOperations::extract_with_progress(pak, dest, &|progress| {
/// match progress.phase {
/// PakPhase::ReadingTable => println!("Reading file table..."),
/// PakPhase::DecompressingFiles => {
/// println!("{}/{}: {:?}", progress.current, progress.total, progress.current_file);
/// }
/// _ => {}
/// }
/// })?;
/// ```
pub type ProgressCallback<'a> = &'a ;