dscode_terminal/
tauri_sender.rs1use crate::TerminalEventSender;
2use tauri::{AppHandle, Emitter};
3
4pub struct TauriEventSender {
16 app_handle: AppHandle,
17}
18
19impl TauriEventSender {
20 pub fn new(app_handle: AppHandle) -> Self {
21 Self { app_handle }
22 }
23}
24
25impl TerminalEventSender for TauriEventSender {
26 fn send_output(&self, terminal_id: &str, data: &str) {
27 let event_name = format!("terminal-data:{}", terminal_id);
28 self.app_handle
29 .emit(&event_name, serde_json::json!({ "data": data }))
30 .ok();
31 }
32
33 fn send_close(&self, terminal_id: &str) {
34 self.app_handle.emit("terminal-closed", terminal_id).ok();
35 }
36}