opcua_types/service_types/
content_filter.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 service_types::ContentFilterElement,
17};
18
19#[derive(Debug, Clone, PartialEq, Serialize)]
20pub struct ContentFilter {
21 pub elements: Option<Vec<ContentFilterElement>>,
22}
23
24impl MessageInfo for ContentFilter {
25 fn object_id(&self) -> ObjectId {
26 ObjectId::ContentFilter_Encoding_DefaultBinary
27 }
28}
29
30impl BinaryEncoder<ContentFilter> for ContentFilter {
31 fn byte_len(&self) -> usize {
32 let mut size = 0;
33 size += byte_len_array(&self.elements);
34 size
35 }
36
37 #[allow(unused_variables)]
38 fn encode<S: Write>(&self, stream: &mut S) -> EncodingResult<usize> {
39 let mut size = 0;
40 size += write_array(stream, &self.elements)?;
41 Ok(size)
42 }
43
44 #[allow(unused_variables)]
45 fn decode<S: Read>(stream: &mut S, decoding_options: &DecodingOptions) -> EncodingResult<Self> {
46 let elements: Option<Vec<ContentFilterElement>> = read_array(stream, decoding_options)?;
47 Ok(ContentFilter {
48 elements,
49 })
50 }
51}