opcua_types/service_types/
set_triggering_response.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 response_header::ResponseHeader,
17 status_codes::StatusCode,
18 diagnostic_info::DiagnosticInfo,
19};
20
21#[derive(Debug, Clone, PartialEq)]
22pub struct SetTriggeringResponse {
23 pub response_header: ResponseHeader,
24 pub add_results: Option<Vec<StatusCode>>,
25 pub add_diagnostic_infos: Option<Vec<DiagnosticInfo>>,
26 pub remove_results: Option<Vec<StatusCode>>,
27 pub remove_diagnostic_infos: Option<Vec<DiagnosticInfo>>,
28}
29
30impl MessageInfo for SetTriggeringResponse {
31 fn object_id(&self) -> ObjectId {
32 ObjectId::SetTriggeringResponse_Encoding_DefaultBinary
33 }
34}
35
36impl BinaryEncoder<SetTriggeringResponse> for SetTriggeringResponse {
37 fn byte_len(&self) -> usize {
38 let mut size = 0;
39 size += self.response_header.byte_len();
40 size += byte_len_array(&self.add_results);
41 size += byte_len_array(&self.add_diagnostic_infos);
42 size += byte_len_array(&self.remove_results);
43 size += byte_len_array(&self.remove_diagnostic_infos);
44 size
45 }
46
47 #[allow(unused_variables)]
48 fn encode<S: Write>(&self, stream: &mut S) -> EncodingResult<usize> {
49 let mut size = 0;
50 size += self.response_header.encode(stream)?;
51 size += write_array(stream, &self.add_results)?;
52 size += write_array(stream, &self.add_diagnostic_infos)?;
53 size += write_array(stream, &self.remove_results)?;
54 size += write_array(stream, &self.remove_diagnostic_infos)?;
55 Ok(size)
56 }
57
58 #[allow(unused_variables)]
59 fn decode<S: Read>(stream: &mut S, decoding_options: &DecodingOptions) -> EncodingResult<Self> {
60 let response_header = ResponseHeader::decode(stream, decoding_options)?;
61 let add_results: Option<Vec<StatusCode>> = read_array(stream, decoding_options)?;
62 let add_diagnostic_infos: Option<Vec<DiagnosticInfo>> = read_array(stream, decoding_options)?;
63 let remove_results: Option<Vec<StatusCode>> = read_array(stream, decoding_options)?;
64 let remove_diagnostic_infos: Option<Vec<DiagnosticInfo>> = read_array(stream, decoding_options)?;
65 Ok(SetTriggeringResponse {
66 response_header,
67 add_results,
68 add_diagnostic_infos,
69 remove_results,
70 remove_diagnostic_infos,
71 })
72 }
73}