opcua_types/service_types/
configuration_version_data_type.rs1#![allow(unused_attributes)]
9use std::io::{Read, Write};
10#[allow(unused_imports)]
11use crate::{
12 encoding::*,
13 basic_types::*,
14 service_types::impls::MessageInfo,
15 node_ids::ObjectId,
16};
17
18#[derive(Debug, Clone, PartialEq)]
19pub struct ConfigurationVersionDataType {
20 pub major_version: u32,
21 pub minor_version: u32,
22}
23
24impl MessageInfo for ConfigurationVersionDataType {
25 fn object_id(&self) -> ObjectId {
26 ObjectId::ConfigurationVersionDataType_Encoding_DefaultBinary
27 }
28}
29
30impl BinaryEncoder<ConfigurationVersionDataType> for ConfigurationVersionDataType {
31 fn byte_len(&self) -> usize {
32 let mut size = 0;
33 size += self.major_version.byte_len();
34 size += self.minor_version.byte_len();
35 size
36 }
37
38 #[allow(unused_variables)]
39 fn encode<S: Write>(&self, stream: &mut S) -> EncodingResult<usize> {
40 let mut size = 0;
41 size += self.major_version.encode(stream)?;
42 size += self.minor_version.encode(stream)?;
43 Ok(size)
44 }
45
46 #[allow(unused_variables)]
47 fn decode<S: Read>(stream: &mut S, decoding_options: &DecodingOptions) -> EncodingResult<Self> {
48 let major_version = u32::decode(stream, decoding_options)?;
49 let minor_version = u32::decode(stream, decoding_options)?;
50 Ok(ConfigurationVersionDataType {
51 major_version,
52 minor_version,
53 })
54 }
55}