#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct FPorts {
pub fuota: ::std::option::Option<i32>,
pub multicast: ::std::option::Option<i32>,
pub clock_sync: ::std::option::Option<i32>,
pub positioning: ::std::option::Option<crate::types::Positioning>,
pub applications: ::std::option::Option<::std::vec::Vec<crate::types::ApplicationConfig>>,
}
impl FPorts {
pub fn fuota(&self) -> ::std::option::Option<i32> {
self.fuota
}
pub fn multicast(&self) -> ::std::option::Option<i32> {
self.multicast
}
pub fn clock_sync(&self) -> ::std::option::Option<i32> {
self.clock_sync
}
pub fn positioning(&self) -> ::std::option::Option<&crate::types::Positioning> {
self.positioning.as_ref()
}
pub fn applications(&self) -> &[crate::types::ApplicationConfig] {
self.applications.as_deref().unwrap_or_default()
}
}
impl FPorts {
pub fn builder() -> crate::types::builders::FPortsBuilder {
crate::types::builders::FPortsBuilder::default()
}
}
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct FPortsBuilder {
pub(crate) fuota: ::std::option::Option<i32>,
pub(crate) multicast: ::std::option::Option<i32>,
pub(crate) clock_sync: ::std::option::Option<i32>,
pub(crate) positioning: ::std::option::Option<crate::types::Positioning>,
pub(crate) applications: ::std::option::Option<::std::vec::Vec<crate::types::ApplicationConfig>>,
}
impl FPortsBuilder {
pub fn fuota(mut self, input: i32) -> Self {
self.fuota = ::std::option::Option::Some(input);
self
}
pub fn set_fuota(mut self, input: ::std::option::Option<i32>) -> Self {
self.fuota = input;
self
}
pub fn get_fuota(&self) -> &::std::option::Option<i32> {
&self.fuota
}
pub fn multicast(mut self, input: i32) -> Self {
self.multicast = ::std::option::Option::Some(input);
self
}
pub fn set_multicast(mut self, input: ::std::option::Option<i32>) -> Self {
self.multicast = input;
self
}
pub fn get_multicast(&self) -> &::std::option::Option<i32> {
&self.multicast
}
pub fn clock_sync(mut self, input: i32) -> Self {
self.clock_sync = ::std::option::Option::Some(input);
self
}
pub fn set_clock_sync(mut self, input: ::std::option::Option<i32>) -> Self {
self.clock_sync = input;
self
}
pub fn get_clock_sync(&self) -> &::std::option::Option<i32> {
&self.clock_sync
}
pub fn positioning(mut self, input: crate::types::Positioning) -> Self {
self.positioning = ::std::option::Option::Some(input);
self
}
pub fn set_positioning(mut self, input: ::std::option::Option<crate::types::Positioning>) -> Self {
self.positioning = input;
self
}
pub fn get_positioning(&self) -> &::std::option::Option<crate::types::Positioning> {
&self.positioning
}
pub fn applications(mut self, input: crate::types::ApplicationConfig) -> Self {
let mut v = self.applications.unwrap_or_default();
v.push(input);
self.applications = ::std::option::Option::Some(v);
self
}
pub fn set_applications(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ApplicationConfig>>) -> Self {
self.applications = input;
self
}
pub fn get_applications(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ApplicationConfig>> {
&self.applications
}
pub fn build(self) -> crate::types::FPorts {
crate::types::FPorts {
fuota: self.fuota,
multicast: self.multicast,
clock_sync: self.clock_sync,
positioning: self.positioning,
applications: self.applications,
}
}
}