1use crate::protocol::{Request, Response};
2
3pub async fn execute(session: &str, target: &str) -> i32 {
4 let req = Request::Stop {
5 target: target.into(),
6 };
7 match crate::cli::request(session, &req, false).await {
8 Ok(Response::Ok { message }) => {
9 println!("{}", message);
10 0
11 }
12 Ok(Response::Error { code, message }) => {
13 eprintln!("error: {}", message);
14 code
15 }
16 _ => 1,
17 }
18}
19
20pub async fn execute_all(session: &str) -> i32 {
21 let req = Request::StopAll;
22 match crate::cli::request(session, &req, false).await {
23 Ok(Response::Ok { message }) => {
24 println!("{}", message);
25 0
26 }
27 Ok(Response::Error { code, message }) => {
28 eprintln!("error: {}", message);
29 code
30 }
31 _ => 1,
32 }
33}