opcua/types/service_types/
enum_definition.rs1#![allow(unused_attributes)]
9use std::io::{Read, Write};
10#[allow(unused_imports)]
11use crate::types::{
12 encoding::*,
13 basic_types::*,
14 service_types::EnumField,
15};
16
17#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
18#[serde(rename_all = "PascalCase")]
19pub struct EnumDefinition {
20 pub fields: Option<Vec<EnumField>>,
21}
22
23impl BinaryEncoder<EnumDefinition> for EnumDefinition {
24 fn byte_len(&self) -> usize {
25 let mut size = 0;
26 size += byte_len_array(&self.fields);
27 size
28 }
29
30 #[allow(unused_variables)]
31 fn encode<S: Write>(&self, stream: &mut S) -> EncodingResult<usize> {
32 let mut size = 0;
33 size += write_array(stream, &self.fields)?;
34 Ok(size)
35 }
36
37 #[allow(unused_variables)]
38 fn decode<S: Read>(stream: &mut S, decoding_options: &DecodingOptions) -> EncodingResult<Self> {
39 let fields: Option<Vec<EnumField>> = read_array(stream, decoding_options)?;
40 Ok(EnumDefinition {
41 fields,
42 })
43 }
44}