Skip to main content

Mountain/RPC/CocoonService/Task/
TerminateTask.rs

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