opcua_types/service_types/
set_triggering_response.rs

1// OPCUA for Rust
2// SPDX-License-Identifier: MPL-2.0
3// Copyright (C) 2017-2022 Adam Lock
4//
5// This file was autogenerated from Opc.Ua.Types.bsd by tools/schema/gen_types.js
6//
7// DO NOT EDIT THIS FILE
8#![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}