sl4f_lib/modular/
types.rsuse serde::{Deserialize, Serialize};
pub enum ModularMethod {
RestartSession,
StartBasemgr,
KillBasemgr,
IsBasemgrRunning,
}
impl std::str::FromStr for ModularMethod {
type Err = anyhow::Error;
fn from_str(method: &str) -> Result<Self, Self::Err> {
match method {
"RestartSession" => Ok(ModularMethod::RestartSession),
"StartBasemgr" => Ok(ModularMethod::StartBasemgr),
"KillBasemgr" => Ok(ModularMethod::KillBasemgr),
"IsBasemgrRunning" => Ok(ModularMethod::IsBasemgrRunning),
_ => return Err(format_err!("invalid ModularMethod: {}", method)),
}
}
}
#[derive(Serialize, Deserialize, Debug)]
pub enum RestartSessionResult {
Success,
NoSessionToRestart,
Fail,
}
#[derive(Serialize, Deserialize, Debug)]
pub enum BasemgrResult {
Success,
Fail,
}
#[derive(Serialize, Deserialize, Debug)]
pub enum KillSessionResult {
Success,
NoSessionRunning,
}
#[derive(Deserialize, Default, Debug)]
pub struct StartBasemgrRequest {
pub session_url: String,
}
#[derive(Deserialize, Default, Debug)]
pub struct SessionArgs {
pub url: String,
}