mirror of
https://github.com/narrrl/proton-drive-linux.git
synced 2026-11-04 16:56:59 +01:00
`Core` held a concrete `ProtonDriveClient`, so no test could make Drive answer late, answer stale or not answer. This is the first step of phase 0 in docs/MILESTONE-3.0.0.md. `DriveApi` (`crates/pdfs-fuse/src/drive.rs`) covers the calls the sync core makes: listings, events, creates, uploads, downloads, renames, moves, trashes and restores. `ProtonDriveClient` implements it by forwarding. `Core::drive` holds it, and every call of those methods now goes through it. Sharing, Photos, devices, invitations and public links stay on `Core::client`. The trait takes readers and writers as trait objects, and `impl dyn DriveApi` puts the client's generic signatures back, so call sites read the same. Block reads go through `RevisionRead` instead of the SDK's `RevisionReader`, which only the SDK can construct. No behaviour change.
28 lines
655 B
TOML
28 lines
655 B
TOML
[package]
|
|
name = "pdfs-fuse"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
authors.workspace = true
|
|
rust-version.workspace = true
|
|
repository.workspace = true
|
|
homepage.workspace = true
|
|
description = "FUSE on-demand filesystem for Proton Drive"
|
|
|
|
[dependencies]
|
|
pdfs-core.workspace = true
|
|
zip.workspace = true
|
|
sha1.workspace = true
|
|
proton-drive-rs.workspace = true
|
|
futures.workspace = true
|
|
async-trait.workspace = true
|
|
tokio.workspace = true
|
|
tracing.workspace = true
|
|
fuser.workspace = true
|
|
libc.workspace = true
|
|
serde_json.workspace = true
|
|
base64.workspace = true
|
|
image.workspace = true
|
|
notify = "8"
|
|
parking_lot.workspace = true
|