support_kit/service/
service_command.rs1use std::ffi::OsString;
2
3use clap::Parser;
4use serde::{Deserialize, Serialize};
5use strum::{EnumString, VariantNames};
6
7#[derive(Clone, Debug, Deserialize, Parser, EnumString, VariantNames, Serialize, PartialEq)]
8#[clap(rename_all = "kebab-case")]
9#[strum(serialize_all = "kebab-case")]
10pub enum ServiceCommand {
11 Install(InstallArgs),
12 Uninstall,
13 Start,
14 Stop,
15}
16
17#[derive(Clone, Debug, Default, Deserialize, Parser, Serialize, PartialEq)]
18#[clap(rename_all = "kebab-case")]
19pub struct InstallArgs {
20 #[clap(raw = true, required = false)]
21 pub args: Vec<OsString>,
22}
23
24impl ServiceCommand {
25 pub fn options() -> &'static [&'static str] {
26 Self::VARIANTS
27 }
28}