use discover::MdnsDiscoverArgs;
use register::MdnsRegisterArgs;
use resolve::MdnsResolveArgs;
use crate::config::util::*;
pub mod discover;
pub mod register;
pub mod resolve;
#[derive(Debug, Args, Clone)]
#[command(arg_required_else_help = true)]
pub struct MdnsArgs {
#[command(subcommand)]
pub subcmd: MdnsCommand,
}
#[derive(Subcommand, Clone, Debug)]
pub enum MdnsCommand {
Discover(MdnsDiscoverArgs),
Resolve(MdnsResolveArgs),
Register(MdnsRegisterArgs),
}
#[derive(Debug, Args, Clone)]
pub struct ServiceTypeArgs {
#[arg(name("service-label"), short('l'), long, value_name = "SERVICE_LABEL")]
pub label: String,
#[arg(
name = "service-protocol",
long,
visible_alias("proto"),
value_name = "PROTOCOL"
)]
pub protocol: super::misc::TransportLayerProtocol,
}