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.
11 lines
337 B
Rust
11 lines
337 B
Rust
use bterminal_core::event::EventSink;
|
|
use tauri::{AppHandle, Emitter};
|
|
|
|
/// Bridges bterminal-core's EventSink trait to Tauri's event system.
|
|
pub struct TauriEventSink(pub AppHandle);
|
|
|
|
impl EventSink for TauriEventSink {
|
|
fn emit(&self, event: &str, payload: serde_json::Value) {
|
|
let _ = self.0.emit(event, &payload);
|
|
}
|
|
}
|