Mountain/RPC/CocoonService/Task/TerminateTask.rs
1//! Forward a task-termination request to Sky over
2//! `sky://task/terminate`.
3
4use serde_json::json;
5use tauri::Emitter;
6use tonic::{Response, Status};
7use ::Vine::Generated::{Empty, TerminateTaskRequest};
8
9use crate::{RPC::CocoonService::CocoonServiceImpl, dev_log};
10
11pub async fn Fn(Service:&CocoonServiceImpl, Request:TerminateTaskRequest) -> Result<Response<Empty>, Status> {
12 dev_log!("cocoon", "[CocoonService] terminate_task: id={}", Request.task_id);
13
14 let _ = Service
15 .environment
16 .ApplicationHandle
17 .emit("sky://task/terminate", json!({ "id": Request.task_id }));
18
19 Ok(Response::new(Empty {}))
20}