preen-os
This crate serves as the Operating System Abstraction Layer (OSAL) for the Preen project.
It is responsible for implementing the Ports defined in preen-core with platform-specific code (e.g., calling macOS-specific APIs or reading Linux configuration files). This separation ensures that the core logic remains clean and portable.
Role in Architecture
In the Hexagonal Architecture, preen-os acts as the Adapter that connects the Core to the external world (the Operating System).
- Input: Receives requests from
preen-corevia theFileSystemPorttrait. - Output: Executes the necessary system calls and returns the results back to the Core.
Implementation Details (Planned)
- Conditional Compilation: Uses
#[cfg(target_os = "macos")]and#[cfg(target_os = "linux")]to include the correct platform-specific code. - Dependencies: Will rely on crates like
sysinfoor platform-specific FFI bindings for low-level access.
Usage
This is a library crate intended to be used by preen-core (or directly by the binaries if needed) within the main Preen workspace.
[]
= { = "../preen-os" }