Create Cargo workspace at v2/ level with members: src-tauri, bterminal-core, bterminal-relay. Extract PtyManager and SidecarManager into shared bterminal-core crate with EventSink trait for abstracting event emission. TauriEventSink wraps AppHandle. src-tauri pty.rs and sidecar.rs become thin re-exports. Move Cargo.lock to workspace root. Add v2/target/ to .gitignore.
5 lines
239 B
Rust
5 lines
239 B
Rust
/// Trait for emitting events from PTY and sidecar managers.
|
|
/// Implemented by Tauri's AppHandle (controller) and WebSocket sender (relay).
|
|
pub trait EventSink: Send + Sync {
|
|
fn emit(&self, event: &str, payload: serde_json::Value);
|
|
}
|