Skip to main content

gravityfile_ops/
lib.rs

1//! File operations engine for gravityfile.
2//!
3//! This crate provides async file operations (copy, move, rename, create, delete)
4//! with progress reporting via channels, following the same pattern as the
5//! existing deletion implementation.
6
7pub mod archive;
8mod conflict;
9mod copy;
10mod create;
11mod executor;
12mod move_op;
13mod operation;
14mod progress;
15mod rename;
16mod undo;
17
18pub use archive::{ArchiveError, ArchiveFormat, ArchiveResult, create_archive, extract_archive};
19pub use conflict::{Conflict, ConflictKind, ConflictResolution};
20pub use copy::{CopyOptions, CopyResult, start_copy};
21pub use create::{CreateResult, start_create_directory, start_create_file};
22pub use executor::{OperationExecutor, OperationResult, execute_undo};
23pub use move_op::{MoveComplete, MoveOptions, MoveResult, start_move};
24pub use operation::{FileOperation, OperationError};
25pub use progress::{OperationComplete, OperationProgress, OperationType};
26pub use rename::{RenameResult, start_rename};
27pub use tokio_util::sync::CancellationToken;
28pub use undo::{UndoEntry, UndoLog, UndoableOperation};
29
30/// Default channel buffer size for operation progress updates.
31pub const OPERATION_CHANNEL_SIZE: usize = 100;