DevelopmentNodeEnvironment_MicrosoftVSCodeDependency_22NodeVersion_Bundle_Clean_Debug_ElectronProfile_EsbuildCompiler_Mountain/RPC/CocoonService/Terminal/
AcceptTerminalProcessData.rs1use serde_json::json;
5use tauri::Emitter;
6use tonic::{Response, Status};
7
8use crate::{
9 RPC::CocoonService::CocoonServiceImpl,
10 Vine::Generated::{Empty, TerminalDataNotification},
11 dev_log,
12};
13
14pub async fn Fn(Service:&CocoonServiceImpl, Request:TerminalDataNotification) -> Result<Response<Empty>, Status> {
15 dev_log!(
16 "cocoon",
17 "[CocoonService] Terminal data for {}: {} bytes",
18 Request.terminal_id,
19 Request.data.len()
20 );
21
22 let DataString = String::from_utf8_lossy(&Request.data).to_string();
23
24 let _ = Service
25 .environment
26 .ApplicationHandle
27 .emit("sky://terminal/data", json!({ "id": Request.terminal_id, "data": DataString }));
28
29 Ok(Response::new(Empty {}))
30}