use super::commands::*;
#[derive(Debug, Clone, Default)]
pub struct DisableBuilder;
impl DisableBuilder {
pub fn new() -> Self {
Self
}
pub fn build(self) -> Disable {
Disable {
method: DisableMethod::Disable,
params: DisableParams {},
}
}
}
impl Disable {
pub fn builder() -> DisableBuilder {
DisableBuilder
}
}
impl Enable {
pub fn builder() -> EnableBuilder {
<EnableBuilder as Default>::default()
}
}
#[derive(Default, Clone)]
pub struct EnableBuilder {
time_domain: Option<EnableTimeDomain>,
}
impl EnableBuilder {
pub fn time_domain(mut self, time_domain: impl Into<EnableTimeDomain>) -> Self {
self.time_domain = Some(time_domain.into());
self
}
pub fn build(self) -> Enable {
Enable {
method: EnableMethod::Enable,
params: EnableParams {
time_domain: self.time_domain,
},
}
}
}
#[derive(Debug, Clone, Default)]
pub struct GetMetricsBuilder;
impl GetMetricsBuilder {
pub fn new() -> Self {
Self
}
pub fn build(self) -> GetMetrics {
GetMetrics {
method: GetMetricsMethod::GetMetrics,
params: GetMetricsParams {},
}
}
}
impl GetMetrics {
pub fn builder() -> GetMetricsBuilder {
GetMetricsBuilder
}
}