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
7mod conflict;
8mod copy;
9mod create;
10mod executor;
11mod move_op;
12mod operation;
13mod progress;
14mod rename;
15mod undo;
16
17pub use conflict::{Conflict, ConflictKind, ConflictResolution};
18pub use copy::{start_copy, CopyOptions, CopyResult};
19pub use create::{start_create_directory, start_create_file, CreateResult};
20pub use executor::{execute_undo, OperationExecutor, OperationResult};
21pub use move_op::{start_move, MoveOptions, MoveResult};
22pub use operation::{FileOperation, OperationError};
23pub use progress::{OperationComplete, OperationProgress, OperationType};
24pub use rename::{start_rename, RenameResult};
25pub use undo::{UndoEntry, UndoLog, UndoableOperation};
26
27/// Default channel buffer size for operation progress updates.
28pub const OPERATION_CHANNEL_SIZE: usize = 100;