nominal_api/conjure/objects/scout/run/api/
channel_metadata.rs1#[derive(
2 Debug,
3 Clone,
4 conjure_object::serde::Serialize,
5 conjure_object::serde::Deserialize,
6 PartialEq,
7 Eq,
8 PartialOrd,
9 Ord,
10 Hash
11)]
12#[serde(crate = "conjure_object::serde")]
13#[conjure_object::private::staged_builder::staged_builder]
14#[builder(crate = conjure_object::private::staged_builder, update, inline)]
15pub struct ChannelMetadata {
16 #[serde(rename = "name")]
17 name: super::super::super::super::api::Channel,
18 #[builder(custom(type = super::DataSource, convert = Box::new))]
19 #[serde(rename = "dataSource")]
20 data_source: Box<super::DataSource>,
21 #[builder(
22 default,
23 custom(
24 type = impl
25 Into<Option<super::Unit>>,
26 convert = |v|v.into().map(Box::new)
27 )
28 )]
29 #[serde(rename = "unit", skip_serializing_if = "Option::is_none", default)]
30 unit: Option<Box<super::Unit>>,
31 #[builder(default, into)]
32 #[serde(rename = "description", skip_serializing_if = "Option::is_none", default)]
33 description: Option<String>,
34 #[builder(default, into)]
35 #[serde(rename = "dataType", skip_serializing_if = "Option::is_none", default)]
36 data_type: Option<super::super::super::super::api::SeriesDataType>,
37}
38impl ChannelMetadata {
39 #[inline]
41 pub fn new(
42 name: super::super::super::super::api::Channel,
43 data_source: super::DataSource,
44 ) -> Self {
45 Self::builder().name(name).data_source(data_source).build()
46 }
47 #[inline]
48 pub fn name(&self) -> &super::super::super::super::api::Channel {
49 &self.name
50 }
51 #[inline]
52 pub fn data_source(&self) -> &super::DataSource {
53 &*self.data_source
54 }
55 #[inline]
56 pub fn unit(&self) -> Option<&super::Unit> {
57 self.unit.as_ref().map(|o| &**o)
58 }
59 #[inline]
60 pub fn description(&self) -> Option<&str> {
61 self.description.as_ref().map(|o| &**o)
62 }
63 #[inline]
64 pub fn data_type(&self) -> Option<&super::super::super::super::api::SeriesDataType> {
65 self.data_type.as_ref().map(|o| &*o)
66 }
67}