cameleon_genapi/
register_description.rs

1/* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
5use super::elem_type::StandardNameSpace;
6
7#[derive(Clone, Debug)]
8pub struct RegisterDescription {
9    pub(crate) model_name: String,
10    pub(crate) vendor_name: String,
11    pub(crate) tooltip: Option<String>,
12    pub(crate) standard_name_space: StandardNameSpace,
13    pub(crate) schema_major_version: u64,
14    pub(crate) schema_minor_version: u64,
15    pub(crate) schema_subminor_version: u64,
16    pub(crate) major_version: u64,
17    pub(crate) minor_version: u64,
18    pub(crate) subminor_version: u64,
19    pub(crate) product_guid: String,
20    pub(crate) version_guid: String,
21}
22
23impl RegisterDescription {
24    #[must_use]
25    pub fn model_name(&self) -> &str {
26        &self.model_name
27    }
28
29    #[must_use]
30    pub fn vendor_name(&self) -> &str {
31        &self.vendor_name
32    }
33
34    #[must_use]
35    pub fn tooltip(&self) -> Option<&str> {
36        self.tooltip.as_deref()
37    }
38
39    #[must_use]
40    pub fn standard_name_space(&self) -> StandardNameSpace {
41        self.standard_name_space
42    }
43
44    #[must_use]
45    pub fn schema_major_version(&self) -> u64 {
46        self.schema_major_version
47    }
48
49    #[must_use]
50    pub fn schema_subminor_version(&self) -> u64 {
51        self.schema_subminor_version
52    }
53
54    #[must_use]
55    pub fn schema_minor_version(&self) -> u64 {
56        self.schema_minor_version
57    }
58
59    #[must_use]
60    pub fn major_version(&self) -> u64 {
61        self.major_version
62    }
63
64    #[must_use]
65    pub fn minor_version(&self) -> u64 {
66        self.minor_version
67    }
68
69    #[must_use]
70    pub fn subminor_version(&self) -> u64 {
71        self.subminor_version
72    }
73
74    #[must_use]
75    pub fn product_guid(&self) -> &str {
76        &self.product_guid
77    }
78
79    #[must_use]
80    pub fn version_guid(&self) -> &str {
81        &self.version_guid
82    }
83}