Files
DarkRoom/platform/dr-plat/src/lib.rs
T
dtourolle 509c3a3e96 Merge: a log that survives the process, so the tablet can be debugged
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

# Conflicts:
#	apps/darkroom-android/Cargo.toml
#	apps/darkroom-desktop/Cargo.toml
#	platform/dr-plat/src/lib.rs
2026-08-30 13:46:06 +02:00

35 lines
1.2 KiB
Rust

//! Platform abstraction for DarkRoom.
//!
//! Traits are defined here and implemented per platform, then injected at
//! construction, so `core/` contains no `#[cfg(target_os)]` (NFR-PORT-1,
//! ARCH §10).
// Neither of the next two is a trait, and they are the modules here that are
// not. They belong in this crate for the same reason the traits do: "where does
// this platform let an application keep state" is a platform question, and both
// entry points need the answer before either has a window. Resolving it in
// `apps/` would mean writing it twice, once per platform, which is the
// arrangement this crate exists to prevent.
pub mod crash;
pub mod diagnostics;
pub mod display;
pub mod secrets;
pub mod state;
pub mod storage;
pub mod volumes;
pub use diagnostics::{Installed, LogFile};
pub use display::{
Bounds, DisplayInfo, DisplayProfile, DisplayServer, DisplaySurvey, FallbackReason,
ProfileSource,
};
pub use secrets::{
EphemeralSecretStore, PlatformSecretStore, SecretError, SecretKind, SecretRef, SecretStore,
};
pub use state::{set_state_dir, state_dir};
pub use storage::{
DirRef, Entry, LocalStorage, NewFile, Node, SeekableRead, Storage, StorageError,
WritableStorage,
};
pub use volumes::{imports_supported, volumes, Volume};