matrix_protos_rust/protos/
comm.rs

1// This file is generated by rust-protobuf 2.25.1. Do not edit
2// @generated
3
4// https://github.com/rust-lang/rust-clippy/issues/702
5#![allow(unknown_lints)]
6#![allow(clippy::all)]
7
8#![allow(unused_attributes)]
9#![cfg_attr(rustfmt, rustfmt::skip)]
10
11#![allow(box_pointers)]
12#![allow(dead_code)]
13#![allow(missing_docs)]
14#![allow(non_camel_case_types)]
15#![allow(non_snake_case)]
16#![allow(non_upper_case_globals)]
17#![allow(trivial_casts)]
18#![allow(unused_imports)]
19#![allow(unused_results)]
20//! Generated file from `matrix_io/malos/v1/comm.proto`
21
22/// Generated files are compatible only with the same version
23/// of protobuf runtime.
24// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_25_1;
25
26#[derive(PartialEq,Clone,Default)]
27pub struct ZigBeeMsg {
28    // message fields
29    pub field_type: ZigBeeMsg_ZigBeeCmdType,
30    pub zcl_cmd: ::protobuf::SingularPtrField<ZigBeeMsg_ZCLCmd>,
31    pub network_mgmt_cmd: ::protobuf::SingularPtrField<ZigBeeMsg_NetworkMgmtCmd>,
32    // special fields
33    pub unknown_fields: ::protobuf::UnknownFields,
34    pub cached_size: ::protobuf::CachedSize,
35}
36
37impl<'a> ::std::default::Default for &'a ZigBeeMsg {
38    fn default() -> &'a ZigBeeMsg {
39        <ZigBeeMsg as ::protobuf::Message>::default_instance()
40    }
41}
42
43impl ZigBeeMsg {
44    pub fn new() -> ZigBeeMsg {
45        ::std::default::Default::default()
46    }
47
48    // .matrix_io.malos.v1.comm.ZigBeeMsg.ZigBeeCmdType type = 1;
49
50
51    pub fn get_field_type(&self) -> ZigBeeMsg_ZigBeeCmdType {
52        self.field_type
53    }
54    pub fn clear_field_type(&mut self) {
55        self.field_type = ZigBeeMsg_ZigBeeCmdType::ZCL;
56    }
57
58    // Param is passed by value, moved
59    pub fn set_field_type(&mut self, v: ZigBeeMsg_ZigBeeCmdType) {
60        self.field_type = v;
61    }
62
63    // .matrix_io.malos.v1.comm.ZigBeeMsg.ZCLCmd zcl_cmd = 2;
64
65
66    pub fn get_zcl_cmd(&self) -> &ZigBeeMsg_ZCLCmd {
67        self.zcl_cmd.as_ref().unwrap_or_else(|| <ZigBeeMsg_ZCLCmd as ::protobuf::Message>::default_instance())
68    }
69    pub fn clear_zcl_cmd(&mut self) {
70        self.zcl_cmd.clear();
71    }
72
73    pub fn has_zcl_cmd(&self) -> bool {
74        self.zcl_cmd.is_some()
75    }
76
77    // Param is passed by value, moved
78    pub fn set_zcl_cmd(&mut self, v: ZigBeeMsg_ZCLCmd) {
79        self.zcl_cmd = ::protobuf::SingularPtrField::some(v);
80    }
81
82    // Mutable pointer to the field.
83    // If field is not initialized, it is initialized with default value first.
84    pub fn mut_zcl_cmd(&mut self) -> &mut ZigBeeMsg_ZCLCmd {
85        if self.zcl_cmd.is_none() {
86            self.zcl_cmd.set_default();
87        }
88        self.zcl_cmd.as_mut().unwrap()
89    }
90
91    // Take field
92    pub fn take_zcl_cmd(&mut self) -> ZigBeeMsg_ZCLCmd {
93        self.zcl_cmd.take().unwrap_or_else(|| ZigBeeMsg_ZCLCmd::new())
94    }
95
96    // .matrix_io.malos.v1.comm.ZigBeeMsg.NetworkMgmtCmd network_mgmt_cmd = 3;
97
98
99    pub fn get_network_mgmt_cmd(&self) -> &ZigBeeMsg_NetworkMgmtCmd {
100        self.network_mgmt_cmd.as_ref().unwrap_or_else(|| <ZigBeeMsg_NetworkMgmtCmd as ::protobuf::Message>::default_instance())
101    }
102    pub fn clear_network_mgmt_cmd(&mut self) {
103        self.network_mgmt_cmd.clear();
104    }
105
106    pub fn has_network_mgmt_cmd(&self) -> bool {
107        self.network_mgmt_cmd.is_some()
108    }
109
110    // Param is passed by value, moved
111    pub fn set_network_mgmt_cmd(&mut self, v: ZigBeeMsg_NetworkMgmtCmd) {
112        self.network_mgmt_cmd = ::protobuf::SingularPtrField::some(v);
113    }
114
115    // Mutable pointer to the field.
116    // If field is not initialized, it is initialized with default value first.
117    pub fn mut_network_mgmt_cmd(&mut self) -> &mut ZigBeeMsg_NetworkMgmtCmd {
118        if self.network_mgmt_cmd.is_none() {
119            self.network_mgmt_cmd.set_default();
120        }
121        self.network_mgmt_cmd.as_mut().unwrap()
122    }
123
124    // Take field
125    pub fn take_network_mgmt_cmd(&mut self) -> ZigBeeMsg_NetworkMgmtCmd {
126        self.network_mgmt_cmd.take().unwrap_or_else(|| ZigBeeMsg_NetworkMgmtCmd::new())
127    }
128}
129
130impl ::protobuf::Message for ZigBeeMsg {
131    fn is_initialized(&self) -> bool {
132        for v in &self.zcl_cmd {
133            if !v.is_initialized() {
134                return false;
135            }
136        };
137        for v in &self.network_mgmt_cmd {
138            if !v.is_initialized() {
139                return false;
140            }
141        };
142        true
143    }
144
145    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
146        while !is.eof()? {
147            let (field_number, wire_type) = is.read_tag_unpack()?;
148            match field_number {
149                1 => {
150                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.field_type, 1, &mut self.unknown_fields)?
151                },
152                2 => {
153                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.zcl_cmd)?;
154                },
155                3 => {
156                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.network_mgmt_cmd)?;
157                },
158                _ => {
159                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
160                },
161            };
162        }
163        ::std::result::Result::Ok(())
164    }
165
166    // Compute sizes of nested messages
167    #[allow(unused_variables)]
168    fn compute_size(&self) -> u32 {
169        let mut my_size = 0;
170        if self.field_type != ZigBeeMsg_ZigBeeCmdType::ZCL {
171            my_size += ::protobuf::rt::enum_size(1, self.field_type);
172        }
173        if let Some(ref v) = self.zcl_cmd.as_ref() {
174            let len = v.compute_size();
175            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
176        }
177        if let Some(ref v) = self.network_mgmt_cmd.as_ref() {
178            let len = v.compute_size();
179            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
180        }
181        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
182        self.cached_size.set(my_size);
183        my_size
184    }
185
186    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
187        if self.field_type != ZigBeeMsg_ZigBeeCmdType::ZCL {
188            os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.field_type))?;
189        }
190        if let Some(ref v) = self.zcl_cmd.as_ref() {
191            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
192            os.write_raw_varint32(v.get_cached_size())?;
193            v.write_to_with_cached_sizes(os)?;
194        }
195        if let Some(ref v) = self.network_mgmt_cmd.as_ref() {
196            os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
197            os.write_raw_varint32(v.get_cached_size())?;
198            v.write_to_with_cached_sizes(os)?;
199        }
200        os.write_unknown_fields(self.get_unknown_fields())?;
201        ::std::result::Result::Ok(())
202    }
203
204    fn get_cached_size(&self) -> u32 {
205        self.cached_size.get()
206    }
207
208    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
209        &self.unknown_fields
210    }
211
212    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
213        &mut self.unknown_fields
214    }
215
216    fn as_any(&self) -> &dyn (::std::any::Any) {
217        self as &dyn (::std::any::Any)
218    }
219    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
220        self as &mut dyn (::std::any::Any)
221    }
222    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
223        self
224    }
225
226    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
227        Self::descriptor_static()
228    }
229
230    fn new() -> ZigBeeMsg {
231        ZigBeeMsg::new()
232    }
233
234    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
235        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
236        descriptor.get(|| {
237            let mut fields = ::std::vec::Vec::new();
238            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<ZigBeeMsg_ZigBeeCmdType>>(
239                "type",
240                |m: &ZigBeeMsg| { &m.field_type },
241                |m: &mut ZigBeeMsg| { &mut m.field_type },
242            ));
243            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ZigBeeMsg_ZCLCmd>>(
244                "zcl_cmd",
245                |m: &ZigBeeMsg| { &m.zcl_cmd },
246                |m: &mut ZigBeeMsg| { &mut m.zcl_cmd },
247            ));
248            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ZigBeeMsg_NetworkMgmtCmd>>(
249                "network_mgmt_cmd",
250                |m: &ZigBeeMsg| { &m.network_mgmt_cmd },
251                |m: &mut ZigBeeMsg| { &mut m.network_mgmt_cmd },
252            ));
253            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ZigBeeMsg>(
254                "ZigBeeMsg",
255                fields,
256                file_descriptor_proto()
257            )
258        })
259    }
260
261    fn default_instance() -> &'static ZigBeeMsg {
262        static instance: ::protobuf::rt::LazyV2<ZigBeeMsg> = ::protobuf::rt::LazyV2::INIT;
263        instance.get(ZigBeeMsg::new)
264    }
265}
266
267impl ::protobuf::Clear for ZigBeeMsg {
268    fn clear(&mut self) {
269        self.field_type = ZigBeeMsg_ZigBeeCmdType::ZCL;
270        self.zcl_cmd.clear();
271        self.network_mgmt_cmd.clear();
272        self.unknown_fields.clear();
273    }
274}
275
276impl ::std::fmt::Debug for ZigBeeMsg {
277    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
278        ::protobuf::text_format::fmt(self, f)
279    }
280}
281
282impl ::protobuf::reflect::ProtobufValue for ZigBeeMsg {
283    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
284        ::protobuf::reflect::ReflectValueRef::Message(self)
285    }
286}
287
288#[derive(PartialEq,Clone,Default)]
289pub struct ZigBeeMsg_ZCLCmd {
290    // message fields
291    pub field_type: ZigBeeMsg_ZCLCmd_ZCLCmdType,
292    pub onoff_cmd: ::protobuf::SingularPtrField<ZigBeeMsg_ZCLCmd_OnOffCmd>,
293    pub level_cmd: ::protobuf::SingularPtrField<ZigBeeMsg_ZCLCmd_LevelCmd>,
294    pub colorcontrol_cmd: ::protobuf::SingularPtrField<ZigBeeMsg_ZCLCmd_ColorControlCmd>,
295    pub identify_cmd: ::protobuf::SingularPtrField<ZigBeeMsg_ZCLCmd_IdentifyCmd>,
296    pub node_id: u32,
297    pub endpoint_index: u32,
298    // special fields
299    pub unknown_fields: ::protobuf::UnknownFields,
300    pub cached_size: ::protobuf::CachedSize,
301}
302
303impl<'a> ::std::default::Default for &'a ZigBeeMsg_ZCLCmd {
304    fn default() -> &'a ZigBeeMsg_ZCLCmd {
305        <ZigBeeMsg_ZCLCmd as ::protobuf::Message>::default_instance()
306    }
307}
308
309impl ZigBeeMsg_ZCLCmd {
310    pub fn new() -> ZigBeeMsg_ZCLCmd {
311        ::std::default::Default::default()
312    }
313
314    // .matrix_io.malos.v1.comm.ZigBeeMsg.ZCLCmd.ZCLCmdType type = 1;
315
316
317    pub fn get_field_type(&self) -> ZigBeeMsg_ZCLCmd_ZCLCmdType {
318        self.field_type
319    }
320    pub fn clear_field_type(&mut self) {
321        self.field_type = ZigBeeMsg_ZCLCmd_ZCLCmdType::ON_OFF;
322    }
323
324    // Param is passed by value, moved
325    pub fn set_field_type(&mut self, v: ZigBeeMsg_ZCLCmd_ZCLCmdType) {
326        self.field_type = v;
327    }
328
329    // .matrix_io.malos.v1.comm.ZigBeeMsg.ZCLCmd.OnOffCmd onoff_cmd = 2;
330
331
332    pub fn get_onoff_cmd(&self) -> &ZigBeeMsg_ZCLCmd_OnOffCmd {
333        self.onoff_cmd.as_ref().unwrap_or_else(|| <ZigBeeMsg_ZCLCmd_OnOffCmd as ::protobuf::Message>::default_instance())
334    }
335    pub fn clear_onoff_cmd(&mut self) {
336        self.onoff_cmd.clear();
337    }
338
339    pub fn has_onoff_cmd(&self) -> bool {
340        self.onoff_cmd.is_some()
341    }
342
343    // Param is passed by value, moved
344    pub fn set_onoff_cmd(&mut self, v: ZigBeeMsg_ZCLCmd_OnOffCmd) {
345        self.onoff_cmd = ::protobuf::SingularPtrField::some(v);
346    }
347
348    // Mutable pointer to the field.
349    // If field is not initialized, it is initialized with default value first.
350    pub fn mut_onoff_cmd(&mut self) -> &mut ZigBeeMsg_ZCLCmd_OnOffCmd {
351        if self.onoff_cmd.is_none() {
352            self.onoff_cmd.set_default();
353        }
354        self.onoff_cmd.as_mut().unwrap()
355    }
356
357    // Take field
358    pub fn take_onoff_cmd(&mut self) -> ZigBeeMsg_ZCLCmd_OnOffCmd {
359        self.onoff_cmd.take().unwrap_or_else(|| ZigBeeMsg_ZCLCmd_OnOffCmd::new())
360    }
361
362    // .matrix_io.malos.v1.comm.ZigBeeMsg.ZCLCmd.LevelCmd level_cmd = 3;
363
364
365    pub fn get_level_cmd(&self) -> &ZigBeeMsg_ZCLCmd_LevelCmd {
366        self.level_cmd.as_ref().unwrap_or_else(|| <ZigBeeMsg_ZCLCmd_LevelCmd as ::protobuf::Message>::default_instance())
367    }
368    pub fn clear_level_cmd(&mut self) {
369        self.level_cmd.clear();
370    }
371
372    pub fn has_level_cmd(&self) -> bool {
373        self.level_cmd.is_some()
374    }
375
376    // Param is passed by value, moved
377    pub fn set_level_cmd(&mut self, v: ZigBeeMsg_ZCLCmd_LevelCmd) {
378        self.level_cmd = ::protobuf::SingularPtrField::some(v);
379    }
380
381    // Mutable pointer to the field.
382    // If field is not initialized, it is initialized with default value first.
383    pub fn mut_level_cmd(&mut self) -> &mut ZigBeeMsg_ZCLCmd_LevelCmd {
384        if self.level_cmd.is_none() {
385            self.level_cmd.set_default();
386        }
387        self.level_cmd.as_mut().unwrap()
388    }
389
390    // Take field
391    pub fn take_level_cmd(&mut self) -> ZigBeeMsg_ZCLCmd_LevelCmd {
392        self.level_cmd.take().unwrap_or_else(|| ZigBeeMsg_ZCLCmd_LevelCmd::new())
393    }
394
395    // .matrix_io.malos.v1.comm.ZigBeeMsg.ZCLCmd.ColorControlCmd colorcontrol_cmd = 4;
396
397
398    pub fn get_colorcontrol_cmd(&self) -> &ZigBeeMsg_ZCLCmd_ColorControlCmd {
399        self.colorcontrol_cmd.as_ref().unwrap_or_else(|| <ZigBeeMsg_ZCLCmd_ColorControlCmd as ::protobuf::Message>::default_instance())
400    }
401    pub fn clear_colorcontrol_cmd(&mut self) {
402        self.colorcontrol_cmd.clear();
403    }
404
405    pub fn has_colorcontrol_cmd(&self) -> bool {
406        self.colorcontrol_cmd.is_some()
407    }
408
409    // Param is passed by value, moved
410    pub fn set_colorcontrol_cmd(&mut self, v: ZigBeeMsg_ZCLCmd_ColorControlCmd) {
411        self.colorcontrol_cmd = ::protobuf::SingularPtrField::some(v);
412    }
413
414    // Mutable pointer to the field.
415    // If field is not initialized, it is initialized with default value first.
416    pub fn mut_colorcontrol_cmd(&mut self) -> &mut ZigBeeMsg_ZCLCmd_ColorControlCmd {
417        if self.colorcontrol_cmd.is_none() {
418            self.colorcontrol_cmd.set_default();
419        }
420        self.colorcontrol_cmd.as_mut().unwrap()
421    }
422
423    // Take field
424    pub fn take_colorcontrol_cmd(&mut self) -> ZigBeeMsg_ZCLCmd_ColorControlCmd {
425        self.colorcontrol_cmd.take().unwrap_or_else(|| ZigBeeMsg_ZCLCmd_ColorControlCmd::new())
426    }
427
428    // .matrix_io.malos.v1.comm.ZigBeeMsg.ZCLCmd.IdentifyCmd identify_cmd = 5;
429
430
431    pub fn get_identify_cmd(&self) -> &ZigBeeMsg_ZCLCmd_IdentifyCmd {
432        self.identify_cmd.as_ref().unwrap_or_else(|| <ZigBeeMsg_ZCLCmd_IdentifyCmd as ::protobuf::Message>::default_instance())
433    }
434    pub fn clear_identify_cmd(&mut self) {
435        self.identify_cmd.clear();
436    }
437
438    pub fn has_identify_cmd(&self) -> bool {
439        self.identify_cmd.is_some()
440    }
441
442    // Param is passed by value, moved
443    pub fn set_identify_cmd(&mut self, v: ZigBeeMsg_ZCLCmd_IdentifyCmd) {
444        self.identify_cmd = ::protobuf::SingularPtrField::some(v);
445    }
446
447    // Mutable pointer to the field.
448    // If field is not initialized, it is initialized with default value first.
449    pub fn mut_identify_cmd(&mut self) -> &mut ZigBeeMsg_ZCLCmd_IdentifyCmd {
450        if self.identify_cmd.is_none() {
451            self.identify_cmd.set_default();
452        }
453        self.identify_cmd.as_mut().unwrap()
454    }
455
456    // Take field
457    pub fn take_identify_cmd(&mut self) -> ZigBeeMsg_ZCLCmd_IdentifyCmd {
458        self.identify_cmd.take().unwrap_or_else(|| ZigBeeMsg_ZCLCmd_IdentifyCmd::new())
459    }
460
461    // uint32 node_id = 6;
462
463
464    pub fn get_node_id(&self) -> u32 {
465        self.node_id
466    }
467    pub fn clear_node_id(&mut self) {
468        self.node_id = 0;
469    }
470
471    // Param is passed by value, moved
472    pub fn set_node_id(&mut self, v: u32) {
473        self.node_id = v;
474    }
475
476    // uint32 endpoint_index = 7;
477
478
479    pub fn get_endpoint_index(&self) -> u32 {
480        self.endpoint_index
481    }
482    pub fn clear_endpoint_index(&mut self) {
483        self.endpoint_index = 0;
484    }
485
486    // Param is passed by value, moved
487    pub fn set_endpoint_index(&mut self, v: u32) {
488        self.endpoint_index = v;
489    }
490}
491
492impl ::protobuf::Message for ZigBeeMsg_ZCLCmd {
493    fn is_initialized(&self) -> bool {
494        for v in &self.onoff_cmd {
495            if !v.is_initialized() {
496                return false;
497            }
498        };
499        for v in &self.level_cmd {
500            if !v.is_initialized() {
501                return false;
502            }
503        };
504        for v in &self.colorcontrol_cmd {
505            if !v.is_initialized() {
506                return false;
507            }
508        };
509        for v in &self.identify_cmd {
510            if !v.is_initialized() {
511                return false;
512            }
513        };
514        true
515    }
516
517    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
518        while !is.eof()? {
519            let (field_number, wire_type) = is.read_tag_unpack()?;
520            match field_number {
521                1 => {
522                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.field_type, 1, &mut self.unknown_fields)?
523                },
524                2 => {
525                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.onoff_cmd)?;
526                },
527                3 => {
528                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.level_cmd)?;
529                },
530                4 => {
531                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.colorcontrol_cmd)?;
532                },
533                5 => {
534                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.identify_cmd)?;
535                },
536                6 => {
537                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
538                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
539                    }
540                    let tmp = is.read_uint32()?;
541                    self.node_id = tmp;
542                },
543                7 => {
544                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
545                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
546                    }
547                    let tmp = is.read_uint32()?;
548                    self.endpoint_index = tmp;
549                },
550                _ => {
551                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
552                },
553            };
554        }
555        ::std::result::Result::Ok(())
556    }
557
558    // Compute sizes of nested messages
559    #[allow(unused_variables)]
560    fn compute_size(&self) -> u32 {
561        let mut my_size = 0;
562        if self.field_type != ZigBeeMsg_ZCLCmd_ZCLCmdType::ON_OFF {
563            my_size += ::protobuf::rt::enum_size(1, self.field_type);
564        }
565        if let Some(ref v) = self.onoff_cmd.as_ref() {
566            let len = v.compute_size();
567            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
568        }
569        if let Some(ref v) = self.level_cmd.as_ref() {
570            let len = v.compute_size();
571            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
572        }
573        if let Some(ref v) = self.colorcontrol_cmd.as_ref() {
574            let len = v.compute_size();
575            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
576        }
577        if let Some(ref v) = self.identify_cmd.as_ref() {
578            let len = v.compute_size();
579            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
580        }
581        if self.node_id != 0 {
582            my_size += ::protobuf::rt::value_size(6, self.node_id, ::protobuf::wire_format::WireTypeVarint);
583        }
584        if self.endpoint_index != 0 {
585            my_size += ::protobuf::rt::value_size(7, self.endpoint_index, ::protobuf::wire_format::WireTypeVarint);
586        }
587        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
588        self.cached_size.set(my_size);
589        my_size
590    }
591
592    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
593        if self.field_type != ZigBeeMsg_ZCLCmd_ZCLCmdType::ON_OFF {
594            os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.field_type))?;
595        }
596        if let Some(ref v) = self.onoff_cmd.as_ref() {
597            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
598            os.write_raw_varint32(v.get_cached_size())?;
599            v.write_to_with_cached_sizes(os)?;
600        }
601        if let Some(ref v) = self.level_cmd.as_ref() {
602            os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
603            os.write_raw_varint32(v.get_cached_size())?;
604            v.write_to_with_cached_sizes(os)?;
605        }
606        if let Some(ref v) = self.colorcontrol_cmd.as_ref() {
607            os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
608            os.write_raw_varint32(v.get_cached_size())?;
609            v.write_to_with_cached_sizes(os)?;
610        }
611        if let Some(ref v) = self.identify_cmd.as_ref() {
612            os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
613            os.write_raw_varint32(v.get_cached_size())?;
614            v.write_to_with_cached_sizes(os)?;
615        }
616        if self.node_id != 0 {
617            os.write_uint32(6, self.node_id)?;
618        }
619        if self.endpoint_index != 0 {
620            os.write_uint32(7, self.endpoint_index)?;
621        }
622        os.write_unknown_fields(self.get_unknown_fields())?;
623        ::std::result::Result::Ok(())
624    }
625
626    fn get_cached_size(&self) -> u32 {
627        self.cached_size.get()
628    }
629
630    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
631        &self.unknown_fields
632    }
633
634    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
635        &mut self.unknown_fields
636    }
637
638    fn as_any(&self) -> &dyn (::std::any::Any) {
639        self as &dyn (::std::any::Any)
640    }
641    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
642        self as &mut dyn (::std::any::Any)
643    }
644    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
645        self
646    }
647
648    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
649        Self::descriptor_static()
650    }
651
652    fn new() -> ZigBeeMsg_ZCLCmd {
653        ZigBeeMsg_ZCLCmd::new()
654    }
655
656    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
657        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
658        descriptor.get(|| {
659            let mut fields = ::std::vec::Vec::new();
660            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<ZigBeeMsg_ZCLCmd_ZCLCmdType>>(
661                "type",
662                |m: &ZigBeeMsg_ZCLCmd| { &m.field_type },
663                |m: &mut ZigBeeMsg_ZCLCmd| { &mut m.field_type },
664            ));
665            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ZigBeeMsg_ZCLCmd_OnOffCmd>>(
666                "onoff_cmd",
667                |m: &ZigBeeMsg_ZCLCmd| { &m.onoff_cmd },
668                |m: &mut ZigBeeMsg_ZCLCmd| { &mut m.onoff_cmd },
669            ));
670            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ZigBeeMsg_ZCLCmd_LevelCmd>>(
671                "level_cmd",
672                |m: &ZigBeeMsg_ZCLCmd| { &m.level_cmd },
673                |m: &mut ZigBeeMsg_ZCLCmd| { &mut m.level_cmd },
674            ));
675            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ZigBeeMsg_ZCLCmd_ColorControlCmd>>(
676                "colorcontrol_cmd",
677                |m: &ZigBeeMsg_ZCLCmd| { &m.colorcontrol_cmd },
678                |m: &mut ZigBeeMsg_ZCLCmd| { &mut m.colorcontrol_cmd },
679            ));
680            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ZigBeeMsg_ZCLCmd_IdentifyCmd>>(
681                "identify_cmd",
682                |m: &ZigBeeMsg_ZCLCmd| { &m.identify_cmd },
683                |m: &mut ZigBeeMsg_ZCLCmd| { &mut m.identify_cmd },
684            ));
685            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
686                "node_id",
687                |m: &ZigBeeMsg_ZCLCmd| { &m.node_id },
688                |m: &mut ZigBeeMsg_ZCLCmd| { &mut m.node_id },
689            ));
690            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
691                "endpoint_index",
692                |m: &ZigBeeMsg_ZCLCmd| { &m.endpoint_index },
693                |m: &mut ZigBeeMsg_ZCLCmd| { &mut m.endpoint_index },
694            ));
695            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ZigBeeMsg_ZCLCmd>(
696                "ZigBeeMsg.ZCLCmd",
697                fields,
698                file_descriptor_proto()
699            )
700        })
701    }
702
703    fn default_instance() -> &'static ZigBeeMsg_ZCLCmd {
704        static instance: ::protobuf::rt::LazyV2<ZigBeeMsg_ZCLCmd> = ::protobuf::rt::LazyV2::INIT;
705        instance.get(ZigBeeMsg_ZCLCmd::new)
706    }
707}
708
709impl ::protobuf::Clear for ZigBeeMsg_ZCLCmd {
710    fn clear(&mut self) {
711        self.field_type = ZigBeeMsg_ZCLCmd_ZCLCmdType::ON_OFF;
712        self.onoff_cmd.clear();
713        self.level_cmd.clear();
714        self.colorcontrol_cmd.clear();
715        self.identify_cmd.clear();
716        self.node_id = 0;
717        self.endpoint_index = 0;
718        self.unknown_fields.clear();
719    }
720}
721
722impl ::std::fmt::Debug for ZigBeeMsg_ZCLCmd {
723    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
724        ::protobuf::text_format::fmt(self, f)
725    }
726}
727
728impl ::protobuf::reflect::ProtobufValue for ZigBeeMsg_ZCLCmd {
729    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
730        ::protobuf::reflect::ReflectValueRef::Message(self)
731    }
732}
733
734#[derive(PartialEq,Clone,Default)]
735pub struct ZigBeeMsg_ZCLCmd_OnOffCmd {
736    // message fields
737    pub field_type: ZigBeeMsg_ZCLCmd_OnOffCmd_ZCLOnOffCmdType,
738    // special fields
739    pub unknown_fields: ::protobuf::UnknownFields,
740    pub cached_size: ::protobuf::CachedSize,
741}
742
743impl<'a> ::std::default::Default for &'a ZigBeeMsg_ZCLCmd_OnOffCmd {
744    fn default() -> &'a ZigBeeMsg_ZCLCmd_OnOffCmd {
745        <ZigBeeMsg_ZCLCmd_OnOffCmd as ::protobuf::Message>::default_instance()
746    }
747}
748
749impl ZigBeeMsg_ZCLCmd_OnOffCmd {
750    pub fn new() -> ZigBeeMsg_ZCLCmd_OnOffCmd {
751        ::std::default::Default::default()
752    }
753
754    // .matrix_io.malos.v1.comm.ZigBeeMsg.ZCLCmd.OnOffCmd.ZCLOnOffCmdType type = 1;
755
756
757    pub fn get_field_type(&self) -> ZigBeeMsg_ZCLCmd_OnOffCmd_ZCLOnOffCmdType {
758        self.field_type
759    }
760    pub fn clear_field_type(&mut self) {
761        self.field_type = ZigBeeMsg_ZCLCmd_OnOffCmd_ZCLOnOffCmdType::ON;
762    }
763
764    // Param is passed by value, moved
765    pub fn set_field_type(&mut self, v: ZigBeeMsg_ZCLCmd_OnOffCmd_ZCLOnOffCmdType) {
766        self.field_type = v;
767    }
768}
769
770impl ::protobuf::Message for ZigBeeMsg_ZCLCmd_OnOffCmd {
771    fn is_initialized(&self) -> bool {
772        true
773    }
774
775    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
776        while !is.eof()? {
777            let (field_number, wire_type) = is.read_tag_unpack()?;
778            match field_number {
779                1 => {
780                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.field_type, 1, &mut self.unknown_fields)?
781                },
782                _ => {
783                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
784                },
785            };
786        }
787        ::std::result::Result::Ok(())
788    }
789
790    // Compute sizes of nested messages
791    #[allow(unused_variables)]
792    fn compute_size(&self) -> u32 {
793        let mut my_size = 0;
794        if self.field_type != ZigBeeMsg_ZCLCmd_OnOffCmd_ZCLOnOffCmdType::ON {
795            my_size += ::protobuf::rt::enum_size(1, self.field_type);
796        }
797        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
798        self.cached_size.set(my_size);
799        my_size
800    }
801
802    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
803        if self.field_type != ZigBeeMsg_ZCLCmd_OnOffCmd_ZCLOnOffCmdType::ON {
804            os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.field_type))?;
805        }
806        os.write_unknown_fields(self.get_unknown_fields())?;
807        ::std::result::Result::Ok(())
808    }
809
810    fn get_cached_size(&self) -> u32 {
811        self.cached_size.get()
812    }
813
814    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
815        &self.unknown_fields
816    }
817
818    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
819        &mut self.unknown_fields
820    }
821
822    fn as_any(&self) -> &dyn (::std::any::Any) {
823        self as &dyn (::std::any::Any)
824    }
825    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
826        self as &mut dyn (::std::any::Any)
827    }
828    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
829        self
830    }
831
832    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
833        Self::descriptor_static()
834    }
835
836    fn new() -> ZigBeeMsg_ZCLCmd_OnOffCmd {
837        ZigBeeMsg_ZCLCmd_OnOffCmd::new()
838    }
839
840    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
841        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
842        descriptor.get(|| {
843            let mut fields = ::std::vec::Vec::new();
844            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<ZigBeeMsg_ZCLCmd_OnOffCmd_ZCLOnOffCmdType>>(
845                "type",
846                |m: &ZigBeeMsg_ZCLCmd_OnOffCmd| { &m.field_type },
847                |m: &mut ZigBeeMsg_ZCLCmd_OnOffCmd| { &mut m.field_type },
848            ));
849            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ZigBeeMsg_ZCLCmd_OnOffCmd>(
850                "ZigBeeMsg.ZCLCmd.OnOffCmd",
851                fields,
852                file_descriptor_proto()
853            )
854        })
855    }
856
857    fn default_instance() -> &'static ZigBeeMsg_ZCLCmd_OnOffCmd {
858        static instance: ::protobuf::rt::LazyV2<ZigBeeMsg_ZCLCmd_OnOffCmd> = ::protobuf::rt::LazyV2::INIT;
859        instance.get(ZigBeeMsg_ZCLCmd_OnOffCmd::new)
860    }
861}
862
863impl ::protobuf::Clear for ZigBeeMsg_ZCLCmd_OnOffCmd {
864    fn clear(&mut self) {
865        self.field_type = ZigBeeMsg_ZCLCmd_OnOffCmd_ZCLOnOffCmdType::ON;
866        self.unknown_fields.clear();
867    }
868}
869
870impl ::std::fmt::Debug for ZigBeeMsg_ZCLCmd_OnOffCmd {
871    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
872        ::protobuf::text_format::fmt(self, f)
873    }
874}
875
876impl ::protobuf::reflect::ProtobufValue for ZigBeeMsg_ZCLCmd_OnOffCmd {
877    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
878        ::protobuf::reflect::ReflectValueRef::Message(self)
879    }
880}
881
882#[derive(Clone,PartialEq,Eq,Debug,Hash)]
883pub enum ZigBeeMsg_ZCLCmd_OnOffCmd_ZCLOnOffCmdType {
884    ON = 0,
885    OFF = 1,
886    TOGGLE = 2,
887}
888
889impl ::protobuf::ProtobufEnum for ZigBeeMsg_ZCLCmd_OnOffCmd_ZCLOnOffCmdType {
890    fn value(&self) -> i32 {
891        *self as i32
892    }
893
894    fn from_i32(value: i32) -> ::std::option::Option<ZigBeeMsg_ZCLCmd_OnOffCmd_ZCLOnOffCmdType> {
895        match value {
896            0 => ::std::option::Option::Some(ZigBeeMsg_ZCLCmd_OnOffCmd_ZCLOnOffCmdType::ON),
897            1 => ::std::option::Option::Some(ZigBeeMsg_ZCLCmd_OnOffCmd_ZCLOnOffCmdType::OFF),
898            2 => ::std::option::Option::Some(ZigBeeMsg_ZCLCmd_OnOffCmd_ZCLOnOffCmdType::TOGGLE),
899            _ => ::std::option::Option::None
900        }
901    }
902
903    fn values() -> &'static [Self] {
904        static values: &'static [ZigBeeMsg_ZCLCmd_OnOffCmd_ZCLOnOffCmdType] = &[
905            ZigBeeMsg_ZCLCmd_OnOffCmd_ZCLOnOffCmdType::ON,
906            ZigBeeMsg_ZCLCmd_OnOffCmd_ZCLOnOffCmdType::OFF,
907            ZigBeeMsg_ZCLCmd_OnOffCmd_ZCLOnOffCmdType::TOGGLE,
908        ];
909        values
910    }
911
912    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
913        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
914        descriptor.get(|| {
915            ::protobuf::reflect::EnumDescriptor::new_pb_name::<ZigBeeMsg_ZCLCmd_OnOffCmd_ZCLOnOffCmdType>("ZigBeeMsg.ZCLCmd.OnOffCmd.ZCLOnOffCmdType", file_descriptor_proto())
916        })
917    }
918}
919
920impl ::std::marker::Copy for ZigBeeMsg_ZCLCmd_OnOffCmd_ZCLOnOffCmdType {
921}
922
923impl ::std::default::Default for ZigBeeMsg_ZCLCmd_OnOffCmd_ZCLOnOffCmdType {
924    fn default() -> Self {
925        ZigBeeMsg_ZCLCmd_OnOffCmd_ZCLOnOffCmdType::ON
926    }
927}
928
929impl ::protobuf::reflect::ProtobufValue for ZigBeeMsg_ZCLCmd_OnOffCmd_ZCLOnOffCmdType {
930    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
931        ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
932    }
933}
934
935#[derive(PartialEq,Clone,Default)]
936pub struct ZigBeeMsg_ZCLCmd_LevelCmd {
937    // message fields
938    pub field_type: ZigBeeMsg_ZCLCmd_LevelCmd_ZCLLevelCmdType,
939    pub move_to_level_params: ::protobuf::SingularPtrField<ZigBeeMsg_ZCLCmd_LevelCmd_MoveToLevelCmdParams>,
940    pub move_params: ::protobuf::SingularPtrField<ZigBeeMsg_ZCLCmd_LevelCmd_MoveCmdParams>,
941    // special fields
942    pub unknown_fields: ::protobuf::UnknownFields,
943    pub cached_size: ::protobuf::CachedSize,
944}
945
946impl<'a> ::std::default::Default for &'a ZigBeeMsg_ZCLCmd_LevelCmd {
947    fn default() -> &'a ZigBeeMsg_ZCLCmd_LevelCmd {
948        <ZigBeeMsg_ZCLCmd_LevelCmd as ::protobuf::Message>::default_instance()
949    }
950}
951
952impl ZigBeeMsg_ZCLCmd_LevelCmd {
953    pub fn new() -> ZigBeeMsg_ZCLCmd_LevelCmd {
954        ::std::default::Default::default()
955    }
956
957    // .matrix_io.malos.v1.comm.ZigBeeMsg.ZCLCmd.LevelCmd.ZCLLevelCmdType type = 1;
958
959
960    pub fn get_field_type(&self) -> ZigBeeMsg_ZCLCmd_LevelCmd_ZCLLevelCmdType {
961        self.field_type
962    }
963    pub fn clear_field_type(&mut self) {
964        self.field_type = ZigBeeMsg_ZCLCmd_LevelCmd_ZCLLevelCmdType::MOVE_TO_LEVEL;
965    }
966
967    // Param is passed by value, moved
968    pub fn set_field_type(&mut self, v: ZigBeeMsg_ZCLCmd_LevelCmd_ZCLLevelCmdType) {
969        self.field_type = v;
970    }
971
972    // .matrix_io.malos.v1.comm.ZigBeeMsg.ZCLCmd.LevelCmd.MoveToLevelCmdParams move_to_level_params = 2;
973
974
975    pub fn get_move_to_level_params(&self) -> &ZigBeeMsg_ZCLCmd_LevelCmd_MoveToLevelCmdParams {
976        self.move_to_level_params.as_ref().unwrap_or_else(|| <ZigBeeMsg_ZCLCmd_LevelCmd_MoveToLevelCmdParams as ::protobuf::Message>::default_instance())
977    }
978    pub fn clear_move_to_level_params(&mut self) {
979        self.move_to_level_params.clear();
980    }
981
982    pub fn has_move_to_level_params(&self) -> bool {
983        self.move_to_level_params.is_some()
984    }
985
986    // Param is passed by value, moved
987    pub fn set_move_to_level_params(&mut self, v: ZigBeeMsg_ZCLCmd_LevelCmd_MoveToLevelCmdParams) {
988        self.move_to_level_params = ::protobuf::SingularPtrField::some(v);
989    }
990
991    // Mutable pointer to the field.
992    // If field is not initialized, it is initialized with default value first.
993    pub fn mut_move_to_level_params(&mut self) -> &mut ZigBeeMsg_ZCLCmd_LevelCmd_MoveToLevelCmdParams {
994        if self.move_to_level_params.is_none() {
995            self.move_to_level_params.set_default();
996        }
997        self.move_to_level_params.as_mut().unwrap()
998    }
999
1000    // Take field
1001    pub fn take_move_to_level_params(&mut self) -> ZigBeeMsg_ZCLCmd_LevelCmd_MoveToLevelCmdParams {
1002        self.move_to_level_params.take().unwrap_or_else(|| ZigBeeMsg_ZCLCmd_LevelCmd_MoveToLevelCmdParams::new())
1003    }
1004
1005    // .matrix_io.malos.v1.comm.ZigBeeMsg.ZCLCmd.LevelCmd.MoveCmdParams move_params = 3;
1006
1007
1008    pub fn get_move_params(&self) -> &ZigBeeMsg_ZCLCmd_LevelCmd_MoveCmdParams {
1009        self.move_params.as_ref().unwrap_or_else(|| <ZigBeeMsg_ZCLCmd_LevelCmd_MoveCmdParams as ::protobuf::Message>::default_instance())
1010    }
1011    pub fn clear_move_params(&mut self) {
1012        self.move_params.clear();
1013    }
1014
1015    pub fn has_move_params(&self) -> bool {
1016        self.move_params.is_some()
1017    }
1018
1019    // Param is passed by value, moved
1020    pub fn set_move_params(&mut self, v: ZigBeeMsg_ZCLCmd_LevelCmd_MoveCmdParams) {
1021        self.move_params = ::protobuf::SingularPtrField::some(v);
1022    }
1023
1024    // Mutable pointer to the field.
1025    // If field is not initialized, it is initialized with default value first.
1026    pub fn mut_move_params(&mut self) -> &mut ZigBeeMsg_ZCLCmd_LevelCmd_MoveCmdParams {
1027        if self.move_params.is_none() {
1028            self.move_params.set_default();
1029        }
1030        self.move_params.as_mut().unwrap()
1031    }
1032
1033    // Take field
1034    pub fn take_move_params(&mut self) -> ZigBeeMsg_ZCLCmd_LevelCmd_MoveCmdParams {
1035        self.move_params.take().unwrap_or_else(|| ZigBeeMsg_ZCLCmd_LevelCmd_MoveCmdParams::new())
1036    }
1037}
1038
1039impl ::protobuf::Message for ZigBeeMsg_ZCLCmd_LevelCmd {
1040    fn is_initialized(&self) -> bool {
1041        for v in &self.move_to_level_params {
1042            if !v.is_initialized() {
1043                return false;
1044            }
1045        };
1046        for v in &self.move_params {
1047            if !v.is_initialized() {
1048                return false;
1049            }
1050        };
1051        true
1052    }
1053
1054    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1055        while !is.eof()? {
1056            let (field_number, wire_type) = is.read_tag_unpack()?;
1057            match field_number {
1058                1 => {
1059                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.field_type, 1, &mut self.unknown_fields)?
1060                },
1061                2 => {
1062                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.move_to_level_params)?;
1063                },
1064                3 => {
1065                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.move_params)?;
1066                },
1067                _ => {
1068                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1069                },
1070            };
1071        }
1072        ::std::result::Result::Ok(())
1073    }
1074
1075    // Compute sizes of nested messages
1076    #[allow(unused_variables)]
1077    fn compute_size(&self) -> u32 {
1078        let mut my_size = 0;
1079        if self.field_type != ZigBeeMsg_ZCLCmd_LevelCmd_ZCLLevelCmdType::MOVE_TO_LEVEL {
1080            my_size += ::protobuf::rt::enum_size(1, self.field_type);
1081        }
1082        if let Some(ref v) = self.move_to_level_params.as_ref() {
1083            let len = v.compute_size();
1084            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1085        }
1086        if let Some(ref v) = self.move_params.as_ref() {
1087            let len = v.compute_size();
1088            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1089        }
1090        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1091        self.cached_size.set(my_size);
1092        my_size
1093    }
1094
1095    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1096        if self.field_type != ZigBeeMsg_ZCLCmd_LevelCmd_ZCLLevelCmdType::MOVE_TO_LEVEL {
1097            os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.field_type))?;
1098        }
1099        if let Some(ref v) = self.move_to_level_params.as_ref() {
1100            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1101            os.write_raw_varint32(v.get_cached_size())?;
1102            v.write_to_with_cached_sizes(os)?;
1103        }
1104        if let Some(ref v) = self.move_params.as_ref() {
1105            os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1106            os.write_raw_varint32(v.get_cached_size())?;
1107            v.write_to_with_cached_sizes(os)?;
1108        }
1109        os.write_unknown_fields(self.get_unknown_fields())?;
1110        ::std::result::Result::Ok(())
1111    }
1112
1113    fn get_cached_size(&self) -> u32 {
1114        self.cached_size.get()
1115    }
1116
1117    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1118        &self.unknown_fields
1119    }
1120
1121    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1122        &mut self.unknown_fields
1123    }
1124
1125    fn as_any(&self) -> &dyn (::std::any::Any) {
1126        self as &dyn (::std::any::Any)
1127    }
1128    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1129        self as &mut dyn (::std::any::Any)
1130    }
1131    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1132        self
1133    }
1134
1135    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1136        Self::descriptor_static()
1137    }
1138
1139    fn new() -> ZigBeeMsg_ZCLCmd_LevelCmd {
1140        ZigBeeMsg_ZCLCmd_LevelCmd::new()
1141    }
1142
1143    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1144        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1145        descriptor.get(|| {
1146            let mut fields = ::std::vec::Vec::new();
1147            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<ZigBeeMsg_ZCLCmd_LevelCmd_ZCLLevelCmdType>>(
1148                "type",
1149                |m: &ZigBeeMsg_ZCLCmd_LevelCmd| { &m.field_type },
1150                |m: &mut ZigBeeMsg_ZCLCmd_LevelCmd| { &mut m.field_type },
1151            ));
1152            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ZigBeeMsg_ZCLCmd_LevelCmd_MoveToLevelCmdParams>>(
1153                "move_to_level_params",
1154                |m: &ZigBeeMsg_ZCLCmd_LevelCmd| { &m.move_to_level_params },
1155                |m: &mut ZigBeeMsg_ZCLCmd_LevelCmd| { &mut m.move_to_level_params },
1156            ));
1157            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ZigBeeMsg_ZCLCmd_LevelCmd_MoveCmdParams>>(
1158                "move_params",
1159                |m: &ZigBeeMsg_ZCLCmd_LevelCmd| { &m.move_params },
1160                |m: &mut ZigBeeMsg_ZCLCmd_LevelCmd| { &mut m.move_params },
1161            ));
1162            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ZigBeeMsg_ZCLCmd_LevelCmd>(
1163                "ZigBeeMsg.ZCLCmd.LevelCmd",
1164                fields,
1165                file_descriptor_proto()
1166            )
1167        })
1168    }
1169
1170    fn default_instance() -> &'static ZigBeeMsg_ZCLCmd_LevelCmd {
1171        static instance: ::protobuf::rt::LazyV2<ZigBeeMsg_ZCLCmd_LevelCmd> = ::protobuf::rt::LazyV2::INIT;
1172        instance.get(ZigBeeMsg_ZCLCmd_LevelCmd::new)
1173    }
1174}
1175
1176impl ::protobuf::Clear for ZigBeeMsg_ZCLCmd_LevelCmd {
1177    fn clear(&mut self) {
1178        self.field_type = ZigBeeMsg_ZCLCmd_LevelCmd_ZCLLevelCmdType::MOVE_TO_LEVEL;
1179        self.move_to_level_params.clear();
1180        self.move_params.clear();
1181        self.unknown_fields.clear();
1182    }
1183}
1184
1185impl ::std::fmt::Debug for ZigBeeMsg_ZCLCmd_LevelCmd {
1186    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1187        ::protobuf::text_format::fmt(self, f)
1188    }
1189}
1190
1191impl ::protobuf::reflect::ProtobufValue for ZigBeeMsg_ZCLCmd_LevelCmd {
1192    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1193        ::protobuf::reflect::ReflectValueRef::Message(self)
1194    }
1195}
1196
1197#[derive(PartialEq,Clone,Default)]
1198pub struct ZigBeeMsg_ZCLCmd_LevelCmd_MoveToLevelCmdParams {
1199    // message fields
1200    pub level: u32,
1201    pub transition_time: u32,
1202    // special fields
1203    pub unknown_fields: ::protobuf::UnknownFields,
1204    pub cached_size: ::protobuf::CachedSize,
1205}
1206
1207impl<'a> ::std::default::Default for &'a ZigBeeMsg_ZCLCmd_LevelCmd_MoveToLevelCmdParams {
1208    fn default() -> &'a ZigBeeMsg_ZCLCmd_LevelCmd_MoveToLevelCmdParams {
1209        <ZigBeeMsg_ZCLCmd_LevelCmd_MoveToLevelCmdParams as ::protobuf::Message>::default_instance()
1210    }
1211}
1212
1213impl ZigBeeMsg_ZCLCmd_LevelCmd_MoveToLevelCmdParams {
1214    pub fn new() -> ZigBeeMsg_ZCLCmd_LevelCmd_MoveToLevelCmdParams {
1215        ::std::default::Default::default()
1216    }
1217
1218    // uint32 level = 1;
1219
1220
1221    pub fn get_level(&self) -> u32 {
1222        self.level
1223    }
1224    pub fn clear_level(&mut self) {
1225        self.level = 0;
1226    }
1227
1228    // Param is passed by value, moved
1229    pub fn set_level(&mut self, v: u32) {
1230        self.level = v;
1231    }
1232
1233    // uint32 transition_time = 2;
1234
1235
1236    pub fn get_transition_time(&self) -> u32 {
1237        self.transition_time
1238    }
1239    pub fn clear_transition_time(&mut self) {
1240        self.transition_time = 0;
1241    }
1242
1243    // Param is passed by value, moved
1244    pub fn set_transition_time(&mut self, v: u32) {
1245        self.transition_time = v;
1246    }
1247}
1248
1249impl ::protobuf::Message for ZigBeeMsg_ZCLCmd_LevelCmd_MoveToLevelCmdParams {
1250    fn is_initialized(&self) -> bool {
1251        true
1252    }
1253
1254    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1255        while !is.eof()? {
1256            let (field_number, wire_type) = is.read_tag_unpack()?;
1257            match field_number {
1258                1 => {
1259                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
1260                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1261                    }
1262                    let tmp = is.read_uint32()?;
1263                    self.level = tmp;
1264                },
1265                2 => {
1266                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
1267                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1268                    }
1269                    let tmp = is.read_uint32()?;
1270                    self.transition_time = tmp;
1271                },
1272                _ => {
1273                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1274                },
1275            };
1276        }
1277        ::std::result::Result::Ok(())
1278    }
1279
1280    // Compute sizes of nested messages
1281    #[allow(unused_variables)]
1282    fn compute_size(&self) -> u32 {
1283        let mut my_size = 0;
1284        if self.level != 0 {
1285            my_size += ::protobuf::rt::value_size(1, self.level, ::protobuf::wire_format::WireTypeVarint);
1286        }
1287        if self.transition_time != 0 {
1288            my_size += ::protobuf::rt::value_size(2, self.transition_time, ::protobuf::wire_format::WireTypeVarint);
1289        }
1290        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1291        self.cached_size.set(my_size);
1292        my_size
1293    }
1294
1295    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1296        if self.level != 0 {
1297            os.write_uint32(1, self.level)?;
1298        }
1299        if self.transition_time != 0 {
1300            os.write_uint32(2, self.transition_time)?;
1301        }
1302        os.write_unknown_fields(self.get_unknown_fields())?;
1303        ::std::result::Result::Ok(())
1304    }
1305
1306    fn get_cached_size(&self) -> u32 {
1307        self.cached_size.get()
1308    }
1309
1310    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1311        &self.unknown_fields
1312    }
1313
1314    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1315        &mut self.unknown_fields
1316    }
1317
1318    fn as_any(&self) -> &dyn (::std::any::Any) {
1319        self as &dyn (::std::any::Any)
1320    }
1321    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1322        self as &mut dyn (::std::any::Any)
1323    }
1324    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1325        self
1326    }
1327
1328    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1329        Self::descriptor_static()
1330    }
1331
1332    fn new() -> ZigBeeMsg_ZCLCmd_LevelCmd_MoveToLevelCmdParams {
1333        ZigBeeMsg_ZCLCmd_LevelCmd_MoveToLevelCmdParams::new()
1334    }
1335
1336    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1337        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1338        descriptor.get(|| {
1339            let mut fields = ::std::vec::Vec::new();
1340            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
1341                "level",
1342                |m: &ZigBeeMsg_ZCLCmd_LevelCmd_MoveToLevelCmdParams| { &m.level },
1343                |m: &mut ZigBeeMsg_ZCLCmd_LevelCmd_MoveToLevelCmdParams| { &mut m.level },
1344            ));
1345            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
1346                "transition_time",
1347                |m: &ZigBeeMsg_ZCLCmd_LevelCmd_MoveToLevelCmdParams| { &m.transition_time },
1348                |m: &mut ZigBeeMsg_ZCLCmd_LevelCmd_MoveToLevelCmdParams| { &mut m.transition_time },
1349            ));
1350            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ZigBeeMsg_ZCLCmd_LevelCmd_MoveToLevelCmdParams>(
1351                "ZigBeeMsg.ZCLCmd.LevelCmd.MoveToLevelCmdParams",
1352                fields,
1353                file_descriptor_proto()
1354            )
1355        })
1356    }
1357
1358    fn default_instance() -> &'static ZigBeeMsg_ZCLCmd_LevelCmd_MoveToLevelCmdParams {
1359        static instance: ::protobuf::rt::LazyV2<ZigBeeMsg_ZCLCmd_LevelCmd_MoveToLevelCmdParams> = ::protobuf::rt::LazyV2::INIT;
1360        instance.get(ZigBeeMsg_ZCLCmd_LevelCmd_MoveToLevelCmdParams::new)
1361    }
1362}
1363
1364impl ::protobuf::Clear for ZigBeeMsg_ZCLCmd_LevelCmd_MoveToLevelCmdParams {
1365    fn clear(&mut self) {
1366        self.level = 0;
1367        self.transition_time = 0;
1368        self.unknown_fields.clear();
1369    }
1370}
1371
1372impl ::std::fmt::Debug for ZigBeeMsg_ZCLCmd_LevelCmd_MoveToLevelCmdParams {
1373    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1374        ::protobuf::text_format::fmt(self, f)
1375    }
1376}
1377
1378impl ::protobuf::reflect::ProtobufValue for ZigBeeMsg_ZCLCmd_LevelCmd_MoveToLevelCmdParams {
1379    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1380        ::protobuf::reflect::ReflectValueRef::Message(self)
1381    }
1382}
1383
1384#[derive(PartialEq,Clone,Default)]
1385pub struct ZigBeeMsg_ZCLCmd_LevelCmd_MoveCmdParams {
1386    // message fields
1387    pub mode: u32,
1388    pub rate: u32,
1389    // special fields
1390    pub unknown_fields: ::protobuf::UnknownFields,
1391    pub cached_size: ::protobuf::CachedSize,
1392}
1393
1394impl<'a> ::std::default::Default for &'a ZigBeeMsg_ZCLCmd_LevelCmd_MoveCmdParams {
1395    fn default() -> &'a ZigBeeMsg_ZCLCmd_LevelCmd_MoveCmdParams {
1396        <ZigBeeMsg_ZCLCmd_LevelCmd_MoveCmdParams as ::protobuf::Message>::default_instance()
1397    }
1398}
1399
1400impl ZigBeeMsg_ZCLCmd_LevelCmd_MoveCmdParams {
1401    pub fn new() -> ZigBeeMsg_ZCLCmd_LevelCmd_MoveCmdParams {
1402        ::std::default::Default::default()
1403    }
1404
1405    // uint32 mode = 1;
1406
1407
1408    pub fn get_mode(&self) -> u32 {
1409        self.mode
1410    }
1411    pub fn clear_mode(&mut self) {
1412        self.mode = 0;
1413    }
1414
1415    // Param is passed by value, moved
1416    pub fn set_mode(&mut self, v: u32) {
1417        self.mode = v;
1418    }
1419
1420    // uint32 rate = 2;
1421
1422
1423    pub fn get_rate(&self) -> u32 {
1424        self.rate
1425    }
1426    pub fn clear_rate(&mut self) {
1427        self.rate = 0;
1428    }
1429
1430    // Param is passed by value, moved
1431    pub fn set_rate(&mut self, v: u32) {
1432        self.rate = v;
1433    }
1434}
1435
1436impl ::protobuf::Message for ZigBeeMsg_ZCLCmd_LevelCmd_MoveCmdParams {
1437    fn is_initialized(&self) -> bool {
1438        true
1439    }
1440
1441    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1442        while !is.eof()? {
1443            let (field_number, wire_type) = is.read_tag_unpack()?;
1444            match field_number {
1445                1 => {
1446                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
1447                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1448                    }
1449                    let tmp = is.read_uint32()?;
1450                    self.mode = tmp;
1451                },
1452                2 => {
1453                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
1454                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1455                    }
1456                    let tmp = is.read_uint32()?;
1457                    self.rate = tmp;
1458                },
1459                _ => {
1460                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1461                },
1462            };
1463        }
1464        ::std::result::Result::Ok(())
1465    }
1466
1467    // Compute sizes of nested messages
1468    #[allow(unused_variables)]
1469    fn compute_size(&self) -> u32 {
1470        let mut my_size = 0;
1471        if self.mode != 0 {
1472            my_size += ::protobuf::rt::value_size(1, self.mode, ::protobuf::wire_format::WireTypeVarint);
1473        }
1474        if self.rate != 0 {
1475            my_size += ::protobuf::rt::value_size(2, self.rate, ::protobuf::wire_format::WireTypeVarint);
1476        }
1477        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1478        self.cached_size.set(my_size);
1479        my_size
1480    }
1481
1482    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1483        if self.mode != 0 {
1484            os.write_uint32(1, self.mode)?;
1485        }
1486        if self.rate != 0 {
1487            os.write_uint32(2, self.rate)?;
1488        }
1489        os.write_unknown_fields(self.get_unknown_fields())?;
1490        ::std::result::Result::Ok(())
1491    }
1492
1493    fn get_cached_size(&self) -> u32 {
1494        self.cached_size.get()
1495    }
1496
1497    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1498        &self.unknown_fields
1499    }
1500
1501    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1502        &mut self.unknown_fields
1503    }
1504
1505    fn as_any(&self) -> &dyn (::std::any::Any) {
1506        self as &dyn (::std::any::Any)
1507    }
1508    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1509        self as &mut dyn (::std::any::Any)
1510    }
1511    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1512        self
1513    }
1514
1515    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1516        Self::descriptor_static()
1517    }
1518
1519    fn new() -> ZigBeeMsg_ZCLCmd_LevelCmd_MoveCmdParams {
1520        ZigBeeMsg_ZCLCmd_LevelCmd_MoveCmdParams::new()
1521    }
1522
1523    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1524        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1525        descriptor.get(|| {
1526            let mut fields = ::std::vec::Vec::new();
1527            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
1528                "mode",
1529                |m: &ZigBeeMsg_ZCLCmd_LevelCmd_MoveCmdParams| { &m.mode },
1530                |m: &mut ZigBeeMsg_ZCLCmd_LevelCmd_MoveCmdParams| { &mut m.mode },
1531            ));
1532            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
1533                "rate",
1534                |m: &ZigBeeMsg_ZCLCmd_LevelCmd_MoveCmdParams| { &m.rate },
1535                |m: &mut ZigBeeMsg_ZCLCmd_LevelCmd_MoveCmdParams| { &mut m.rate },
1536            ));
1537            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ZigBeeMsg_ZCLCmd_LevelCmd_MoveCmdParams>(
1538                "ZigBeeMsg.ZCLCmd.LevelCmd.MoveCmdParams",
1539                fields,
1540                file_descriptor_proto()
1541            )
1542        })
1543    }
1544
1545    fn default_instance() -> &'static ZigBeeMsg_ZCLCmd_LevelCmd_MoveCmdParams {
1546        static instance: ::protobuf::rt::LazyV2<ZigBeeMsg_ZCLCmd_LevelCmd_MoveCmdParams> = ::protobuf::rt::LazyV2::INIT;
1547        instance.get(ZigBeeMsg_ZCLCmd_LevelCmd_MoveCmdParams::new)
1548    }
1549}
1550
1551impl ::protobuf::Clear for ZigBeeMsg_ZCLCmd_LevelCmd_MoveCmdParams {
1552    fn clear(&mut self) {
1553        self.mode = 0;
1554        self.rate = 0;
1555        self.unknown_fields.clear();
1556    }
1557}
1558
1559impl ::std::fmt::Debug for ZigBeeMsg_ZCLCmd_LevelCmd_MoveCmdParams {
1560    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1561        ::protobuf::text_format::fmt(self, f)
1562    }
1563}
1564
1565impl ::protobuf::reflect::ProtobufValue for ZigBeeMsg_ZCLCmd_LevelCmd_MoveCmdParams {
1566    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1567        ::protobuf::reflect::ReflectValueRef::Message(self)
1568    }
1569}
1570
1571#[derive(Clone,PartialEq,Eq,Debug,Hash)]
1572pub enum ZigBeeMsg_ZCLCmd_LevelCmd_ZCLLevelCmdType {
1573    MOVE_TO_LEVEL = 0,
1574    MOVE = 1,
1575}
1576
1577impl ::protobuf::ProtobufEnum for ZigBeeMsg_ZCLCmd_LevelCmd_ZCLLevelCmdType {
1578    fn value(&self) -> i32 {
1579        *self as i32
1580    }
1581
1582    fn from_i32(value: i32) -> ::std::option::Option<ZigBeeMsg_ZCLCmd_LevelCmd_ZCLLevelCmdType> {
1583        match value {
1584            0 => ::std::option::Option::Some(ZigBeeMsg_ZCLCmd_LevelCmd_ZCLLevelCmdType::MOVE_TO_LEVEL),
1585            1 => ::std::option::Option::Some(ZigBeeMsg_ZCLCmd_LevelCmd_ZCLLevelCmdType::MOVE),
1586            _ => ::std::option::Option::None
1587        }
1588    }
1589
1590    fn values() -> &'static [Self] {
1591        static values: &'static [ZigBeeMsg_ZCLCmd_LevelCmd_ZCLLevelCmdType] = &[
1592            ZigBeeMsg_ZCLCmd_LevelCmd_ZCLLevelCmdType::MOVE_TO_LEVEL,
1593            ZigBeeMsg_ZCLCmd_LevelCmd_ZCLLevelCmdType::MOVE,
1594        ];
1595        values
1596    }
1597
1598    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
1599        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
1600        descriptor.get(|| {
1601            ::protobuf::reflect::EnumDescriptor::new_pb_name::<ZigBeeMsg_ZCLCmd_LevelCmd_ZCLLevelCmdType>("ZigBeeMsg.ZCLCmd.LevelCmd.ZCLLevelCmdType", file_descriptor_proto())
1602        })
1603    }
1604}
1605
1606impl ::std::marker::Copy for ZigBeeMsg_ZCLCmd_LevelCmd_ZCLLevelCmdType {
1607}
1608
1609impl ::std::default::Default for ZigBeeMsg_ZCLCmd_LevelCmd_ZCLLevelCmdType {
1610    fn default() -> Self {
1611        ZigBeeMsg_ZCLCmd_LevelCmd_ZCLLevelCmdType::MOVE_TO_LEVEL
1612    }
1613}
1614
1615impl ::protobuf::reflect::ProtobufValue for ZigBeeMsg_ZCLCmd_LevelCmd_ZCLLevelCmdType {
1616    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1617        ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
1618    }
1619}
1620
1621#[derive(PartialEq,Clone,Default)]
1622pub struct ZigBeeMsg_ZCLCmd_ColorControlCmd {
1623    // message fields
1624    pub field_type: ZigBeeMsg_ZCLCmd_ColorControlCmd_ZCLColorControlCmdType,
1625    pub movetohue_params: ::protobuf::SingularPtrField<ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams>,
1626    pub movetosat_params: ::protobuf::SingularPtrField<ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToSatCmdParams>,
1627    pub movetohueandsat_params: ::protobuf::SingularPtrField<ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueAndSatCmdParams>,
1628    pub movetocolortemp_params: ::protobuf::SingularPtrField<ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToColorTempCmdParams>,
1629    // special fields
1630    pub unknown_fields: ::protobuf::UnknownFields,
1631    pub cached_size: ::protobuf::CachedSize,
1632}
1633
1634impl<'a> ::std::default::Default for &'a ZigBeeMsg_ZCLCmd_ColorControlCmd {
1635    fn default() -> &'a ZigBeeMsg_ZCLCmd_ColorControlCmd {
1636        <ZigBeeMsg_ZCLCmd_ColorControlCmd as ::protobuf::Message>::default_instance()
1637    }
1638}
1639
1640impl ZigBeeMsg_ZCLCmd_ColorControlCmd {
1641    pub fn new() -> ZigBeeMsg_ZCLCmd_ColorControlCmd {
1642        ::std::default::Default::default()
1643    }
1644
1645    // .matrix_io.malos.v1.comm.ZigBeeMsg.ZCLCmd.ColorControlCmd.ZCLColorControlCmdType type = 1;
1646
1647
1648    pub fn get_field_type(&self) -> ZigBeeMsg_ZCLCmd_ColorControlCmd_ZCLColorControlCmdType {
1649        self.field_type
1650    }
1651    pub fn clear_field_type(&mut self) {
1652        self.field_type = ZigBeeMsg_ZCLCmd_ColorControlCmd_ZCLColorControlCmdType::MOVETOHUE;
1653    }
1654
1655    // Param is passed by value, moved
1656    pub fn set_field_type(&mut self, v: ZigBeeMsg_ZCLCmd_ColorControlCmd_ZCLColorControlCmdType) {
1657        self.field_type = v;
1658    }
1659
1660    // .matrix_io.malos.v1.comm.ZigBeeMsg.ZCLCmd.ColorControlCmd.MoveToHueCmdParams movetohue_params = 2;
1661
1662
1663    pub fn get_movetohue_params(&self) -> &ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams {
1664        self.movetohue_params.as_ref().unwrap_or_else(|| <ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams as ::protobuf::Message>::default_instance())
1665    }
1666    pub fn clear_movetohue_params(&mut self) {
1667        self.movetohue_params.clear();
1668    }
1669
1670    pub fn has_movetohue_params(&self) -> bool {
1671        self.movetohue_params.is_some()
1672    }
1673
1674    // Param is passed by value, moved
1675    pub fn set_movetohue_params(&mut self, v: ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams) {
1676        self.movetohue_params = ::protobuf::SingularPtrField::some(v);
1677    }
1678
1679    // Mutable pointer to the field.
1680    // If field is not initialized, it is initialized with default value first.
1681    pub fn mut_movetohue_params(&mut self) -> &mut ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams {
1682        if self.movetohue_params.is_none() {
1683            self.movetohue_params.set_default();
1684        }
1685        self.movetohue_params.as_mut().unwrap()
1686    }
1687
1688    // Take field
1689    pub fn take_movetohue_params(&mut self) -> ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams {
1690        self.movetohue_params.take().unwrap_or_else(|| ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams::new())
1691    }
1692
1693    // .matrix_io.malos.v1.comm.ZigBeeMsg.ZCLCmd.ColorControlCmd.MoveToSatCmdParams movetosat_params = 3;
1694
1695
1696    pub fn get_movetosat_params(&self) -> &ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToSatCmdParams {
1697        self.movetosat_params.as_ref().unwrap_or_else(|| <ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToSatCmdParams as ::protobuf::Message>::default_instance())
1698    }
1699    pub fn clear_movetosat_params(&mut self) {
1700        self.movetosat_params.clear();
1701    }
1702
1703    pub fn has_movetosat_params(&self) -> bool {
1704        self.movetosat_params.is_some()
1705    }
1706
1707    // Param is passed by value, moved
1708    pub fn set_movetosat_params(&mut self, v: ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToSatCmdParams) {
1709        self.movetosat_params = ::protobuf::SingularPtrField::some(v);
1710    }
1711
1712    // Mutable pointer to the field.
1713    // If field is not initialized, it is initialized with default value first.
1714    pub fn mut_movetosat_params(&mut self) -> &mut ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToSatCmdParams {
1715        if self.movetosat_params.is_none() {
1716            self.movetosat_params.set_default();
1717        }
1718        self.movetosat_params.as_mut().unwrap()
1719    }
1720
1721    // Take field
1722    pub fn take_movetosat_params(&mut self) -> ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToSatCmdParams {
1723        self.movetosat_params.take().unwrap_or_else(|| ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToSatCmdParams::new())
1724    }
1725
1726    // .matrix_io.malos.v1.comm.ZigBeeMsg.ZCLCmd.ColorControlCmd.MoveToHueAndSatCmdParams movetohueandsat_params = 4;
1727
1728
1729    pub fn get_movetohueandsat_params(&self) -> &ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueAndSatCmdParams {
1730        self.movetohueandsat_params.as_ref().unwrap_or_else(|| <ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueAndSatCmdParams as ::protobuf::Message>::default_instance())
1731    }
1732    pub fn clear_movetohueandsat_params(&mut self) {
1733        self.movetohueandsat_params.clear();
1734    }
1735
1736    pub fn has_movetohueandsat_params(&self) -> bool {
1737        self.movetohueandsat_params.is_some()
1738    }
1739
1740    // Param is passed by value, moved
1741    pub fn set_movetohueandsat_params(&mut self, v: ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueAndSatCmdParams) {
1742        self.movetohueandsat_params = ::protobuf::SingularPtrField::some(v);
1743    }
1744
1745    // Mutable pointer to the field.
1746    // If field is not initialized, it is initialized with default value first.
1747    pub fn mut_movetohueandsat_params(&mut self) -> &mut ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueAndSatCmdParams {
1748        if self.movetohueandsat_params.is_none() {
1749            self.movetohueandsat_params.set_default();
1750        }
1751        self.movetohueandsat_params.as_mut().unwrap()
1752    }
1753
1754    // Take field
1755    pub fn take_movetohueandsat_params(&mut self) -> ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueAndSatCmdParams {
1756        self.movetohueandsat_params.take().unwrap_or_else(|| ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueAndSatCmdParams::new())
1757    }
1758
1759    // .matrix_io.malos.v1.comm.ZigBeeMsg.ZCLCmd.ColorControlCmd.MoveToColorTempCmdParams movetocolortemp_params = 5;
1760
1761
1762    pub fn get_movetocolortemp_params(&self) -> &ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToColorTempCmdParams {
1763        self.movetocolortemp_params.as_ref().unwrap_or_else(|| <ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToColorTempCmdParams as ::protobuf::Message>::default_instance())
1764    }
1765    pub fn clear_movetocolortemp_params(&mut self) {
1766        self.movetocolortemp_params.clear();
1767    }
1768
1769    pub fn has_movetocolortemp_params(&self) -> bool {
1770        self.movetocolortemp_params.is_some()
1771    }
1772
1773    // Param is passed by value, moved
1774    pub fn set_movetocolortemp_params(&mut self, v: ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToColorTempCmdParams) {
1775        self.movetocolortemp_params = ::protobuf::SingularPtrField::some(v);
1776    }
1777
1778    // Mutable pointer to the field.
1779    // If field is not initialized, it is initialized with default value first.
1780    pub fn mut_movetocolortemp_params(&mut self) -> &mut ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToColorTempCmdParams {
1781        if self.movetocolortemp_params.is_none() {
1782            self.movetocolortemp_params.set_default();
1783        }
1784        self.movetocolortemp_params.as_mut().unwrap()
1785    }
1786
1787    // Take field
1788    pub fn take_movetocolortemp_params(&mut self) -> ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToColorTempCmdParams {
1789        self.movetocolortemp_params.take().unwrap_or_else(|| ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToColorTempCmdParams::new())
1790    }
1791}
1792
1793impl ::protobuf::Message for ZigBeeMsg_ZCLCmd_ColorControlCmd {
1794    fn is_initialized(&self) -> bool {
1795        for v in &self.movetohue_params {
1796            if !v.is_initialized() {
1797                return false;
1798            }
1799        };
1800        for v in &self.movetosat_params {
1801            if !v.is_initialized() {
1802                return false;
1803            }
1804        };
1805        for v in &self.movetohueandsat_params {
1806            if !v.is_initialized() {
1807                return false;
1808            }
1809        };
1810        for v in &self.movetocolortemp_params {
1811            if !v.is_initialized() {
1812                return false;
1813            }
1814        };
1815        true
1816    }
1817
1818    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1819        while !is.eof()? {
1820            let (field_number, wire_type) = is.read_tag_unpack()?;
1821            match field_number {
1822                1 => {
1823                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.field_type, 1, &mut self.unknown_fields)?
1824                },
1825                2 => {
1826                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.movetohue_params)?;
1827                },
1828                3 => {
1829                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.movetosat_params)?;
1830                },
1831                4 => {
1832                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.movetohueandsat_params)?;
1833                },
1834                5 => {
1835                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.movetocolortemp_params)?;
1836                },
1837                _ => {
1838                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1839                },
1840            };
1841        }
1842        ::std::result::Result::Ok(())
1843    }
1844
1845    // Compute sizes of nested messages
1846    #[allow(unused_variables)]
1847    fn compute_size(&self) -> u32 {
1848        let mut my_size = 0;
1849        if self.field_type != ZigBeeMsg_ZCLCmd_ColorControlCmd_ZCLColorControlCmdType::MOVETOHUE {
1850            my_size += ::protobuf::rt::enum_size(1, self.field_type);
1851        }
1852        if let Some(ref v) = self.movetohue_params.as_ref() {
1853            let len = v.compute_size();
1854            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1855        }
1856        if let Some(ref v) = self.movetosat_params.as_ref() {
1857            let len = v.compute_size();
1858            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1859        }
1860        if let Some(ref v) = self.movetohueandsat_params.as_ref() {
1861            let len = v.compute_size();
1862            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1863        }
1864        if let Some(ref v) = self.movetocolortemp_params.as_ref() {
1865            let len = v.compute_size();
1866            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1867        }
1868        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1869        self.cached_size.set(my_size);
1870        my_size
1871    }
1872
1873    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1874        if self.field_type != ZigBeeMsg_ZCLCmd_ColorControlCmd_ZCLColorControlCmdType::MOVETOHUE {
1875            os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.field_type))?;
1876        }
1877        if let Some(ref v) = self.movetohue_params.as_ref() {
1878            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1879            os.write_raw_varint32(v.get_cached_size())?;
1880            v.write_to_with_cached_sizes(os)?;
1881        }
1882        if let Some(ref v) = self.movetosat_params.as_ref() {
1883            os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1884            os.write_raw_varint32(v.get_cached_size())?;
1885            v.write_to_with_cached_sizes(os)?;
1886        }
1887        if let Some(ref v) = self.movetohueandsat_params.as_ref() {
1888            os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1889            os.write_raw_varint32(v.get_cached_size())?;
1890            v.write_to_with_cached_sizes(os)?;
1891        }
1892        if let Some(ref v) = self.movetocolortemp_params.as_ref() {
1893            os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1894            os.write_raw_varint32(v.get_cached_size())?;
1895            v.write_to_with_cached_sizes(os)?;
1896        }
1897        os.write_unknown_fields(self.get_unknown_fields())?;
1898        ::std::result::Result::Ok(())
1899    }
1900
1901    fn get_cached_size(&self) -> u32 {
1902        self.cached_size.get()
1903    }
1904
1905    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1906        &self.unknown_fields
1907    }
1908
1909    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1910        &mut self.unknown_fields
1911    }
1912
1913    fn as_any(&self) -> &dyn (::std::any::Any) {
1914        self as &dyn (::std::any::Any)
1915    }
1916    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1917        self as &mut dyn (::std::any::Any)
1918    }
1919    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1920        self
1921    }
1922
1923    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1924        Self::descriptor_static()
1925    }
1926
1927    fn new() -> ZigBeeMsg_ZCLCmd_ColorControlCmd {
1928        ZigBeeMsg_ZCLCmd_ColorControlCmd::new()
1929    }
1930
1931    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1932        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1933        descriptor.get(|| {
1934            let mut fields = ::std::vec::Vec::new();
1935            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<ZigBeeMsg_ZCLCmd_ColorControlCmd_ZCLColorControlCmdType>>(
1936                "type",
1937                |m: &ZigBeeMsg_ZCLCmd_ColorControlCmd| { &m.field_type },
1938                |m: &mut ZigBeeMsg_ZCLCmd_ColorControlCmd| { &mut m.field_type },
1939            ));
1940            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams>>(
1941                "movetohue_params",
1942                |m: &ZigBeeMsg_ZCLCmd_ColorControlCmd| { &m.movetohue_params },
1943                |m: &mut ZigBeeMsg_ZCLCmd_ColorControlCmd| { &mut m.movetohue_params },
1944            ));
1945            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToSatCmdParams>>(
1946                "movetosat_params",
1947                |m: &ZigBeeMsg_ZCLCmd_ColorControlCmd| { &m.movetosat_params },
1948                |m: &mut ZigBeeMsg_ZCLCmd_ColorControlCmd| { &mut m.movetosat_params },
1949            ));
1950            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueAndSatCmdParams>>(
1951                "movetohueandsat_params",
1952                |m: &ZigBeeMsg_ZCLCmd_ColorControlCmd| { &m.movetohueandsat_params },
1953                |m: &mut ZigBeeMsg_ZCLCmd_ColorControlCmd| { &mut m.movetohueandsat_params },
1954            ));
1955            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToColorTempCmdParams>>(
1956                "movetocolortemp_params",
1957                |m: &ZigBeeMsg_ZCLCmd_ColorControlCmd| { &m.movetocolortemp_params },
1958                |m: &mut ZigBeeMsg_ZCLCmd_ColorControlCmd| { &mut m.movetocolortemp_params },
1959            ));
1960            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ZigBeeMsg_ZCLCmd_ColorControlCmd>(
1961                "ZigBeeMsg.ZCLCmd.ColorControlCmd",
1962                fields,
1963                file_descriptor_proto()
1964            )
1965        })
1966    }
1967
1968    fn default_instance() -> &'static ZigBeeMsg_ZCLCmd_ColorControlCmd {
1969        static instance: ::protobuf::rt::LazyV2<ZigBeeMsg_ZCLCmd_ColorControlCmd> = ::protobuf::rt::LazyV2::INIT;
1970        instance.get(ZigBeeMsg_ZCLCmd_ColorControlCmd::new)
1971    }
1972}
1973
1974impl ::protobuf::Clear for ZigBeeMsg_ZCLCmd_ColorControlCmd {
1975    fn clear(&mut self) {
1976        self.field_type = ZigBeeMsg_ZCLCmd_ColorControlCmd_ZCLColorControlCmdType::MOVETOHUE;
1977        self.movetohue_params.clear();
1978        self.movetosat_params.clear();
1979        self.movetohueandsat_params.clear();
1980        self.movetocolortemp_params.clear();
1981        self.unknown_fields.clear();
1982    }
1983}
1984
1985impl ::std::fmt::Debug for ZigBeeMsg_ZCLCmd_ColorControlCmd {
1986    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1987        ::protobuf::text_format::fmt(self, f)
1988    }
1989}
1990
1991impl ::protobuf::reflect::ProtobufValue for ZigBeeMsg_ZCLCmd_ColorControlCmd {
1992    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1993        ::protobuf::reflect::ReflectValueRef::Message(self)
1994    }
1995}
1996
1997#[derive(PartialEq,Clone,Default)]
1998pub struct ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams {
1999    // message fields
2000    pub hue: u32,
2001    pub direction: ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams_DirectionParam,
2002    pub transition_time: u32,
2003    // special fields
2004    pub unknown_fields: ::protobuf::UnknownFields,
2005    pub cached_size: ::protobuf::CachedSize,
2006}
2007
2008impl<'a> ::std::default::Default for &'a ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams {
2009    fn default() -> &'a ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams {
2010        <ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams as ::protobuf::Message>::default_instance()
2011    }
2012}
2013
2014impl ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams {
2015    pub fn new() -> ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams {
2016        ::std::default::Default::default()
2017    }
2018
2019    // uint32 hue = 1;
2020
2021
2022    pub fn get_hue(&self) -> u32 {
2023        self.hue
2024    }
2025    pub fn clear_hue(&mut self) {
2026        self.hue = 0;
2027    }
2028
2029    // Param is passed by value, moved
2030    pub fn set_hue(&mut self, v: u32) {
2031        self.hue = v;
2032    }
2033
2034    // .matrix_io.malos.v1.comm.ZigBeeMsg.ZCLCmd.ColorControlCmd.MoveToHueCmdParams.DirectionParam direction = 2;
2035
2036
2037    pub fn get_direction(&self) -> ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams_DirectionParam {
2038        self.direction
2039    }
2040    pub fn clear_direction(&mut self) {
2041        self.direction = ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams_DirectionParam::SHORTEST_DISTANCE;
2042    }
2043
2044    // Param is passed by value, moved
2045    pub fn set_direction(&mut self, v: ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams_DirectionParam) {
2046        self.direction = v;
2047    }
2048
2049    // uint32 transition_time = 3;
2050
2051
2052    pub fn get_transition_time(&self) -> u32 {
2053        self.transition_time
2054    }
2055    pub fn clear_transition_time(&mut self) {
2056        self.transition_time = 0;
2057    }
2058
2059    // Param is passed by value, moved
2060    pub fn set_transition_time(&mut self, v: u32) {
2061        self.transition_time = v;
2062    }
2063}
2064
2065impl ::protobuf::Message for ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams {
2066    fn is_initialized(&self) -> bool {
2067        true
2068    }
2069
2070    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2071        while !is.eof()? {
2072            let (field_number, wire_type) = is.read_tag_unpack()?;
2073            match field_number {
2074                1 => {
2075                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2076                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2077                    }
2078                    let tmp = is.read_uint32()?;
2079                    self.hue = tmp;
2080                },
2081                2 => {
2082                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.direction, 2, &mut self.unknown_fields)?
2083                },
2084                3 => {
2085                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2086                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2087                    }
2088                    let tmp = is.read_uint32()?;
2089                    self.transition_time = tmp;
2090                },
2091                _ => {
2092                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2093                },
2094            };
2095        }
2096        ::std::result::Result::Ok(())
2097    }
2098
2099    // Compute sizes of nested messages
2100    #[allow(unused_variables)]
2101    fn compute_size(&self) -> u32 {
2102        let mut my_size = 0;
2103        if self.hue != 0 {
2104            my_size += ::protobuf::rt::value_size(1, self.hue, ::protobuf::wire_format::WireTypeVarint);
2105        }
2106        if self.direction != ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams_DirectionParam::SHORTEST_DISTANCE {
2107            my_size += ::protobuf::rt::enum_size(2, self.direction);
2108        }
2109        if self.transition_time != 0 {
2110            my_size += ::protobuf::rt::value_size(3, self.transition_time, ::protobuf::wire_format::WireTypeVarint);
2111        }
2112        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2113        self.cached_size.set(my_size);
2114        my_size
2115    }
2116
2117    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2118        if self.hue != 0 {
2119            os.write_uint32(1, self.hue)?;
2120        }
2121        if self.direction != ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams_DirectionParam::SHORTEST_DISTANCE {
2122            os.write_enum(2, ::protobuf::ProtobufEnum::value(&self.direction))?;
2123        }
2124        if self.transition_time != 0 {
2125            os.write_uint32(3, self.transition_time)?;
2126        }
2127        os.write_unknown_fields(self.get_unknown_fields())?;
2128        ::std::result::Result::Ok(())
2129    }
2130
2131    fn get_cached_size(&self) -> u32 {
2132        self.cached_size.get()
2133    }
2134
2135    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2136        &self.unknown_fields
2137    }
2138
2139    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2140        &mut self.unknown_fields
2141    }
2142
2143    fn as_any(&self) -> &dyn (::std::any::Any) {
2144        self as &dyn (::std::any::Any)
2145    }
2146    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2147        self as &mut dyn (::std::any::Any)
2148    }
2149    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2150        self
2151    }
2152
2153    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2154        Self::descriptor_static()
2155    }
2156
2157    fn new() -> ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams {
2158        ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams::new()
2159    }
2160
2161    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2162        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2163        descriptor.get(|| {
2164            let mut fields = ::std::vec::Vec::new();
2165            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
2166                "hue",
2167                |m: &ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams| { &m.hue },
2168                |m: &mut ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams| { &mut m.hue },
2169            ));
2170            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams_DirectionParam>>(
2171                "direction",
2172                |m: &ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams| { &m.direction },
2173                |m: &mut ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams| { &mut m.direction },
2174            ));
2175            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
2176                "transition_time",
2177                |m: &ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams| { &m.transition_time },
2178                |m: &mut ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams| { &mut m.transition_time },
2179            ));
2180            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams>(
2181                "ZigBeeMsg.ZCLCmd.ColorControlCmd.MoveToHueCmdParams",
2182                fields,
2183                file_descriptor_proto()
2184            )
2185        })
2186    }
2187
2188    fn default_instance() -> &'static ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams {
2189        static instance: ::protobuf::rt::LazyV2<ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams> = ::protobuf::rt::LazyV2::INIT;
2190        instance.get(ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams::new)
2191    }
2192}
2193
2194impl ::protobuf::Clear for ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams {
2195    fn clear(&mut self) {
2196        self.hue = 0;
2197        self.direction = ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams_DirectionParam::SHORTEST_DISTANCE;
2198        self.transition_time = 0;
2199        self.unknown_fields.clear();
2200    }
2201}
2202
2203impl ::std::fmt::Debug for ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams {
2204    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2205        ::protobuf::text_format::fmt(self, f)
2206    }
2207}
2208
2209impl ::protobuf::reflect::ProtobufValue for ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams {
2210    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2211        ::protobuf::reflect::ReflectValueRef::Message(self)
2212    }
2213}
2214
2215#[derive(Clone,PartialEq,Eq,Debug,Hash)]
2216pub enum ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams_DirectionParam {
2217    SHORTEST_DISTANCE = 0,
2218    LONGEST_DISTANCE = 1,
2219    UP = 2,
2220    DOWN = 3,
2221}
2222
2223impl ::protobuf::ProtobufEnum for ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams_DirectionParam {
2224    fn value(&self) -> i32 {
2225        *self as i32
2226    }
2227
2228    fn from_i32(value: i32) -> ::std::option::Option<ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams_DirectionParam> {
2229        match value {
2230            0 => ::std::option::Option::Some(ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams_DirectionParam::SHORTEST_DISTANCE),
2231            1 => ::std::option::Option::Some(ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams_DirectionParam::LONGEST_DISTANCE),
2232            2 => ::std::option::Option::Some(ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams_DirectionParam::UP),
2233            3 => ::std::option::Option::Some(ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams_DirectionParam::DOWN),
2234            _ => ::std::option::Option::None
2235        }
2236    }
2237
2238    fn values() -> &'static [Self] {
2239        static values: &'static [ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams_DirectionParam] = &[
2240            ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams_DirectionParam::SHORTEST_DISTANCE,
2241            ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams_DirectionParam::LONGEST_DISTANCE,
2242            ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams_DirectionParam::UP,
2243            ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams_DirectionParam::DOWN,
2244        ];
2245        values
2246    }
2247
2248    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
2249        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
2250        descriptor.get(|| {
2251            ::protobuf::reflect::EnumDescriptor::new_pb_name::<ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams_DirectionParam>("ZigBeeMsg.ZCLCmd.ColorControlCmd.MoveToHueCmdParams.DirectionParam", file_descriptor_proto())
2252        })
2253    }
2254}
2255
2256impl ::std::marker::Copy for ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams_DirectionParam {
2257}
2258
2259impl ::std::default::Default for ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams_DirectionParam {
2260    fn default() -> Self {
2261        ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams_DirectionParam::SHORTEST_DISTANCE
2262    }
2263}
2264
2265impl ::protobuf::reflect::ProtobufValue for ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueCmdParams_DirectionParam {
2266    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2267        ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
2268    }
2269}
2270
2271#[derive(PartialEq,Clone,Default)]
2272pub struct ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToSatCmdParams {
2273    // message fields
2274    pub saturation: u32,
2275    pub transition_time: u32,
2276    // special fields
2277    pub unknown_fields: ::protobuf::UnknownFields,
2278    pub cached_size: ::protobuf::CachedSize,
2279}
2280
2281impl<'a> ::std::default::Default for &'a ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToSatCmdParams {
2282    fn default() -> &'a ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToSatCmdParams {
2283        <ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToSatCmdParams as ::protobuf::Message>::default_instance()
2284    }
2285}
2286
2287impl ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToSatCmdParams {
2288    pub fn new() -> ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToSatCmdParams {
2289        ::std::default::Default::default()
2290    }
2291
2292    // uint32 saturation = 1;
2293
2294
2295    pub fn get_saturation(&self) -> u32 {
2296        self.saturation
2297    }
2298    pub fn clear_saturation(&mut self) {
2299        self.saturation = 0;
2300    }
2301
2302    // Param is passed by value, moved
2303    pub fn set_saturation(&mut self, v: u32) {
2304        self.saturation = v;
2305    }
2306
2307    // uint32 transition_time = 2;
2308
2309
2310    pub fn get_transition_time(&self) -> u32 {
2311        self.transition_time
2312    }
2313    pub fn clear_transition_time(&mut self) {
2314        self.transition_time = 0;
2315    }
2316
2317    // Param is passed by value, moved
2318    pub fn set_transition_time(&mut self, v: u32) {
2319        self.transition_time = v;
2320    }
2321}
2322
2323impl ::protobuf::Message for ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToSatCmdParams {
2324    fn is_initialized(&self) -> bool {
2325        true
2326    }
2327
2328    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2329        while !is.eof()? {
2330            let (field_number, wire_type) = is.read_tag_unpack()?;
2331            match field_number {
2332                1 => {
2333                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2334                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2335                    }
2336                    let tmp = is.read_uint32()?;
2337                    self.saturation = tmp;
2338                },
2339                2 => {
2340                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2341                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2342                    }
2343                    let tmp = is.read_uint32()?;
2344                    self.transition_time = tmp;
2345                },
2346                _ => {
2347                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2348                },
2349            };
2350        }
2351        ::std::result::Result::Ok(())
2352    }
2353
2354    // Compute sizes of nested messages
2355    #[allow(unused_variables)]
2356    fn compute_size(&self) -> u32 {
2357        let mut my_size = 0;
2358        if self.saturation != 0 {
2359            my_size += ::protobuf::rt::value_size(1, self.saturation, ::protobuf::wire_format::WireTypeVarint);
2360        }
2361        if self.transition_time != 0 {
2362            my_size += ::protobuf::rt::value_size(2, self.transition_time, ::protobuf::wire_format::WireTypeVarint);
2363        }
2364        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2365        self.cached_size.set(my_size);
2366        my_size
2367    }
2368
2369    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2370        if self.saturation != 0 {
2371            os.write_uint32(1, self.saturation)?;
2372        }
2373        if self.transition_time != 0 {
2374            os.write_uint32(2, self.transition_time)?;
2375        }
2376        os.write_unknown_fields(self.get_unknown_fields())?;
2377        ::std::result::Result::Ok(())
2378    }
2379
2380    fn get_cached_size(&self) -> u32 {
2381        self.cached_size.get()
2382    }
2383
2384    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2385        &self.unknown_fields
2386    }
2387
2388    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2389        &mut self.unknown_fields
2390    }
2391
2392    fn as_any(&self) -> &dyn (::std::any::Any) {
2393        self as &dyn (::std::any::Any)
2394    }
2395    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2396        self as &mut dyn (::std::any::Any)
2397    }
2398    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2399        self
2400    }
2401
2402    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2403        Self::descriptor_static()
2404    }
2405
2406    fn new() -> ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToSatCmdParams {
2407        ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToSatCmdParams::new()
2408    }
2409
2410    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2411        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2412        descriptor.get(|| {
2413            let mut fields = ::std::vec::Vec::new();
2414            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
2415                "saturation",
2416                |m: &ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToSatCmdParams| { &m.saturation },
2417                |m: &mut ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToSatCmdParams| { &mut m.saturation },
2418            ));
2419            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
2420                "transition_time",
2421                |m: &ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToSatCmdParams| { &m.transition_time },
2422                |m: &mut ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToSatCmdParams| { &mut m.transition_time },
2423            ));
2424            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToSatCmdParams>(
2425                "ZigBeeMsg.ZCLCmd.ColorControlCmd.MoveToSatCmdParams",
2426                fields,
2427                file_descriptor_proto()
2428            )
2429        })
2430    }
2431
2432    fn default_instance() -> &'static ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToSatCmdParams {
2433        static instance: ::protobuf::rt::LazyV2<ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToSatCmdParams> = ::protobuf::rt::LazyV2::INIT;
2434        instance.get(ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToSatCmdParams::new)
2435    }
2436}
2437
2438impl ::protobuf::Clear for ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToSatCmdParams {
2439    fn clear(&mut self) {
2440        self.saturation = 0;
2441        self.transition_time = 0;
2442        self.unknown_fields.clear();
2443    }
2444}
2445
2446impl ::std::fmt::Debug for ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToSatCmdParams {
2447    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2448        ::protobuf::text_format::fmt(self, f)
2449    }
2450}
2451
2452impl ::protobuf::reflect::ProtobufValue for ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToSatCmdParams {
2453    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2454        ::protobuf::reflect::ReflectValueRef::Message(self)
2455    }
2456}
2457
2458#[derive(PartialEq,Clone,Default)]
2459pub struct ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueAndSatCmdParams {
2460    // message fields
2461    pub hue: u32,
2462    pub saturation: u32,
2463    pub transition_time: u32,
2464    // special fields
2465    pub unknown_fields: ::protobuf::UnknownFields,
2466    pub cached_size: ::protobuf::CachedSize,
2467}
2468
2469impl<'a> ::std::default::Default for &'a ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueAndSatCmdParams {
2470    fn default() -> &'a ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueAndSatCmdParams {
2471        <ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueAndSatCmdParams as ::protobuf::Message>::default_instance()
2472    }
2473}
2474
2475impl ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueAndSatCmdParams {
2476    pub fn new() -> ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueAndSatCmdParams {
2477        ::std::default::Default::default()
2478    }
2479
2480    // uint32 hue = 1;
2481
2482
2483    pub fn get_hue(&self) -> u32 {
2484        self.hue
2485    }
2486    pub fn clear_hue(&mut self) {
2487        self.hue = 0;
2488    }
2489
2490    // Param is passed by value, moved
2491    pub fn set_hue(&mut self, v: u32) {
2492        self.hue = v;
2493    }
2494
2495    // uint32 saturation = 2;
2496
2497
2498    pub fn get_saturation(&self) -> u32 {
2499        self.saturation
2500    }
2501    pub fn clear_saturation(&mut self) {
2502        self.saturation = 0;
2503    }
2504
2505    // Param is passed by value, moved
2506    pub fn set_saturation(&mut self, v: u32) {
2507        self.saturation = v;
2508    }
2509
2510    // uint32 transition_time = 3;
2511
2512
2513    pub fn get_transition_time(&self) -> u32 {
2514        self.transition_time
2515    }
2516    pub fn clear_transition_time(&mut self) {
2517        self.transition_time = 0;
2518    }
2519
2520    // Param is passed by value, moved
2521    pub fn set_transition_time(&mut self, v: u32) {
2522        self.transition_time = v;
2523    }
2524}
2525
2526impl ::protobuf::Message for ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueAndSatCmdParams {
2527    fn is_initialized(&self) -> bool {
2528        true
2529    }
2530
2531    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2532        while !is.eof()? {
2533            let (field_number, wire_type) = is.read_tag_unpack()?;
2534            match field_number {
2535                1 => {
2536                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2537                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2538                    }
2539                    let tmp = is.read_uint32()?;
2540                    self.hue = tmp;
2541                },
2542                2 => {
2543                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2544                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2545                    }
2546                    let tmp = is.read_uint32()?;
2547                    self.saturation = tmp;
2548                },
2549                3 => {
2550                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2551                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2552                    }
2553                    let tmp = is.read_uint32()?;
2554                    self.transition_time = tmp;
2555                },
2556                _ => {
2557                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2558                },
2559            };
2560        }
2561        ::std::result::Result::Ok(())
2562    }
2563
2564    // Compute sizes of nested messages
2565    #[allow(unused_variables)]
2566    fn compute_size(&self) -> u32 {
2567        let mut my_size = 0;
2568        if self.hue != 0 {
2569            my_size += ::protobuf::rt::value_size(1, self.hue, ::protobuf::wire_format::WireTypeVarint);
2570        }
2571        if self.saturation != 0 {
2572            my_size += ::protobuf::rt::value_size(2, self.saturation, ::protobuf::wire_format::WireTypeVarint);
2573        }
2574        if self.transition_time != 0 {
2575            my_size += ::protobuf::rt::value_size(3, self.transition_time, ::protobuf::wire_format::WireTypeVarint);
2576        }
2577        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2578        self.cached_size.set(my_size);
2579        my_size
2580    }
2581
2582    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2583        if self.hue != 0 {
2584            os.write_uint32(1, self.hue)?;
2585        }
2586        if self.saturation != 0 {
2587            os.write_uint32(2, self.saturation)?;
2588        }
2589        if self.transition_time != 0 {
2590            os.write_uint32(3, self.transition_time)?;
2591        }
2592        os.write_unknown_fields(self.get_unknown_fields())?;
2593        ::std::result::Result::Ok(())
2594    }
2595
2596    fn get_cached_size(&self) -> u32 {
2597        self.cached_size.get()
2598    }
2599
2600    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2601        &self.unknown_fields
2602    }
2603
2604    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2605        &mut self.unknown_fields
2606    }
2607
2608    fn as_any(&self) -> &dyn (::std::any::Any) {
2609        self as &dyn (::std::any::Any)
2610    }
2611    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2612        self as &mut dyn (::std::any::Any)
2613    }
2614    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2615        self
2616    }
2617
2618    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2619        Self::descriptor_static()
2620    }
2621
2622    fn new() -> ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueAndSatCmdParams {
2623        ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueAndSatCmdParams::new()
2624    }
2625
2626    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2627        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2628        descriptor.get(|| {
2629            let mut fields = ::std::vec::Vec::new();
2630            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
2631                "hue",
2632                |m: &ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueAndSatCmdParams| { &m.hue },
2633                |m: &mut ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueAndSatCmdParams| { &mut m.hue },
2634            ));
2635            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
2636                "saturation",
2637                |m: &ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueAndSatCmdParams| { &m.saturation },
2638                |m: &mut ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueAndSatCmdParams| { &mut m.saturation },
2639            ));
2640            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
2641                "transition_time",
2642                |m: &ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueAndSatCmdParams| { &m.transition_time },
2643                |m: &mut ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueAndSatCmdParams| { &mut m.transition_time },
2644            ));
2645            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueAndSatCmdParams>(
2646                "ZigBeeMsg.ZCLCmd.ColorControlCmd.MoveToHueAndSatCmdParams",
2647                fields,
2648                file_descriptor_proto()
2649            )
2650        })
2651    }
2652
2653    fn default_instance() -> &'static ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueAndSatCmdParams {
2654        static instance: ::protobuf::rt::LazyV2<ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueAndSatCmdParams> = ::protobuf::rt::LazyV2::INIT;
2655        instance.get(ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueAndSatCmdParams::new)
2656    }
2657}
2658
2659impl ::protobuf::Clear for ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueAndSatCmdParams {
2660    fn clear(&mut self) {
2661        self.hue = 0;
2662        self.saturation = 0;
2663        self.transition_time = 0;
2664        self.unknown_fields.clear();
2665    }
2666}
2667
2668impl ::std::fmt::Debug for ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueAndSatCmdParams {
2669    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2670        ::protobuf::text_format::fmt(self, f)
2671    }
2672}
2673
2674impl ::protobuf::reflect::ProtobufValue for ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToHueAndSatCmdParams {
2675    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2676        ::protobuf::reflect::ReflectValueRef::Message(self)
2677    }
2678}
2679
2680#[derive(PartialEq,Clone,Default)]
2681pub struct ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToColorTempCmdParams {
2682    // message fields
2683    pub color_temperature: u32,
2684    pub transition_time: u32,
2685    // special fields
2686    pub unknown_fields: ::protobuf::UnknownFields,
2687    pub cached_size: ::protobuf::CachedSize,
2688}
2689
2690impl<'a> ::std::default::Default for &'a ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToColorTempCmdParams {
2691    fn default() -> &'a ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToColorTempCmdParams {
2692        <ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToColorTempCmdParams as ::protobuf::Message>::default_instance()
2693    }
2694}
2695
2696impl ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToColorTempCmdParams {
2697    pub fn new() -> ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToColorTempCmdParams {
2698        ::std::default::Default::default()
2699    }
2700
2701    // uint32 color_temperature = 1;
2702
2703
2704    pub fn get_color_temperature(&self) -> u32 {
2705        self.color_temperature
2706    }
2707    pub fn clear_color_temperature(&mut self) {
2708        self.color_temperature = 0;
2709    }
2710
2711    // Param is passed by value, moved
2712    pub fn set_color_temperature(&mut self, v: u32) {
2713        self.color_temperature = v;
2714    }
2715
2716    // uint32 transition_time = 2;
2717
2718
2719    pub fn get_transition_time(&self) -> u32 {
2720        self.transition_time
2721    }
2722    pub fn clear_transition_time(&mut self) {
2723        self.transition_time = 0;
2724    }
2725
2726    // Param is passed by value, moved
2727    pub fn set_transition_time(&mut self, v: u32) {
2728        self.transition_time = v;
2729    }
2730}
2731
2732impl ::protobuf::Message for ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToColorTempCmdParams {
2733    fn is_initialized(&self) -> bool {
2734        true
2735    }
2736
2737    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2738        while !is.eof()? {
2739            let (field_number, wire_type) = is.read_tag_unpack()?;
2740            match field_number {
2741                1 => {
2742                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2743                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2744                    }
2745                    let tmp = is.read_uint32()?;
2746                    self.color_temperature = tmp;
2747                },
2748                2 => {
2749                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2750                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2751                    }
2752                    let tmp = is.read_uint32()?;
2753                    self.transition_time = tmp;
2754                },
2755                _ => {
2756                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2757                },
2758            };
2759        }
2760        ::std::result::Result::Ok(())
2761    }
2762
2763    // Compute sizes of nested messages
2764    #[allow(unused_variables)]
2765    fn compute_size(&self) -> u32 {
2766        let mut my_size = 0;
2767        if self.color_temperature != 0 {
2768            my_size += ::protobuf::rt::value_size(1, self.color_temperature, ::protobuf::wire_format::WireTypeVarint);
2769        }
2770        if self.transition_time != 0 {
2771            my_size += ::protobuf::rt::value_size(2, self.transition_time, ::protobuf::wire_format::WireTypeVarint);
2772        }
2773        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2774        self.cached_size.set(my_size);
2775        my_size
2776    }
2777
2778    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2779        if self.color_temperature != 0 {
2780            os.write_uint32(1, self.color_temperature)?;
2781        }
2782        if self.transition_time != 0 {
2783            os.write_uint32(2, self.transition_time)?;
2784        }
2785        os.write_unknown_fields(self.get_unknown_fields())?;
2786        ::std::result::Result::Ok(())
2787    }
2788
2789    fn get_cached_size(&self) -> u32 {
2790        self.cached_size.get()
2791    }
2792
2793    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2794        &self.unknown_fields
2795    }
2796
2797    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2798        &mut self.unknown_fields
2799    }
2800
2801    fn as_any(&self) -> &dyn (::std::any::Any) {
2802        self as &dyn (::std::any::Any)
2803    }
2804    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2805        self as &mut dyn (::std::any::Any)
2806    }
2807    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2808        self
2809    }
2810
2811    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2812        Self::descriptor_static()
2813    }
2814
2815    fn new() -> ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToColorTempCmdParams {
2816        ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToColorTempCmdParams::new()
2817    }
2818
2819    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2820        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2821        descriptor.get(|| {
2822            let mut fields = ::std::vec::Vec::new();
2823            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
2824                "color_temperature",
2825                |m: &ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToColorTempCmdParams| { &m.color_temperature },
2826                |m: &mut ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToColorTempCmdParams| { &mut m.color_temperature },
2827            ));
2828            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
2829                "transition_time",
2830                |m: &ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToColorTempCmdParams| { &m.transition_time },
2831                |m: &mut ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToColorTempCmdParams| { &mut m.transition_time },
2832            ));
2833            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToColorTempCmdParams>(
2834                "ZigBeeMsg.ZCLCmd.ColorControlCmd.MoveToColorTempCmdParams",
2835                fields,
2836                file_descriptor_proto()
2837            )
2838        })
2839    }
2840
2841    fn default_instance() -> &'static ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToColorTempCmdParams {
2842        static instance: ::protobuf::rt::LazyV2<ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToColorTempCmdParams> = ::protobuf::rt::LazyV2::INIT;
2843        instance.get(ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToColorTempCmdParams::new)
2844    }
2845}
2846
2847impl ::protobuf::Clear for ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToColorTempCmdParams {
2848    fn clear(&mut self) {
2849        self.color_temperature = 0;
2850        self.transition_time = 0;
2851        self.unknown_fields.clear();
2852    }
2853}
2854
2855impl ::std::fmt::Debug for ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToColorTempCmdParams {
2856    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2857        ::protobuf::text_format::fmt(self, f)
2858    }
2859}
2860
2861impl ::protobuf::reflect::ProtobufValue for ZigBeeMsg_ZCLCmd_ColorControlCmd_MoveToColorTempCmdParams {
2862    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2863        ::protobuf::reflect::ReflectValueRef::Message(self)
2864    }
2865}
2866
2867#[derive(Clone,PartialEq,Eq,Debug,Hash)]
2868pub enum ZigBeeMsg_ZCLCmd_ColorControlCmd_ZCLColorControlCmdType {
2869    MOVETOHUE = 0,
2870    MOVETOSAT = 1,
2871    MOVETOHUEANDSAT = 2,
2872    MOVETOCOLORTEMP = 3,
2873}
2874
2875impl ::protobuf::ProtobufEnum for ZigBeeMsg_ZCLCmd_ColorControlCmd_ZCLColorControlCmdType {
2876    fn value(&self) -> i32 {
2877        *self as i32
2878    }
2879
2880    fn from_i32(value: i32) -> ::std::option::Option<ZigBeeMsg_ZCLCmd_ColorControlCmd_ZCLColorControlCmdType> {
2881        match value {
2882            0 => ::std::option::Option::Some(ZigBeeMsg_ZCLCmd_ColorControlCmd_ZCLColorControlCmdType::MOVETOHUE),
2883            1 => ::std::option::Option::Some(ZigBeeMsg_ZCLCmd_ColorControlCmd_ZCLColorControlCmdType::MOVETOSAT),
2884            2 => ::std::option::Option::Some(ZigBeeMsg_ZCLCmd_ColorControlCmd_ZCLColorControlCmdType::MOVETOHUEANDSAT),
2885            3 => ::std::option::Option::Some(ZigBeeMsg_ZCLCmd_ColorControlCmd_ZCLColorControlCmdType::MOVETOCOLORTEMP),
2886            _ => ::std::option::Option::None
2887        }
2888    }
2889
2890    fn values() -> &'static [Self] {
2891        static values: &'static [ZigBeeMsg_ZCLCmd_ColorControlCmd_ZCLColorControlCmdType] = &[
2892            ZigBeeMsg_ZCLCmd_ColorControlCmd_ZCLColorControlCmdType::MOVETOHUE,
2893            ZigBeeMsg_ZCLCmd_ColorControlCmd_ZCLColorControlCmdType::MOVETOSAT,
2894            ZigBeeMsg_ZCLCmd_ColorControlCmd_ZCLColorControlCmdType::MOVETOHUEANDSAT,
2895            ZigBeeMsg_ZCLCmd_ColorControlCmd_ZCLColorControlCmdType::MOVETOCOLORTEMP,
2896        ];
2897        values
2898    }
2899
2900    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
2901        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
2902        descriptor.get(|| {
2903            ::protobuf::reflect::EnumDescriptor::new_pb_name::<ZigBeeMsg_ZCLCmd_ColorControlCmd_ZCLColorControlCmdType>("ZigBeeMsg.ZCLCmd.ColorControlCmd.ZCLColorControlCmdType", file_descriptor_proto())
2904        })
2905    }
2906}
2907
2908impl ::std::marker::Copy for ZigBeeMsg_ZCLCmd_ColorControlCmd_ZCLColorControlCmdType {
2909}
2910
2911impl ::std::default::Default for ZigBeeMsg_ZCLCmd_ColorControlCmd_ZCLColorControlCmdType {
2912    fn default() -> Self {
2913        ZigBeeMsg_ZCLCmd_ColorControlCmd_ZCLColorControlCmdType::MOVETOHUE
2914    }
2915}
2916
2917impl ::protobuf::reflect::ProtobufValue for ZigBeeMsg_ZCLCmd_ColorControlCmd_ZCLColorControlCmdType {
2918    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2919        ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
2920    }
2921}
2922
2923#[derive(PartialEq,Clone,Default)]
2924pub struct ZigBeeMsg_ZCLCmd_IdentifyCmd {
2925    // message fields
2926    pub field_type: ZigBeeMsg_ZCLCmd_IdentifyCmd_ZCLIdentifyCmdType,
2927    pub identify_on_params: ::protobuf::SingularPtrField<ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOnCmdParams>,
2928    pub identify_off_params: ::protobuf::SingularPtrField<ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOffCmdParams>,
2929    // special fields
2930    pub unknown_fields: ::protobuf::UnknownFields,
2931    pub cached_size: ::protobuf::CachedSize,
2932}
2933
2934impl<'a> ::std::default::Default for &'a ZigBeeMsg_ZCLCmd_IdentifyCmd {
2935    fn default() -> &'a ZigBeeMsg_ZCLCmd_IdentifyCmd {
2936        <ZigBeeMsg_ZCLCmd_IdentifyCmd as ::protobuf::Message>::default_instance()
2937    }
2938}
2939
2940impl ZigBeeMsg_ZCLCmd_IdentifyCmd {
2941    pub fn new() -> ZigBeeMsg_ZCLCmd_IdentifyCmd {
2942        ::std::default::Default::default()
2943    }
2944
2945    // .matrix_io.malos.v1.comm.ZigBeeMsg.ZCLCmd.IdentifyCmd.ZCLIdentifyCmdType type = 1;
2946
2947
2948    pub fn get_field_type(&self) -> ZigBeeMsg_ZCLCmd_IdentifyCmd_ZCLIdentifyCmdType {
2949        self.field_type
2950    }
2951    pub fn clear_field_type(&mut self) {
2952        self.field_type = ZigBeeMsg_ZCLCmd_IdentifyCmd_ZCLIdentifyCmdType::IDENTIFY_ON;
2953    }
2954
2955    // Param is passed by value, moved
2956    pub fn set_field_type(&mut self, v: ZigBeeMsg_ZCLCmd_IdentifyCmd_ZCLIdentifyCmdType) {
2957        self.field_type = v;
2958    }
2959
2960    // .matrix_io.malos.v1.comm.ZigBeeMsg.ZCLCmd.IdentifyCmd.IdentifyOnCmdParams identify_on_params = 2;
2961
2962
2963    pub fn get_identify_on_params(&self) -> &ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOnCmdParams {
2964        self.identify_on_params.as_ref().unwrap_or_else(|| <ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOnCmdParams as ::protobuf::Message>::default_instance())
2965    }
2966    pub fn clear_identify_on_params(&mut self) {
2967        self.identify_on_params.clear();
2968    }
2969
2970    pub fn has_identify_on_params(&self) -> bool {
2971        self.identify_on_params.is_some()
2972    }
2973
2974    // Param is passed by value, moved
2975    pub fn set_identify_on_params(&mut self, v: ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOnCmdParams) {
2976        self.identify_on_params = ::protobuf::SingularPtrField::some(v);
2977    }
2978
2979    // Mutable pointer to the field.
2980    // If field is not initialized, it is initialized with default value first.
2981    pub fn mut_identify_on_params(&mut self) -> &mut ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOnCmdParams {
2982        if self.identify_on_params.is_none() {
2983            self.identify_on_params.set_default();
2984        }
2985        self.identify_on_params.as_mut().unwrap()
2986    }
2987
2988    // Take field
2989    pub fn take_identify_on_params(&mut self) -> ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOnCmdParams {
2990        self.identify_on_params.take().unwrap_or_else(|| ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOnCmdParams::new())
2991    }
2992
2993    // .matrix_io.malos.v1.comm.ZigBeeMsg.ZCLCmd.IdentifyCmd.IdentifyOffCmdParams identify_off_params = 3;
2994
2995
2996    pub fn get_identify_off_params(&self) -> &ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOffCmdParams {
2997        self.identify_off_params.as_ref().unwrap_or_else(|| <ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOffCmdParams as ::protobuf::Message>::default_instance())
2998    }
2999    pub fn clear_identify_off_params(&mut self) {
3000        self.identify_off_params.clear();
3001    }
3002
3003    pub fn has_identify_off_params(&self) -> bool {
3004        self.identify_off_params.is_some()
3005    }
3006
3007    // Param is passed by value, moved
3008    pub fn set_identify_off_params(&mut self, v: ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOffCmdParams) {
3009        self.identify_off_params = ::protobuf::SingularPtrField::some(v);
3010    }
3011
3012    // Mutable pointer to the field.
3013    // If field is not initialized, it is initialized with default value first.
3014    pub fn mut_identify_off_params(&mut self) -> &mut ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOffCmdParams {
3015        if self.identify_off_params.is_none() {
3016            self.identify_off_params.set_default();
3017        }
3018        self.identify_off_params.as_mut().unwrap()
3019    }
3020
3021    // Take field
3022    pub fn take_identify_off_params(&mut self) -> ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOffCmdParams {
3023        self.identify_off_params.take().unwrap_or_else(|| ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOffCmdParams::new())
3024    }
3025}
3026
3027impl ::protobuf::Message for ZigBeeMsg_ZCLCmd_IdentifyCmd {
3028    fn is_initialized(&self) -> bool {
3029        for v in &self.identify_on_params {
3030            if !v.is_initialized() {
3031                return false;
3032            }
3033        };
3034        for v in &self.identify_off_params {
3035            if !v.is_initialized() {
3036                return false;
3037            }
3038        };
3039        true
3040    }
3041
3042    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3043        while !is.eof()? {
3044            let (field_number, wire_type) = is.read_tag_unpack()?;
3045            match field_number {
3046                1 => {
3047                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.field_type, 1, &mut self.unknown_fields)?
3048                },
3049                2 => {
3050                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.identify_on_params)?;
3051                },
3052                3 => {
3053                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.identify_off_params)?;
3054                },
3055                _ => {
3056                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3057                },
3058            };
3059        }
3060        ::std::result::Result::Ok(())
3061    }
3062
3063    // Compute sizes of nested messages
3064    #[allow(unused_variables)]
3065    fn compute_size(&self) -> u32 {
3066        let mut my_size = 0;
3067        if self.field_type != ZigBeeMsg_ZCLCmd_IdentifyCmd_ZCLIdentifyCmdType::IDENTIFY_ON {
3068            my_size += ::protobuf::rt::enum_size(1, self.field_type);
3069        }
3070        if let Some(ref v) = self.identify_on_params.as_ref() {
3071            let len = v.compute_size();
3072            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3073        }
3074        if let Some(ref v) = self.identify_off_params.as_ref() {
3075            let len = v.compute_size();
3076            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3077        }
3078        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3079        self.cached_size.set(my_size);
3080        my_size
3081    }
3082
3083    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3084        if self.field_type != ZigBeeMsg_ZCLCmd_IdentifyCmd_ZCLIdentifyCmdType::IDENTIFY_ON {
3085            os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.field_type))?;
3086        }
3087        if let Some(ref v) = self.identify_on_params.as_ref() {
3088            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3089            os.write_raw_varint32(v.get_cached_size())?;
3090            v.write_to_with_cached_sizes(os)?;
3091        }
3092        if let Some(ref v) = self.identify_off_params.as_ref() {
3093            os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3094            os.write_raw_varint32(v.get_cached_size())?;
3095            v.write_to_with_cached_sizes(os)?;
3096        }
3097        os.write_unknown_fields(self.get_unknown_fields())?;
3098        ::std::result::Result::Ok(())
3099    }
3100
3101    fn get_cached_size(&self) -> u32 {
3102        self.cached_size.get()
3103    }
3104
3105    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3106        &self.unknown_fields
3107    }
3108
3109    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3110        &mut self.unknown_fields
3111    }
3112
3113    fn as_any(&self) -> &dyn (::std::any::Any) {
3114        self as &dyn (::std::any::Any)
3115    }
3116    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3117        self as &mut dyn (::std::any::Any)
3118    }
3119    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3120        self
3121    }
3122
3123    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3124        Self::descriptor_static()
3125    }
3126
3127    fn new() -> ZigBeeMsg_ZCLCmd_IdentifyCmd {
3128        ZigBeeMsg_ZCLCmd_IdentifyCmd::new()
3129    }
3130
3131    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3132        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3133        descriptor.get(|| {
3134            let mut fields = ::std::vec::Vec::new();
3135            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<ZigBeeMsg_ZCLCmd_IdentifyCmd_ZCLIdentifyCmdType>>(
3136                "type",
3137                |m: &ZigBeeMsg_ZCLCmd_IdentifyCmd| { &m.field_type },
3138                |m: &mut ZigBeeMsg_ZCLCmd_IdentifyCmd| { &mut m.field_type },
3139            ));
3140            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOnCmdParams>>(
3141                "identify_on_params",
3142                |m: &ZigBeeMsg_ZCLCmd_IdentifyCmd| { &m.identify_on_params },
3143                |m: &mut ZigBeeMsg_ZCLCmd_IdentifyCmd| { &mut m.identify_on_params },
3144            ));
3145            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOffCmdParams>>(
3146                "identify_off_params",
3147                |m: &ZigBeeMsg_ZCLCmd_IdentifyCmd| { &m.identify_off_params },
3148                |m: &mut ZigBeeMsg_ZCLCmd_IdentifyCmd| { &mut m.identify_off_params },
3149            ));
3150            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ZigBeeMsg_ZCLCmd_IdentifyCmd>(
3151                "ZigBeeMsg.ZCLCmd.IdentifyCmd",
3152                fields,
3153                file_descriptor_proto()
3154            )
3155        })
3156    }
3157
3158    fn default_instance() -> &'static ZigBeeMsg_ZCLCmd_IdentifyCmd {
3159        static instance: ::protobuf::rt::LazyV2<ZigBeeMsg_ZCLCmd_IdentifyCmd> = ::protobuf::rt::LazyV2::INIT;
3160        instance.get(ZigBeeMsg_ZCLCmd_IdentifyCmd::new)
3161    }
3162}
3163
3164impl ::protobuf::Clear for ZigBeeMsg_ZCLCmd_IdentifyCmd {
3165    fn clear(&mut self) {
3166        self.field_type = ZigBeeMsg_ZCLCmd_IdentifyCmd_ZCLIdentifyCmdType::IDENTIFY_ON;
3167        self.identify_on_params.clear();
3168        self.identify_off_params.clear();
3169        self.unknown_fields.clear();
3170    }
3171}
3172
3173impl ::std::fmt::Debug for ZigBeeMsg_ZCLCmd_IdentifyCmd {
3174    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3175        ::protobuf::text_format::fmt(self, f)
3176    }
3177}
3178
3179impl ::protobuf::reflect::ProtobufValue for ZigBeeMsg_ZCLCmd_IdentifyCmd {
3180    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3181        ::protobuf::reflect::ReflectValueRef::Message(self)
3182    }
3183}
3184
3185#[derive(PartialEq,Clone,Default)]
3186pub struct ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOnCmdParams {
3187    // message fields
3188    pub endpoint: u32,
3189    pub identify_time: u32,
3190    // special fields
3191    pub unknown_fields: ::protobuf::UnknownFields,
3192    pub cached_size: ::protobuf::CachedSize,
3193}
3194
3195impl<'a> ::std::default::Default for &'a ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOnCmdParams {
3196    fn default() -> &'a ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOnCmdParams {
3197        <ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOnCmdParams as ::protobuf::Message>::default_instance()
3198    }
3199}
3200
3201impl ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOnCmdParams {
3202    pub fn new() -> ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOnCmdParams {
3203        ::std::default::Default::default()
3204    }
3205
3206    // uint32 endpoint = 1;
3207
3208
3209    pub fn get_endpoint(&self) -> u32 {
3210        self.endpoint
3211    }
3212    pub fn clear_endpoint(&mut self) {
3213        self.endpoint = 0;
3214    }
3215
3216    // Param is passed by value, moved
3217    pub fn set_endpoint(&mut self, v: u32) {
3218        self.endpoint = v;
3219    }
3220
3221    // uint32 identify_time = 2;
3222
3223
3224    pub fn get_identify_time(&self) -> u32 {
3225        self.identify_time
3226    }
3227    pub fn clear_identify_time(&mut self) {
3228        self.identify_time = 0;
3229    }
3230
3231    // Param is passed by value, moved
3232    pub fn set_identify_time(&mut self, v: u32) {
3233        self.identify_time = v;
3234    }
3235}
3236
3237impl ::protobuf::Message for ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOnCmdParams {
3238    fn is_initialized(&self) -> bool {
3239        true
3240    }
3241
3242    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3243        while !is.eof()? {
3244            let (field_number, wire_type) = is.read_tag_unpack()?;
3245            match field_number {
3246                1 => {
3247                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
3248                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3249                    }
3250                    let tmp = is.read_uint32()?;
3251                    self.endpoint = tmp;
3252                },
3253                2 => {
3254                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
3255                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3256                    }
3257                    let tmp = is.read_uint32()?;
3258                    self.identify_time = tmp;
3259                },
3260                _ => {
3261                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3262                },
3263            };
3264        }
3265        ::std::result::Result::Ok(())
3266    }
3267
3268    // Compute sizes of nested messages
3269    #[allow(unused_variables)]
3270    fn compute_size(&self) -> u32 {
3271        let mut my_size = 0;
3272        if self.endpoint != 0 {
3273            my_size += ::protobuf::rt::value_size(1, self.endpoint, ::protobuf::wire_format::WireTypeVarint);
3274        }
3275        if self.identify_time != 0 {
3276            my_size += ::protobuf::rt::value_size(2, self.identify_time, ::protobuf::wire_format::WireTypeVarint);
3277        }
3278        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3279        self.cached_size.set(my_size);
3280        my_size
3281    }
3282
3283    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3284        if self.endpoint != 0 {
3285            os.write_uint32(1, self.endpoint)?;
3286        }
3287        if self.identify_time != 0 {
3288            os.write_uint32(2, self.identify_time)?;
3289        }
3290        os.write_unknown_fields(self.get_unknown_fields())?;
3291        ::std::result::Result::Ok(())
3292    }
3293
3294    fn get_cached_size(&self) -> u32 {
3295        self.cached_size.get()
3296    }
3297
3298    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3299        &self.unknown_fields
3300    }
3301
3302    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3303        &mut self.unknown_fields
3304    }
3305
3306    fn as_any(&self) -> &dyn (::std::any::Any) {
3307        self as &dyn (::std::any::Any)
3308    }
3309    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3310        self as &mut dyn (::std::any::Any)
3311    }
3312    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3313        self
3314    }
3315
3316    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3317        Self::descriptor_static()
3318    }
3319
3320    fn new() -> ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOnCmdParams {
3321        ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOnCmdParams::new()
3322    }
3323
3324    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3325        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3326        descriptor.get(|| {
3327            let mut fields = ::std::vec::Vec::new();
3328            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
3329                "endpoint",
3330                |m: &ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOnCmdParams| { &m.endpoint },
3331                |m: &mut ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOnCmdParams| { &mut m.endpoint },
3332            ));
3333            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
3334                "identify_time",
3335                |m: &ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOnCmdParams| { &m.identify_time },
3336                |m: &mut ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOnCmdParams| { &mut m.identify_time },
3337            ));
3338            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOnCmdParams>(
3339                "ZigBeeMsg.ZCLCmd.IdentifyCmd.IdentifyOnCmdParams",
3340                fields,
3341                file_descriptor_proto()
3342            )
3343        })
3344    }
3345
3346    fn default_instance() -> &'static ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOnCmdParams {
3347        static instance: ::protobuf::rt::LazyV2<ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOnCmdParams> = ::protobuf::rt::LazyV2::INIT;
3348        instance.get(ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOnCmdParams::new)
3349    }
3350}
3351
3352impl ::protobuf::Clear for ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOnCmdParams {
3353    fn clear(&mut self) {
3354        self.endpoint = 0;
3355        self.identify_time = 0;
3356        self.unknown_fields.clear();
3357    }
3358}
3359
3360impl ::std::fmt::Debug for ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOnCmdParams {
3361    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3362        ::protobuf::text_format::fmt(self, f)
3363    }
3364}
3365
3366impl ::protobuf::reflect::ProtobufValue for ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOnCmdParams {
3367    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3368        ::protobuf::reflect::ReflectValueRef::Message(self)
3369    }
3370}
3371
3372#[derive(PartialEq,Clone,Default)]
3373pub struct ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOffCmdParams {
3374    // message fields
3375    pub identify_time: u32,
3376    // special fields
3377    pub unknown_fields: ::protobuf::UnknownFields,
3378    pub cached_size: ::protobuf::CachedSize,
3379}
3380
3381impl<'a> ::std::default::Default for &'a ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOffCmdParams {
3382    fn default() -> &'a ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOffCmdParams {
3383        <ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOffCmdParams as ::protobuf::Message>::default_instance()
3384    }
3385}
3386
3387impl ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOffCmdParams {
3388    pub fn new() -> ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOffCmdParams {
3389        ::std::default::Default::default()
3390    }
3391
3392    // uint32 identify_time = 1;
3393
3394
3395    pub fn get_identify_time(&self) -> u32 {
3396        self.identify_time
3397    }
3398    pub fn clear_identify_time(&mut self) {
3399        self.identify_time = 0;
3400    }
3401
3402    // Param is passed by value, moved
3403    pub fn set_identify_time(&mut self, v: u32) {
3404        self.identify_time = v;
3405    }
3406}
3407
3408impl ::protobuf::Message for ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOffCmdParams {
3409    fn is_initialized(&self) -> bool {
3410        true
3411    }
3412
3413    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3414        while !is.eof()? {
3415            let (field_number, wire_type) = is.read_tag_unpack()?;
3416            match field_number {
3417                1 => {
3418                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
3419                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3420                    }
3421                    let tmp = is.read_uint32()?;
3422                    self.identify_time = tmp;
3423                },
3424                _ => {
3425                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3426                },
3427            };
3428        }
3429        ::std::result::Result::Ok(())
3430    }
3431
3432    // Compute sizes of nested messages
3433    #[allow(unused_variables)]
3434    fn compute_size(&self) -> u32 {
3435        let mut my_size = 0;
3436        if self.identify_time != 0 {
3437            my_size += ::protobuf::rt::value_size(1, self.identify_time, ::protobuf::wire_format::WireTypeVarint);
3438        }
3439        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3440        self.cached_size.set(my_size);
3441        my_size
3442    }
3443
3444    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3445        if self.identify_time != 0 {
3446            os.write_uint32(1, self.identify_time)?;
3447        }
3448        os.write_unknown_fields(self.get_unknown_fields())?;
3449        ::std::result::Result::Ok(())
3450    }
3451
3452    fn get_cached_size(&self) -> u32 {
3453        self.cached_size.get()
3454    }
3455
3456    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3457        &self.unknown_fields
3458    }
3459
3460    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3461        &mut self.unknown_fields
3462    }
3463
3464    fn as_any(&self) -> &dyn (::std::any::Any) {
3465        self as &dyn (::std::any::Any)
3466    }
3467    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3468        self as &mut dyn (::std::any::Any)
3469    }
3470    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3471        self
3472    }
3473
3474    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3475        Self::descriptor_static()
3476    }
3477
3478    fn new() -> ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOffCmdParams {
3479        ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOffCmdParams::new()
3480    }
3481
3482    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3483        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3484        descriptor.get(|| {
3485            let mut fields = ::std::vec::Vec::new();
3486            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
3487                "identify_time",
3488                |m: &ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOffCmdParams| { &m.identify_time },
3489                |m: &mut ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOffCmdParams| { &mut m.identify_time },
3490            ));
3491            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOffCmdParams>(
3492                "ZigBeeMsg.ZCLCmd.IdentifyCmd.IdentifyOffCmdParams",
3493                fields,
3494                file_descriptor_proto()
3495            )
3496        })
3497    }
3498
3499    fn default_instance() -> &'static ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOffCmdParams {
3500        static instance: ::protobuf::rt::LazyV2<ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOffCmdParams> = ::protobuf::rt::LazyV2::INIT;
3501        instance.get(ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOffCmdParams::new)
3502    }
3503}
3504
3505impl ::protobuf::Clear for ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOffCmdParams {
3506    fn clear(&mut self) {
3507        self.identify_time = 0;
3508        self.unknown_fields.clear();
3509    }
3510}
3511
3512impl ::std::fmt::Debug for ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOffCmdParams {
3513    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3514        ::protobuf::text_format::fmt(self, f)
3515    }
3516}
3517
3518impl ::protobuf::reflect::ProtobufValue for ZigBeeMsg_ZCLCmd_IdentifyCmd_IdentifyOffCmdParams {
3519    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3520        ::protobuf::reflect::ReflectValueRef::Message(self)
3521    }
3522}
3523
3524#[derive(Clone,PartialEq,Eq,Debug,Hash)]
3525pub enum ZigBeeMsg_ZCLCmd_IdentifyCmd_ZCLIdentifyCmdType {
3526    IDENTIFY_ON = 0,
3527    IDENTIFY_OFF = 1,
3528}
3529
3530impl ::protobuf::ProtobufEnum for ZigBeeMsg_ZCLCmd_IdentifyCmd_ZCLIdentifyCmdType {
3531    fn value(&self) -> i32 {
3532        *self as i32
3533    }
3534
3535    fn from_i32(value: i32) -> ::std::option::Option<ZigBeeMsg_ZCLCmd_IdentifyCmd_ZCLIdentifyCmdType> {
3536        match value {
3537            0 => ::std::option::Option::Some(ZigBeeMsg_ZCLCmd_IdentifyCmd_ZCLIdentifyCmdType::IDENTIFY_ON),
3538            1 => ::std::option::Option::Some(ZigBeeMsg_ZCLCmd_IdentifyCmd_ZCLIdentifyCmdType::IDENTIFY_OFF),
3539            _ => ::std::option::Option::None
3540        }
3541    }
3542
3543    fn values() -> &'static [Self] {
3544        static values: &'static [ZigBeeMsg_ZCLCmd_IdentifyCmd_ZCLIdentifyCmdType] = &[
3545            ZigBeeMsg_ZCLCmd_IdentifyCmd_ZCLIdentifyCmdType::IDENTIFY_ON,
3546            ZigBeeMsg_ZCLCmd_IdentifyCmd_ZCLIdentifyCmdType::IDENTIFY_OFF,
3547        ];
3548        values
3549    }
3550
3551    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
3552        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
3553        descriptor.get(|| {
3554            ::protobuf::reflect::EnumDescriptor::new_pb_name::<ZigBeeMsg_ZCLCmd_IdentifyCmd_ZCLIdentifyCmdType>("ZigBeeMsg.ZCLCmd.IdentifyCmd.ZCLIdentifyCmdType", file_descriptor_proto())
3555        })
3556    }
3557}
3558
3559impl ::std::marker::Copy for ZigBeeMsg_ZCLCmd_IdentifyCmd_ZCLIdentifyCmdType {
3560}
3561
3562impl ::std::default::Default for ZigBeeMsg_ZCLCmd_IdentifyCmd_ZCLIdentifyCmdType {
3563    fn default() -> Self {
3564        ZigBeeMsg_ZCLCmd_IdentifyCmd_ZCLIdentifyCmdType::IDENTIFY_ON
3565    }
3566}
3567
3568impl ::protobuf::reflect::ProtobufValue for ZigBeeMsg_ZCLCmd_IdentifyCmd_ZCLIdentifyCmdType {
3569    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3570        ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
3571    }
3572}
3573
3574#[derive(Clone,PartialEq,Eq,Debug,Hash)]
3575pub enum ZigBeeMsg_ZCLCmd_ZCLCmdType {
3576    ON_OFF = 0,
3577    LEVEL = 1,
3578    COLOR_CONTROL = 2,
3579    IDENTIFY = 3,
3580}
3581
3582impl ::protobuf::ProtobufEnum for ZigBeeMsg_ZCLCmd_ZCLCmdType {
3583    fn value(&self) -> i32 {
3584        *self as i32
3585    }
3586
3587    fn from_i32(value: i32) -> ::std::option::Option<ZigBeeMsg_ZCLCmd_ZCLCmdType> {
3588        match value {
3589            0 => ::std::option::Option::Some(ZigBeeMsg_ZCLCmd_ZCLCmdType::ON_OFF),
3590            1 => ::std::option::Option::Some(ZigBeeMsg_ZCLCmd_ZCLCmdType::LEVEL),
3591            2 => ::std::option::Option::Some(ZigBeeMsg_ZCLCmd_ZCLCmdType::COLOR_CONTROL),
3592            3 => ::std::option::Option::Some(ZigBeeMsg_ZCLCmd_ZCLCmdType::IDENTIFY),
3593            _ => ::std::option::Option::None
3594        }
3595    }
3596
3597    fn values() -> &'static [Self] {
3598        static values: &'static [ZigBeeMsg_ZCLCmd_ZCLCmdType] = &[
3599            ZigBeeMsg_ZCLCmd_ZCLCmdType::ON_OFF,
3600            ZigBeeMsg_ZCLCmd_ZCLCmdType::LEVEL,
3601            ZigBeeMsg_ZCLCmd_ZCLCmdType::COLOR_CONTROL,
3602            ZigBeeMsg_ZCLCmd_ZCLCmdType::IDENTIFY,
3603        ];
3604        values
3605    }
3606
3607    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
3608        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
3609        descriptor.get(|| {
3610            ::protobuf::reflect::EnumDescriptor::new_pb_name::<ZigBeeMsg_ZCLCmd_ZCLCmdType>("ZigBeeMsg.ZCLCmd.ZCLCmdType", file_descriptor_proto())
3611        })
3612    }
3613}
3614
3615impl ::std::marker::Copy for ZigBeeMsg_ZCLCmd_ZCLCmdType {
3616}
3617
3618impl ::std::default::Default for ZigBeeMsg_ZCLCmd_ZCLCmdType {
3619    fn default() -> Self {
3620        ZigBeeMsg_ZCLCmd_ZCLCmdType::ON_OFF
3621    }
3622}
3623
3624impl ::protobuf::reflect::ProtobufValue for ZigBeeMsg_ZCLCmd_ZCLCmdType {
3625    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3626        ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
3627    }
3628}
3629
3630#[derive(PartialEq,Clone,Default)]
3631pub struct ZigBeeMsg_NetworkMgmtCmd {
3632    // message fields
3633    pub field_type: ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes,
3634    pub permit_join_params: ::protobuf::SingularPtrField<ZigBeeMsg_NetworkMgmtCmd_PermitJoinParams>,
3635    pub is_proxy_active: bool,
3636    pub node_leave_params: ::protobuf::SingularPtrField<ZigBeeMsg_NetworkMgmtCmd_NodeLeaveNetParams>,
3637    pub node_info: ::protobuf::SingularPtrField<ZigBeeMsg_NetworkMgmtCmd_NodeDescription>,
3638    pub connected_nodes: ::protobuf::RepeatedField<ZigBeeMsg_NetworkMgmtCmd_NodeDescription>,
3639    pub network_status: ::protobuf::SingularPtrField<ZigBeeMsg_NetworkMgmtCmd_NetworkStatus>,
3640    // special fields
3641    pub unknown_fields: ::protobuf::UnknownFields,
3642    pub cached_size: ::protobuf::CachedSize,
3643}
3644
3645impl<'a> ::std::default::Default for &'a ZigBeeMsg_NetworkMgmtCmd {
3646    fn default() -> &'a ZigBeeMsg_NetworkMgmtCmd {
3647        <ZigBeeMsg_NetworkMgmtCmd as ::protobuf::Message>::default_instance()
3648    }
3649}
3650
3651impl ZigBeeMsg_NetworkMgmtCmd {
3652    pub fn new() -> ZigBeeMsg_NetworkMgmtCmd {
3653        ::std::default::Default::default()
3654    }
3655
3656    // .matrix_io.malos.v1.comm.ZigBeeMsg.NetworkMgmtCmd.NetworkMgmtCmdTypes type = 1;
3657
3658
3659    pub fn get_field_type(&self) -> ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes {
3660        self.field_type
3661    }
3662    pub fn clear_field_type(&mut self) {
3663        self.field_type = ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes::CREATE_NWK;
3664    }
3665
3666    // Param is passed by value, moved
3667    pub fn set_field_type(&mut self, v: ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes) {
3668        self.field_type = v;
3669    }
3670
3671    // .matrix_io.malos.v1.comm.ZigBeeMsg.NetworkMgmtCmd.PermitJoinParams permit_join_params = 2;
3672
3673
3674    pub fn get_permit_join_params(&self) -> &ZigBeeMsg_NetworkMgmtCmd_PermitJoinParams {
3675        self.permit_join_params.as_ref().unwrap_or_else(|| <ZigBeeMsg_NetworkMgmtCmd_PermitJoinParams as ::protobuf::Message>::default_instance())
3676    }
3677    pub fn clear_permit_join_params(&mut self) {
3678        self.permit_join_params.clear();
3679    }
3680
3681    pub fn has_permit_join_params(&self) -> bool {
3682        self.permit_join_params.is_some()
3683    }
3684
3685    // Param is passed by value, moved
3686    pub fn set_permit_join_params(&mut self, v: ZigBeeMsg_NetworkMgmtCmd_PermitJoinParams) {
3687        self.permit_join_params = ::protobuf::SingularPtrField::some(v);
3688    }
3689
3690    // Mutable pointer to the field.
3691    // If field is not initialized, it is initialized with default value first.
3692    pub fn mut_permit_join_params(&mut self) -> &mut ZigBeeMsg_NetworkMgmtCmd_PermitJoinParams {
3693        if self.permit_join_params.is_none() {
3694            self.permit_join_params.set_default();
3695        }
3696        self.permit_join_params.as_mut().unwrap()
3697    }
3698
3699    // Take field
3700    pub fn take_permit_join_params(&mut self) -> ZigBeeMsg_NetworkMgmtCmd_PermitJoinParams {
3701        self.permit_join_params.take().unwrap_or_else(|| ZigBeeMsg_NetworkMgmtCmd_PermitJoinParams::new())
3702    }
3703
3704    // bool is_proxy_active = 3;
3705
3706
3707    pub fn get_is_proxy_active(&self) -> bool {
3708        self.is_proxy_active
3709    }
3710    pub fn clear_is_proxy_active(&mut self) {
3711        self.is_proxy_active = false;
3712    }
3713
3714    // Param is passed by value, moved
3715    pub fn set_is_proxy_active(&mut self, v: bool) {
3716        self.is_proxy_active = v;
3717    }
3718
3719    // .matrix_io.malos.v1.comm.ZigBeeMsg.NetworkMgmtCmd.NodeLeaveNetParams node_leave_params = 4;
3720
3721
3722    pub fn get_node_leave_params(&self) -> &ZigBeeMsg_NetworkMgmtCmd_NodeLeaveNetParams {
3723        self.node_leave_params.as_ref().unwrap_or_else(|| <ZigBeeMsg_NetworkMgmtCmd_NodeLeaveNetParams as ::protobuf::Message>::default_instance())
3724    }
3725    pub fn clear_node_leave_params(&mut self) {
3726        self.node_leave_params.clear();
3727    }
3728
3729    pub fn has_node_leave_params(&self) -> bool {
3730        self.node_leave_params.is_some()
3731    }
3732
3733    // Param is passed by value, moved
3734    pub fn set_node_leave_params(&mut self, v: ZigBeeMsg_NetworkMgmtCmd_NodeLeaveNetParams) {
3735        self.node_leave_params = ::protobuf::SingularPtrField::some(v);
3736    }
3737
3738    // Mutable pointer to the field.
3739    // If field is not initialized, it is initialized with default value first.
3740    pub fn mut_node_leave_params(&mut self) -> &mut ZigBeeMsg_NetworkMgmtCmd_NodeLeaveNetParams {
3741        if self.node_leave_params.is_none() {
3742            self.node_leave_params.set_default();
3743        }
3744        self.node_leave_params.as_mut().unwrap()
3745    }
3746
3747    // Take field
3748    pub fn take_node_leave_params(&mut self) -> ZigBeeMsg_NetworkMgmtCmd_NodeLeaveNetParams {
3749        self.node_leave_params.take().unwrap_or_else(|| ZigBeeMsg_NetworkMgmtCmd_NodeLeaveNetParams::new())
3750    }
3751
3752    // .matrix_io.malos.v1.comm.ZigBeeMsg.NetworkMgmtCmd.NodeDescription node_info = 5;
3753
3754
3755    pub fn get_node_info(&self) -> &ZigBeeMsg_NetworkMgmtCmd_NodeDescription {
3756        self.node_info.as_ref().unwrap_or_else(|| <ZigBeeMsg_NetworkMgmtCmd_NodeDescription as ::protobuf::Message>::default_instance())
3757    }
3758    pub fn clear_node_info(&mut self) {
3759        self.node_info.clear();
3760    }
3761
3762    pub fn has_node_info(&self) -> bool {
3763        self.node_info.is_some()
3764    }
3765
3766    // Param is passed by value, moved
3767    pub fn set_node_info(&mut self, v: ZigBeeMsg_NetworkMgmtCmd_NodeDescription) {
3768        self.node_info = ::protobuf::SingularPtrField::some(v);
3769    }
3770
3771    // Mutable pointer to the field.
3772    // If field is not initialized, it is initialized with default value first.
3773    pub fn mut_node_info(&mut self) -> &mut ZigBeeMsg_NetworkMgmtCmd_NodeDescription {
3774        if self.node_info.is_none() {
3775            self.node_info.set_default();
3776        }
3777        self.node_info.as_mut().unwrap()
3778    }
3779
3780    // Take field
3781    pub fn take_node_info(&mut self) -> ZigBeeMsg_NetworkMgmtCmd_NodeDescription {
3782        self.node_info.take().unwrap_or_else(|| ZigBeeMsg_NetworkMgmtCmd_NodeDescription::new())
3783    }
3784
3785    // repeated .matrix_io.malos.v1.comm.ZigBeeMsg.NetworkMgmtCmd.NodeDescription connected_nodes = 6;
3786
3787
3788    pub fn get_connected_nodes(&self) -> &[ZigBeeMsg_NetworkMgmtCmd_NodeDescription] {
3789        &self.connected_nodes
3790    }
3791    pub fn clear_connected_nodes(&mut self) {
3792        self.connected_nodes.clear();
3793    }
3794
3795    // Param is passed by value, moved
3796    pub fn set_connected_nodes(&mut self, v: ::protobuf::RepeatedField<ZigBeeMsg_NetworkMgmtCmd_NodeDescription>) {
3797        self.connected_nodes = v;
3798    }
3799
3800    // Mutable pointer to the field.
3801    pub fn mut_connected_nodes(&mut self) -> &mut ::protobuf::RepeatedField<ZigBeeMsg_NetworkMgmtCmd_NodeDescription> {
3802        &mut self.connected_nodes
3803    }
3804
3805    // Take field
3806    pub fn take_connected_nodes(&mut self) -> ::protobuf::RepeatedField<ZigBeeMsg_NetworkMgmtCmd_NodeDescription> {
3807        ::std::mem::replace(&mut self.connected_nodes, ::protobuf::RepeatedField::new())
3808    }
3809
3810    // .matrix_io.malos.v1.comm.ZigBeeMsg.NetworkMgmtCmd.NetworkStatus network_status = 7;
3811
3812
3813    pub fn get_network_status(&self) -> &ZigBeeMsg_NetworkMgmtCmd_NetworkStatus {
3814        self.network_status.as_ref().unwrap_or_else(|| <ZigBeeMsg_NetworkMgmtCmd_NetworkStatus as ::protobuf::Message>::default_instance())
3815    }
3816    pub fn clear_network_status(&mut self) {
3817        self.network_status.clear();
3818    }
3819
3820    pub fn has_network_status(&self) -> bool {
3821        self.network_status.is_some()
3822    }
3823
3824    // Param is passed by value, moved
3825    pub fn set_network_status(&mut self, v: ZigBeeMsg_NetworkMgmtCmd_NetworkStatus) {
3826        self.network_status = ::protobuf::SingularPtrField::some(v);
3827    }
3828
3829    // Mutable pointer to the field.
3830    // If field is not initialized, it is initialized with default value first.
3831    pub fn mut_network_status(&mut self) -> &mut ZigBeeMsg_NetworkMgmtCmd_NetworkStatus {
3832        if self.network_status.is_none() {
3833            self.network_status.set_default();
3834        }
3835        self.network_status.as_mut().unwrap()
3836    }
3837
3838    // Take field
3839    pub fn take_network_status(&mut self) -> ZigBeeMsg_NetworkMgmtCmd_NetworkStatus {
3840        self.network_status.take().unwrap_or_else(|| ZigBeeMsg_NetworkMgmtCmd_NetworkStatus::new())
3841    }
3842}
3843
3844impl ::protobuf::Message for ZigBeeMsg_NetworkMgmtCmd {
3845    fn is_initialized(&self) -> bool {
3846        for v in &self.permit_join_params {
3847            if !v.is_initialized() {
3848                return false;
3849            }
3850        };
3851        for v in &self.node_leave_params {
3852            if !v.is_initialized() {
3853                return false;
3854            }
3855        };
3856        for v in &self.node_info {
3857            if !v.is_initialized() {
3858                return false;
3859            }
3860        };
3861        for v in &self.connected_nodes {
3862            if !v.is_initialized() {
3863                return false;
3864            }
3865        };
3866        for v in &self.network_status {
3867            if !v.is_initialized() {
3868                return false;
3869            }
3870        };
3871        true
3872    }
3873
3874    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3875        while !is.eof()? {
3876            let (field_number, wire_type) = is.read_tag_unpack()?;
3877            match field_number {
3878                1 => {
3879                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.field_type, 1, &mut self.unknown_fields)?
3880                },
3881                2 => {
3882                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.permit_join_params)?;
3883                },
3884                3 => {
3885                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
3886                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3887                    }
3888                    let tmp = is.read_bool()?;
3889                    self.is_proxy_active = tmp;
3890                },
3891                4 => {
3892                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.node_leave_params)?;
3893                },
3894                5 => {
3895                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.node_info)?;
3896                },
3897                6 => {
3898                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.connected_nodes)?;
3899                },
3900                7 => {
3901                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.network_status)?;
3902                },
3903                _ => {
3904                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3905                },
3906            };
3907        }
3908        ::std::result::Result::Ok(())
3909    }
3910
3911    // Compute sizes of nested messages
3912    #[allow(unused_variables)]
3913    fn compute_size(&self) -> u32 {
3914        let mut my_size = 0;
3915        if self.field_type != ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes::CREATE_NWK {
3916            my_size += ::protobuf::rt::enum_size(1, self.field_type);
3917        }
3918        if let Some(ref v) = self.permit_join_params.as_ref() {
3919            let len = v.compute_size();
3920            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3921        }
3922        if self.is_proxy_active != false {
3923            my_size += 2;
3924        }
3925        if let Some(ref v) = self.node_leave_params.as_ref() {
3926            let len = v.compute_size();
3927            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3928        }
3929        if let Some(ref v) = self.node_info.as_ref() {
3930            let len = v.compute_size();
3931            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3932        }
3933        for value in &self.connected_nodes {
3934            let len = value.compute_size();
3935            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3936        };
3937        if let Some(ref v) = self.network_status.as_ref() {
3938            let len = v.compute_size();
3939            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3940        }
3941        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3942        self.cached_size.set(my_size);
3943        my_size
3944    }
3945
3946    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3947        if self.field_type != ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes::CREATE_NWK {
3948            os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.field_type))?;
3949        }
3950        if let Some(ref v) = self.permit_join_params.as_ref() {
3951            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3952            os.write_raw_varint32(v.get_cached_size())?;
3953            v.write_to_with_cached_sizes(os)?;
3954        }
3955        if self.is_proxy_active != false {
3956            os.write_bool(3, self.is_proxy_active)?;
3957        }
3958        if let Some(ref v) = self.node_leave_params.as_ref() {
3959            os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3960            os.write_raw_varint32(v.get_cached_size())?;
3961            v.write_to_with_cached_sizes(os)?;
3962        }
3963        if let Some(ref v) = self.node_info.as_ref() {
3964            os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3965            os.write_raw_varint32(v.get_cached_size())?;
3966            v.write_to_with_cached_sizes(os)?;
3967        }
3968        for v in &self.connected_nodes {
3969            os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3970            os.write_raw_varint32(v.get_cached_size())?;
3971            v.write_to_with_cached_sizes(os)?;
3972        };
3973        if let Some(ref v) = self.network_status.as_ref() {
3974            os.write_tag(7, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3975            os.write_raw_varint32(v.get_cached_size())?;
3976            v.write_to_with_cached_sizes(os)?;
3977        }
3978        os.write_unknown_fields(self.get_unknown_fields())?;
3979        ::std::result::Result::Ok(())
3980    }
3981
3982    fn get_cached_size(&self) -> u32 {
3983        self.cached_size.get()
3984    }
3985
3986    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3987        &self.unknown_fields
3988    }
3989
3990    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3991        &mut self.unknown_fields
3992    }
3993
3994    fn as_any(&self) -> &dyn (::std::any::Any) {
3995        self as &dyn (::std::any::Any)
3996    }
3997    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3998        self as &mut dyn (::std::any::Any)
3999    }
4000    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4001        self
4002    }
4003
4004    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
4005        Self::descriptor_static()
4006    }
4007
4008    fn new() -> ZigBeeMsg_NetworkMgmtCmd {
4009        ZigBeeMsg_NetworkMgmtCmd::new()
4010    }
4011
4012    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
4013        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
4014        descriptor.get(|| {
4015            let mut fields = ::std::vec::Vec::new();
4016            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes>>(
4017                "type",
4018                |m: &ZigBeeMsg_NetworkMgmtCmd| { &m.field_type },
4019                |m: &mut ZigBeeMsg_NetworkMgmtCmd| { &mut m.field_type },
4020            ));
4021            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ZigBeeMsg_NetworkMgmtCmd_PermitJoinParams>>(
4022                "permit_join_params",
4023                |m: &ZigBeeMsg_NetworkMgmtCmd| { &m.permit_join_params },
4024                |m: &mut ZigBeeMsg_NetworkMgmtCmd| { &mut m.permit_join_params },
4025            ));
4026            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
4027                "is_proxy_active",
4028                |m: &ZigBeeMsg_NetworkMgmtCmd| { &m.is_proxy_active },
4029                |m: &mut ZigBeeMsg_NetworkMgmtCmd| { &mut m.is_proxy_active },
4030            ));
4031            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ZigBeeMsg_NetworkMgmtCmd_NodeLeaveNetParams>>(
4032                "node_leave_params",
4033                |m: &ZigBeeMsg_NetworkMgmtCmd| { &m.node_leave_params },
4034                |m: &mut ZigBeeMsg_NetworkMgmtCmd| { &mut m.node_leave_params },
4035            ));
4036            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ZigBeeMsg_NetworkMgmtCmd_NodeDescription>>(
4037                "node_info",
4038                |m: &ZigBeeMsg_NetworkMgmtCmd| { &m.node_info },
4039                |m: &mut ZigBeeMsg_NetworkMgmtCmd| { &mut m.node_info },
4040            ));
4041            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ZigBeeMsg_NetworkMgmtCmd_NodeDescription>>(
4042                "connected_nodes",
4043                |m: &ZigBeeMsg_NetworkMgmtCmd| { &m.connected_nodes },
4044                |m: &mut ZigBeeMsg_NetworkMgmtCmd| { &mut m.connected_nodes },
4045            ));
4046            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ZigBeeMsg_NetworkMgmtCmd_NetworkStatus>>(
4047                "network_status",
4048                |m: &ZigBeeMsg_NetworkMgmtCmd| { &m.network_status },
4049                |m: &mut ZigBeeMsg_NetworkMgmtCmd| { &mut m.network_status },
4050            ));
4051            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ZigBeeMsg_NetworkMgmtCmd>(
4052                "ZigBeeMsg.NetworkMgmtCmd",
4053                fields,
4054                file_descriptor_proto()
4055            )
4056        })
4057    }
4058
4059    fn default_instance() -> &'static ZigBeeMsg_NetworkMgmtCmd {
4060        static instance: ::protobuf::rt::LazyV2<ZigBeeMsg_NetworkMgmtCmd> = ::protobuf::rt::LazyV2::INIT;
4061        instance.get(ZigBeeMsg_NetworkMgmtCmd::new)
4062    }
4063}
4064
4065impl ::protobuf::Clear for ZigBeeMsg_NetworkMgmtCmd {
4066    fn clear(&mut self) {
4067        self.field_type = ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes::CREATE_NWK;
4068        self.permit_join_params.clear();
4069        self.is_proxy_active = false;
4070        self.node_leave_params.clear();
4071        self.node_info.clear();
4072        self.connected_nodes.clear();
4073        self.network_status.clear();
4074        self.unknown_fields.clear();
4075    }
4076}
4077
4078impl ::std::fmt::Debug for ZigBeeMsg_NetworkMgmtCmd {
4079    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4080        ::protobuf::text_format::fmt(self, f)
4081    }
4082}
4083
4084impl ::protobuf::reflect::ProtobufValue for ZigBeeMsg_NetworkMgmtCmd {
4085    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4086        ::protobuf::reflect::ReflectValueRef::Message(self)
4087    }
4088}
4089
4090#[derive(PartialEq,Clone,Default)]
4091pub struct ZigBeeMsg_NetworkMgmtCmd_PermitJoinParams {
4092    // message fields
4093    pub time: u32,
4094    // special fields
4095    pub unknown_fields: ::protobuf::UnknownFields,
4096    pub cached_size: ::protobuf::CachedSize,
4097}
4098
4099impl<'a> ::std::default::Default for &'a ZigBeeMsg_NetworkMgmtCmd_PermitJoinParams {
4100    fn default() -> &'a ZigBeeMsg_NetworkMgmtCmd_PermitJoinParams {
4101        <ZigBeeMsg_NetworkMgmtCmd_PermitJoinParams as ::protobuf::Message>::default_instance()
4102    }
4103}
4104
4105impl ZigBeeMsg_NetworkMgmtCmd_PermitJoinParams {
4106    pub fn new() -> ZigBeeMsg_NetworkMgmtCmd_PermitJoinParams {
4107        ::std::default::Default::default()
4108    }
4109
4110    // uint32 time = 1;
4111
4112
4113    pub fn get_time(&self) -> u32 {
4114        self.time
4115    }
4116    pub fn clear_time(&mut self) {
4117        self.time = 0;
4118    }
4119
4120    // Param is passed by value, moved
4121    pub fn set_time(&mut self, v: u32) {
4122        self.time = v;
4123    }
4124}
4125
4126impl ::protobuf::Message for ZigBeeMsg_NetworkMgmtCmd_PermitJoinParams {
4127    fn is_initialized(&self) -> bool {
4128        true
4129    }
4130
4131    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4132        while !is.eof()? {
4133            let (field_number, wire_type) = is.read_tag_unpack()?;
4134            match field_number {
4135                1 => {
4136                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
4137                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
4138                    }
4139                    let tmp = is.read_uint32()?;
4140                    self.time = tmp;
4141                },
4142                _ => {
4143                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
4144                },
4145            };
4146        }
4147        ::std::result::Result::Ok(())
4148    }
4149
4150    // Compute sizes of nested messages
4151    #[allow(unused_variables)]
4152    fn compute_size(&self) -> u32 {
4153        let mut my_size = 0;
4154        if self.time != 0 {
4155            my_size += ::protobuf::rt::value_size(1, self.time, ::protobuf::wire_format::WireTypeVarint);
4156        }
4157        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
4158        self.cached_size.set(my_size);
4159        my_size
4160    }
4161
4162    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4163        if self.time != 0 {
4164            os.write_uint32(1, self.time)?;
4165        }
4166        os.write_unknown_fields(self.get_unknown_fields())?;
4167        ::std::result::Result::Ok(())
4168    }
4169
4170    fn get_cached_size(&self) -> u32 {
4171        self.cached_size.get()
4172    }
4173
4174    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
4175        &self.unknown_fields
4176    }
4177
4178    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
4179        &mut self.unknown_fields
4180    }
4181
4182    fn as_any(&self) -> &dyn (::std::any::Any) {
4183        self as &dyn (::std::any::Any)
4184    }
4185    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
4186        self as &mut dyn (::std::any::Any)
4187    }
4188    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4189        self
4190    }
4191
4192    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
4193        Self::descriptor_static()
4194    }
4195
4196    fn new() -> ZigBeeMsg_NetworkMgmtCmd_PermitJoinParams {
4197        ZigBeeMsg_NetworkMgmtCmd_PermitJoinParams::new()
4198    }
4199
4200    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
4201        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
4202        descriptor.get(|| {
4203            let mut fields = ::std::vec::Vec::new();
4204            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
4205                "time",
4206                |m: &ZigBeeMsg_NetworkMgmtCmd_PermitJoinParams| { &m.time },
4207                |m: &mut ZigBeeMsg_NetworkMgmtCmd_PermitJoinParams| { &mut m.time },
4208            ));
4209            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ZigBeeMsg_NetworkMgmtCmd_PermitJoinParams>(
4210                "ZigBeeMsg.NetworkMgmtCmd.PermitJoinParams",
4211                fields,
4212                file_descriptor_proto()
4213            )
4214        })
4215    }
4216
4217    fn default_instance() -> &'static ZigBeeMsg_NetworkMgmtCmd_PermitJoinParams {
4218        static instance: ::protobuf::rt::LazyV2<ZigBeeMsg_NetworkMgmtCmd_PermitJoinParams> = ::protobuf::rt::LazyV2::INIT;
4219        instance.get(ZigBeeMsg_NetworkMgmtCmd_PermitJoinParams::new)
4220    }
4221}
4222
4223impl ::protobuf::Clear for ZigBeeMsg_NetworkMgmtCmd_PermitJoinParams {
4224    fn clear(&mut self) {
4225        self.time = 0;
4226        self.unknown_fields.clear();
4227    }
4228}
4229
4230impl ::std::fmt::Debug for ZigBeeMsg_NetworkMgmtCmd_PermitJoinParams {
4231    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4232        ::protobuf::text_format::fmt(self, f)
4233    }
4234}
4235
4236impl ::protobuf::reflect::ProtobufValue for ZigBeeMsg_NetworkMgmtCmd_PermitJoinParams {
4237    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4238        ::protobuf::reflect::ReflectValueRef::Message(self)
4239    }
4240}
4241
4242#[derive(PartialEq,Clone,Default)]
4243pub struct ZigBeeMsg_NetworkMgmtCmd_NodeLeaveNetParams {
4244    // message fields
4245    pub node_id: u32,
4246    // special fields
4247    pub unknown_fields: ::protobuf::UnknownFields,
4248    pub cached_size: ::protobuf::CachedSize,
4249}
4250
4251impl<'a> ::std::default::Default for &'a ZigBeeMsg_NetworkMgmtCmd_NodeLeaveNetParams {
4252    fn default() -> &'a ZigBeeMsg_NetworkMgmtCmd_NodeLeaveNetParams {
4253        <ZigBeeMsg_NetworkMgmtCmd_NodeLeaveNetParams as ::protobuf::Message>::default_instance()
4254    }
4255}
4256
4257impl ZigBeeMsg_NetworkMgmtCmd_NodeLeaveNetParams {
4258    pub fn new() -> ZigBeeMsg_NetworkMgmtCmd_NodeLeaveNetParams {
4259        ::std::default::Default::default()
4260    }
4261
4262    // uint32 node_id = 1;
4263
4264
4265    pub fn get_node_id(&self) -> u32 {
4266        self.node_id
4267    }
4268    pub fn clear_node_id(&mut self) {
4269        self.node_id = 0;
4270    }
4271
4272    // Param is passed by value, moved
4273    pub fn set_node_id(&mut self, v: u32) {
4274        self.node_id = v;
4275    }
4276}
4277
4278impl ::protobuf::Message for ZigBeeMsg_NetworkMgmtCmd_NodeLeaveNetParams {
4279    fn is_initialized(&self) -> bool {
4280        true
4281    }
4282
4283    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4284        while !is.eof()? {
4285            let (field_number, wire_type) = is.read_tag_unpack()?;
4286            match field_number {
4287                1 => {
4288                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
4289                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
4290                    }
4291                    let tmp = is.read_uint32()?;
4292                    self.node_id = tmp;
4293                },
4294                _ => {
4295                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
4296                },
4297            };
4298        }
4299        ::std::result::Result::Ok(())
4300    }
4301
4302    // Compute sizes of nested messages
4303    #[allow(unused_variables)]
4304    fn compute_size(&self) -> u32 {
4305        let mut my_size = 0;
4306        if self.node_id != 0 {
4307            my_size += ::protobuf::rt::value_size(1, self.node_id, ::protobuf::wire_format::WireTypeVarint);
4308        }
4309        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
4310        self.cached_size.set(my_size);
4311        my_size
4312    }
4313
4314    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4315        if self.node_id != 0 {
4316            os.write_uint32(1, self.node_id)?;
4317        }
4318        os.write_unknown_fields(self.get_unknown_fields())?;
4319        ::std::result::Result::Ok(())
4320    }
4321
4322    fn get_cached_size(&self) -> u32 {
4323        self.cached_size.get()
4324    }
4325
4326    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
4327        &self.unknown_fields
4328    }
4329
4330    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
4331        &mut self.unknown_fields
4332    }
4333
4334    fn as_any(&self) -> &dyn (::std::any::Any) {
4335        self as &dyn (::std::any::Any)
4336    }
4337    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
4338        self as &mut dyn (::std::any::Any)
4339    }
4340    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4341        self
4342    }
4343
4344    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
4345        Self::descriptor_static()
4346    }
4347
4348    fn new() -> ZigBeeMsg_NetworkMgmtCmd_NodeLeaveNetParams {
4349        ZigBeeMsg_NetworkMgmtCmd_NodeLeaveNetParams::new()
4350    }
4351
4352    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
4353        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
4354        descriptor.get(|| {
4355            let mut fields = ::std::vec::Vec::new();
4356            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
4357                "node_id",
4358                |m: &ZigBeeMsg_NetworkMgmtCmd_NodeLeaveNetParams| { &m.node_id },
4359                |m: &mut ZigBeeMsg_NetworkMgmtCmd_NodeLeaveNetParams| { &mut m.node_id },
4360            ));
4361            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ZigBeeMsg_NetworkMgmtCmd_NodeLeaveNetParams>(
4362                "ZigBeeMsg.NetworkMgmtCmd.NodeLeaveNetParams",
4363                fields,
4364                file_descriptor_proto()
4365            )
4366        })
4367    }
4368
4369    fn default_instance() -> &'static ZigBeeMsg_NetworkMgmtCmd_NodeLeaveNetParams {
4370        static instance: ::protobuf::rt::LazyV2<ZigBeeMsg_NetworkMgmtCmd_NodeLeaveNetParams> = ::protobuf::rt::LazyV2::INIT;
4371        instance.get(ZigBeeMsg_NetworkMgmtCmd_NodeLeaveNetParams::new)
4372    }
4373}
4374
4375impl ::protobuf::Clear for ZigBeeMsg_NetworkMgmtCmd_NodeLeaveNetParams {
4376    fn clear(&mut self) {
4377        self.node_id = 0;
4378        self.unknown_fields.clear();
4379    }
4380}
4381
4382impl ::std::fmt::Debug for ZigBeeMsg_NetworkMgmtCmd_NodeLeaveNetParams {
4383    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4384        ::protobuf::text_format::fmt(self, f)
4385    }
4386}
4387
4388impl ::protobuf::reflect::ProtobufValue for ZigBeeMsg_NetworkMgmtCmd_NodeLeaveNetParams {
4389    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4390        ::protobuf::reflect::ReflectValueRef::Message(self)
4391    }
4392}
4393
4394#[derive(PartialEq,Clone,Default)]
4395pub struct ZigBeeMsg_NetworkMgmtCmd_ClusterDescription {
4396    // message fields
4397    pub field_type: ZigBeeMsg_NetworkMgmtCmd_ClusterDescription_ClusterInOutType,
4398    pub cluster_id: u32,
4399    // special fields
4400    pub unknown_fields: ::protobuf::UnknownFields,
4401    pub cached_size: ::protobuf::CachedSize,
4402}
4403
4404impl<'a> ::std::default::Default for &'a ZigBeeMsg_NetworkMgmtCmd_ClusterDescription {
4405    fn default() -> &'a ZigBeeMsg_NetworkMgmtCmd_ClusterDescription {
4406        <ZigBeeMsg_NetworkMgmtCmd_ClusterDescription as ::protobuf::Message>::default_instance()
4407    }
4408}
4409
4410impl ZigBeeMsg_NetworkMgmtCmd_ClusterDescription {
4411    pub fn new() -> ZigBeeMsg_NetworkMgmtCmd_ClusterDescription {
4412        ::std::default::Default::default()
4413    }
4414
4415    // .matrix_io.malos.v1.comm.ZigBeeMsg.NetworkMgmtCmd.ClusterDescription.ClusterInOutType type = 1;
4416
4417
4418    pub fn get_field_type(&self) -> ZigBeeMsg_NetworkMgmtCmd_ClusterDescription_ClusterInOutType {
4419        self.field_type
4420    }
4421    pub fn clear_field_type(&mut self) {
4422        self.field_type = ZigBeeMsg_NetworkMgmtCmd_ClusterDescription_ClusterInOutType::SERVER_IN;
4423    }
4424
4425    // Param is passed by value, moved
4426    pub fn set_field_type(&mut self, v: ZigBeeMsg_NetworkMgmtCmd_ClusterDescription_ClusterInOutType) {
4427        self.field_type = v;
4428    }
4429
4430    // uint32 cluster_id = 2;
4431
4432
4433    pub fn get_cluster_id(&self) -> u32 {
4434        self.cluster_id
4435    }
4436    pub fn clear_cluster_id(&mut self) {
4437        self.cluster_id = 0;
4438    }
4439
4440    // Param is passed by value, moved
4441    pub fn set_cluster_id(&mut self, v: u32) {
4442        self.cluster_id = v;
4443    }
4444}
4445
4446impl ::protobuf::Message for ZigBeeMsg_NetworkMgmtCmd_ClusterDescription {
4447    fn is_initialized(&self) -> bool {
4448        true
4449    }
4450
4451    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4452        while !is.eof()? {
4453            let (field_number, wire_type) = is.read_tag_unpack()?;
4454            match field_number {
4455                1 => {
4456                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.field_type, 1, &mut self.unknown_fields)?
4457                },
4458                2 => {
4459                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
4460                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
4461                    }
4462                    let tmp = is.read_uint32()?;
4463                    self.cluster_id = tmp;
4464                },
4465                _ => {
4466                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
4467                },
4468            };
4469        }
4470        ::std::result::Result::Ok(())
4471    }
4472
4473    // Compute sizes of nested messages
4474    #[allow(unused_variables)]
4475    fn compute_size(&self) -> u32 {
4476        let mut my_size = 0;
4477        if self.field_type != ZigBeeMsg_NetworkMgmtCmd_ClusterDescription_ClusterInOutType::SERVER_IN {
4478            my_size += ::protobuf::rt::enum_size(1, self.field_type);
4479        }
4480        if self.cluster_id != 0 {
4481            my_size += ::protobuf::rt::value_size(2, self.cluster_id, ::protobuf::wire_format::WireTypeVarint);
4482        }
4483        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
4484        self.cached_size.set(my_size);
4485        my_size
4486    }
4487
4488    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4489        if self.field_type != ZigBeeMsg_NetworkMgmtCmd_ClusterDescription_ClusterInOutType::SERVER_IN {
4490            os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.field_type))?;
4491        }
4492        if self.cluster_id != 0 {
4493            os.write_uint32(2, self.cluster_id)?;
4494        }
4495        os.write_unknown_fields(self.get_unknown_fields())?;
4496        ::std::result::Result::Ok(())
4497    }
4498
4499    fn get_cached_size(&self) -> u32 {
4500        self.cached_size.get()
4501    }
4502
4503    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
4504        &self.unknown_fields
4505    }
4506
4507    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
4508        &mut self.unknown_fields
4509    }
4510
4511    fn as_any(&self) -> &dyn (::std::any::Any) {
4512        self as &dyn (::std::any::Any)
4513    }
4514    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
4515        self as &mut dyn (::std::any::Any)
4516    }
4517    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4518        self
4519    }
4520
4521    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
4522        Self::descriptor_static()
4523    }
4524
4525    fn new() -> ZigBeeMsg_NetworkMgmtCmd_ClusterDescription {
4526        ZigBeeMsg_NetworkMgmtCmd_ClusterDescription::new()
4527    }
4528
4529    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
4530        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
4531        descriptor.get(|| {
4532            let mut fields = ::std::vec::Vec::new();
4533            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<ZigBeeMsg_NetworkMgmtCmd_ClusterDescription_ClusterInOutType>>(
4534                "type",
4535                |m: &ZigBeeMsg_NetworkMgmtCmd_ClusterDescription| { &m.field_type },
4536                |m: &mut ZigBeeMsg_NetworkMgmtCmd_ClusterDescription| { &mut m.field_type },
4537            ));
4538            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
4539                "cluster_id",
4540                |m: &ZigBeeMsg_NetworkMgmtCmd_ClusterDescription| { &m.cluster_id },
4541                |m: &mut ZigBeeMsg_NetworkMgmtCmd_ClusterDescription| { &mut m.cluster_id },
4542            ));
4543            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ZigBeeMsg_NetworkMgmtCmd_ClusterDescription>(
4544                "ZigBeeMsg.NetworkMgmtCmd.ClusterDescription",
4545                fields,
4546                file_descriptor_proto()
4547            )
4548        })
4549    }
4550
4551    fn default_instance() -> &'static ZigBeeMsg_NetworkMgmtCmd_ClusterDescription {
4552        static instance: ::protobuf::rt::LazyV2<ZigBeeMsg_NetworkMgmtCmd_ClusterDescription> = ::protobuf::rt::LazyV2::INIT;
4553        instance.get(ZigBeeMsg_NetworkMgmtCmd_ClusterDescription::new)
4554    }
4555}
4556
4557impl ::protobuf::Clear for ZigBeeMsg_NetworkMgmtCmd_ClusterDescription {
4558    fn clear(&mut self) {
4559        self.field_type = ZigBeeMsg_NetworkMgmtCmd_ClusterDescription_ClusterInOutType::SERVER_IN;
4560        self.cluster_id = 0;
4561        self.unknown_fields.clear();
4562    }
4563}
4564
4565impl ::std::fmt::Debug for ZigBeeMsg_NetworkMgmtCmd_ClusterDescription {
4566    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4567        ::protobuf::text_format::fmt(self, f)
4568    }
4569}
4570
4571impl ::protobuf::reflect::ProtobufValue for ZigBeeMsg_NetworkMgmtCmd_ClusterDescription {
4572    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4573        ::protobuf::reflect::ReflectValueRef::Message(self)
4574    }
4575}
4576
4577#[derive(Clone,PartialEq,Eq,Debug,Hash)]
4578pub enum ZigBeeMsg_NetworkMgmtCmd_ClusterDescription_ClusterInOutType {
4579    SERVER_IN = 0,
4580    CLIENT_OUT = 1,
4581}
4582
4583impl ::protobuf::ProtobufEnum for ZigBeeMsg_NetworkMgmtCmd_ClusterDescription_ClusterInOutType {
4584    fn value(&self) -> i32 {
4585        *self as i32
4586    }
4587
4588    fn from_i32(value: i32) -> ::std::option::Option<ZigBeeMsg_NetworkMgmtCmd_ClusterDescription_ClusterInOutType> {
4589        match value {
4590            0 => ::std::option::Option::Some(ZigBeeMsg_NetworkMgmtCmd_ClusterDescription_ClusterInOutType::SERVER_IN),
4591            1 => ::std::option::Option::Some(ZigBeeMsg_NetworkMgmtCmd_ClusterDescription_ClusterInOutType::CLIENT_OUT),
4592            _ => ::std::option::Option::None
4593        }
4594    }
4595
4596    fn values() -> &'static [Self] {
4597        static values: &'static [ZigBeeMsg_NetworkMgmtCmd_ClusterDescription_ClusterInOutType] = &[
4598            ZigBeeMsg_NetworkMgmtCmd_ClusterDescription_ClusterInOutType::SERVER_IN,
4599            ZigBeeMsg_NetworkMgmtCmd_ClusterDescription_ClusterInOutType::CLIENT_OUT,
4600        ];
4601        values
4602    }
4603
4604    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
4605        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
4606        descriptor.get(|| {
4607            ::protobuf::reflect::EnumDescriptor::new_pb_name::<ZigBeeMsg_NetworkMgmtCmd_ClusterDescription_ClusterInOutType>("ZigBeeMsg.NetworkMgmtCmd.ClusterDescription.ClusterInOutType", file_descriptor_proto())
4608        })
4609    }
4610}
4611
4612impl ::std::marker::Copy for ZigBeeMsg_NetworkMgmtCmd_ClusterDescription_ClusterInOutType {
4613}
4614
4615impl ::std::default::Default for ZigBeeMsg_NetworkMgmtCmd_ClusterDescription_ClusterInOutType {
4616    fn default() -> Self {
4617        ZigBeeMsg_NetworkMgmtCmd_ClusterDescription_ClusterInOutType::SERVER_IN
4618    }
4619}
4620
4621impl ::protobuf::reflect::ProtobufValue for ZigBeeMsg_NetworkMgmtCmd_ClusterDescription_ClusterInOutType {
4622    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4623        ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
4624    }
4625}
4626
4627#[derive(PartialEq,Clone,Default)]
4628pub struct ZigBeeMsg_NetworkMgmtCmd_EndPointDescription {
4629    // message fields
4630    pub endpoint_index: u32,
4631    pub profile_id: u32,
4632    pub device_id: u32,
4633    pub clusters: ::protobuf::RepeatedField<ZigBeeMsg_NetworkMgmtCmd_ClusterDescription>,
4634    // special fields
4635    pub unknown_fields: ::protobuf::UnknownFields,
4636    pub cached_size: ::protobuf::CachedSize,
4637}
4638
4639impl<'a> ::std::default::Default for &'a ZigBeeMsg_NetworkMgmtCmd_EndPointDescription {
4640    fn default() -> &'a ZigBeeMsg_NetworkMgmtCmd_EndPointDescription {
4641        <ZigBeeMsg_NetworkMgmtCmd_EndPointDescription as ::protobuf::Message>::default_instance()
4642    }
4643}
4644
4645impl ZigBeeMsg_NetworkMgmtCmd_EndPointDescription {
4646    pub fn new() -> ZigBeeMsg_NetworkMgmtCmd_EndPointDescription {
4647        ::std::default::Default::default()
4648    }
4649
4650    // uint32 endpoint_index = 1;
4651
4652
4653    pub fn get_endpoint_index(&self) -> u32 {
4654        self.endpoint_index
4655    }
4656    pub fn clear_endpoint_index(&mut self) {
4657        self.endpoint_index = 0;
4658    }
4659
4660    // Param is passed by value, moved
4661    pub fn set_endpoint_index(&mut self, v: u32) {
4662        self.endpoint_index = v;
4663    }
4664
4665    // uint32 profile_id = 2;
4666
4667
4668    pub fn get_profile_id(&self) -> u32 {
4669        self.profile_id
4670    }
4671    pub fn clear_profile_id(&mut self) {
4672        self.profile_id = 0;
4673    }
4674
4675    // Param is passed by value, moved
4676    pub fn set_profile_id(&mut self, v: u32) {
4677        self.profile_id = v;
4678    }
4679
4680    // uint32 device_id = 3;
4681
4682
4683    pub fn get_device_id(&self) -> u32 {
4684        self.device_id
4685    }
4686    pub fn clear_device_id(&mut self) {
4687        self.device_id = 0;
4688    }
4689
4690    // Param is passed by value, moved
4691    pub fn set_device_id(&mut self, v: u32) {
4692        self.device_id = v;
4693    }
4694
4695    // repeated .matrix_io.malos.v1.comm.ZigBeeMsg.NetworkMgmtCmd.ClusterDescription clusters = 4;
4696
4697
4698    pub fn get_clusters(&self) -> &[ZigBeeMsg_NetworkMgmtCmd_ClusterDescription] {
4699        &self.clusters
4700    }
4701    pub fn clear_clusters(&mut self) {
4702        self.clusters.clear();
4703    }
4704
4705    // Param is passed by value, moved
4706    pub fn set_clusters(&mut self, v: ::protobuf::RepeatedField<ZigBeeMsg_NetworkMgmtCmd_ClusterDescription>) {
4707        self.clusters = v;
4708    }
4709
4710    // Mutable pointer to the field.
4711    pub fn mut_clusters(&mut self) -> &mut ::protobuf::RepeatedField<ZigBeeMsg_NetworkMgmtCmd_ClusterDescription> {
4712        &mut self.clusters
4713    }
4714
4715    // Take field
4716    pub fn take_clusters(&mut self) -> ::protobuf::RepeatedField<ZigBeeMsg_NetworkMgmtCmd_ClusterDescription> {
4717        ::std::mem::replace(&mut self.clusters, ::protobuf::RepeatedField::new())
4718    }
4719}
4720
4721impl ::protobuf::Message for ZigBeeMsg_NetworkMgmtCmd_EndPointDescription {
4722    fn is_initialized(&self) -> bool {
4723        for v in &self.clusters {
4724            if !v.is_initialized() {
4725                return false;
4726            }
4727        };
4728        true
4729    }
4730
4731    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4732        while !is.eof()? {
4733            let (field_number, wire_type) = is.read_tag_unpack()?;
4734            match field_number {
4735                1 => {
4736                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
4737                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
4738                    }
4739                    let tmp = is.read_uint32()?;
4740                    self.endpoint_index = tmp;
4741                },
4742                2 => {
4743                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
4744                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
4745                    }
4746                    let tmp = is.read_uint32()?;
4747                    self.profile_id = tmp;
4748                },
4749                3 => {
4750                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
4751                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
4752                    }
4753                    let tmp = is.read_uint32()?;
4754                    self.device_id = tmp;
4755                },
4756                4 => {
4757                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.clusters)?;
4758                },
4759                _ => {
4760                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
4761                },
4762            };
4763        }
4764        ::std::result::Result::Ok(())
4765    }
4766
4767    // Compute sizes of nested messages
4768    #[allow(unused_variables)]
4769    fn compute_size(&self) -> u32 {
4770        let mut my_size = 0;
4771        if self.endpoint_index != 0 {
4772            my_size += ::protobuf::rt::value_size(1, self.endpoint_index, ::protobuf::wire_format::WireTypeVarint);
4773        }
4774        if self.profile_id != 0 {
4775            my_size += ::protobuf::rt::value_size(2, self.profile_id, ::protobuf::wire_format::WireTypeVarint);
4776        }
4777        if self.device_id != 0 {
4778            my_size += ::protobuf::rt::value_size(3, self.device_id, ::protobuf::wire_format::WireTypeVarint);
4779        }
4780        for value in &self.clusters {
4781            let len = value.compute_size();
4782            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
4783        };
4784        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
4785        self.cached_size.set(my_size);
4786        my_size
4787    }
4788
4789    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4790        if self.endpoint_index != 0 {
4791            os.write_uint32(1, self.endpoint_index)?;
4792        }
4793        if self.profile_id != 0 {
4794            os.write_uint32(2, self.profile_id)?;
4795        }
4796        if self.device_id != 0 {
4797            os.write_uint32(3, self.device_id)?;
4798        }
4799        for v in &self.clusters {
4800            os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
4801            os.write_raw_varint32(v.get_cached_size())?;
4802            v.write_to_with_cached_sizes(os)?;
4803        };
4804        os.write_unknown_fields(self.get_unknown_fields())?;
4805        ::std::result::Result::Ok(())
4806    }
4807
4808    fn get_cached_size(&self) -> u32 {
4809        self.cached_size.get()
4810    }
4811
4812    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
4813        &self.unknown_fields
4814    }
4815
4816    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
4817        &mut self.unknown_fields
4818    }
4819
4820    fn as_any(&self) -> &dyn (::std::any::Any) {
4821        self as &dyn (::std::any::Any)
4822    }
4823    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
4824        self as &mut dyn (::std::any::Any)
4825    }
4826    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4827        self
4828    }
4829
4830    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
4831        Self::descriptor_static()
4832    }
4833
4834    fn new() -> ZigBeeMsg_NetworkMgmtCmd_EndPointDescription {
4835        ZigBeeMsg_NetworkMgmtCmd_EndPointDescription::new()
4836    }
4837
4838    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
4839        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
4840        descriptor.get(|| {
4841            let mut fields = ::std::vec::Vec::new();
4842            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
4843                "endpoint_index",
4844                |m: &ZigBeeMsg_NetworkMgmtCmd_EndPointDescription| { &m.endpoint_index },
4845                |m: &mut ZigBeeMsg_NetworkMgmtCmd_EndPointDescription| { &mut m.endpoint_index },
4846            ));
4847            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
4848                "profile_id",
4849                |m: &ZigBeeMsg_NetworkMgmtCmd_EndPointDescription| { &m.profile_id },
4850                |m: &mut ZigBeeMsg_NetworkMgmtCmd_EndPointDescription| { &mut m.profile_id },
4851            ));
4852            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
4853                "device_id",
4854                |m: &ZigBeeMsg_NetworkMgmtCmd_EndPointDescription| { &m.device_id },
4855                |m: &mut ZigBeeMsg_NetworkMgmtCmd_EndPointDescription| { &mut m.device_id },
4856            ));
4857            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ZigBeeMsg_NetworkMgmtCmd_ClusterDescription>>(
4858                "clusters",
4859                |m: &ZigBeeMsg_NetworkMgmtCmd_EndPointDescription| { &m.clusters },
4860                |m: &mut ZigBeeMsg_NetworkMgmtCmd_EndPointDescription| { &mut m.clusters },
4861            ));
4862            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ZigBeeMsg_NetworkMgmtCmd_EndPointDescription>(
4863                "ZigBeeMsg.NetworkMgmtCmd.EndPointDescription",
4864                fields,
4865                file_descriptor_proto()
4866            )
4867        })
4868    }
4869
4870    fn default_instance() -> &'static ZigBeeMsg_NetworkMgmtCmd_EndPointDescription {
4871        static instance: ::protobuf::rt::LazyV2<ZigBeeMsg_NetworkMgmtCmd_EndPointDescription> = ::protobuf::rt::LazyV2::INIT;
4872        instance.get(ZigBeeMsg_NetworkMgmtCmd_EndPointDescription::new)
4873    }
4874}
4875
4876impl ::protobuf::Clear for ZigBeeMsg_NetworkMgmtCmd_EndPointDescription {
4877    fn clear(&mut self) {
4878        self.endpoint_index = 0;
4879        self.profile_id = 0;
4880        self.device_id = 0;
4881        self.clusters.clear();
4882        self.unknown_fields.clear();
4883    }
4884}
4885
4886impl ::std::fmt::Debug for ZigBeeMsg_NetworkMgmtCmd_EndPointDescription {
4887    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4888        ::protobuf::text_format::fmt(self, f)
4889    }
4890}
4891
4892impl ::protobuf::reflect::ProtobufValue for ZigBeeMsg_NetworkMgmtCmd_EndPointDescription {
4893    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4894        ::protobuf::reflect::ReflectValueRef::Message(self)
4895    }
4896}
4897
4898#[derive(PartialEq,Clone,Default)]
4899pub struct ZigBeeMsg_NetworkMgmtCmd_NodeDescription {
4900    // message fields
4901    pub node_id: u32,
4902    pub eui64: u64,
4903    pub endpoints: ::protobuf::RepeatedField<ZigBeeMsg_NetworkMgmtCmd_EndPointDescription>,
4904    // special fields
4905    pub unknown_fields: ::protobuf::UnknownFields,
4906    pub cached_size: ::protobuf::CachedSize,
4907}
4908
4909impl<'a> ::std::default::Default for &'a ZigBeeMsg_NetworkMgmtCmd_NodeDescription {
4910    fn default() -> &'a ZigBeeMsg_NetworkMgmtCmd_NodeDescription {
4911        <ZigBeeMsg_NetworkMgmtCmd_NodeDescription as ::protobuf::Message>::default_instance()
4912    }
4913}
4914
4915impl ZigBeeMsg_NetworkMgmtCmd_NodeDescription {
4916    pub fn new() -> ZigBeeMsg_NetworkMgmtCmd_NodeDescription {
4917        ::std::default::Default::default()
4918    }
4919
4920    // uint32 node_id = 1;
4921
4922
4923    pub fn get_node_id(&self) -> u32 {
4924        self.node_id
4925    }
4926    pub fn clear_node_id(&mut self) {
4927        self.node_id = 0;
4928    }
4929
4930    // Param is passed by value, moved
4931    pub fn set_node_id(&mut self, v: u32) {
4932        self.node_id = v;
4933    }
4934
4935    // uint64 eui64 = 2;
4936
4937
4938    pub fn get_eui64(&self) -> u64 {
4939        self.eui64
4940    }
4941    pub fn clear_eui64(&mut self) {
4942        self.eui64 = 0;
4943    }
4944
4945    // Param is passed by value, moved
4946    pub fn set_eui64(&mut self, v: u64) {
4947        self.eui64 = v;
4948    }
4949
4950    // repeated .matrix_io.malos.v1.comm.ZigBeeMsg.NetworkMgmtCmd.EndPointDescription endpoints = 3;
4951
4952
4953    pub fn get_endpoints(&self) -> &[ZigBeeMsg_NetworkMgmtCmd_EndPointDescription] {
4954        &self.endpoints
4955    }
4956    pub fn clear_endpoints(&mut self) {
4957        self.endpoints.clear();
4958    }
4959
4960    // Param is passed by value, moved
4961    pub fn set_endpoints(&mut self, v: ::protobuf::RepeatedField<ZigBeeMsg_NetworkMgmtCmd_EndPointDescription>) {
4962        self.endpoints = v;
4963    }
4964
4965    // Mutable pointer to the field.
4966    pub fn mut_endpoints(&mut self) -> &mut ::protobuf::RepeatedField<ZigBeeMsg_NetworkMgmtCmd_EndPointDescription> {
4967        &mut self.endpoints
4968    }
4969
4970    // Take field
4971    pub fn take_endpoints(&mut self) -> ::protobuf::RepeatedField<ZigBeeMsg_NetworkMgmtCmd_EndPointDescription> {
4972        ::std::mem::replace(&mut self.endpoints, ::protobuf::RepeatedField::new())
4973    }
4974}
4975
4976impl ::protobuf::Message for ZigBeeMsg_NetworkMgmtCmd_NodeDescription {
4977    fn is_initialized(&self) -> bool {
4978        for v in &self.endpoints {
4979            if !v.is_initialized() {
4980                return false;
4981            }
4982        };
4983        true
4984    }
4985
4986    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4987        while !is.eof()? {
4988            let (field_number, wire_type) = is.read_tag_unpack()?;
4989            match field_number {
4990                1 => {
4991                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
4992                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
4993                    }
4994                    let tmp = is.read_uint32()?;
4995                    self.node_id = tmp;
4996                },
4997                2 => {
4998                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
4999                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
5000                    }
5001                    let tmp = is.read_uint64()?;
5002                    self.eui64 = tmp;
5003                },
5004                3 => {
5005                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.endpoints)?;
5006                },
5007                _ => {
5008                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
5009                },
5010            };
5011        }
5012        ::std::result::Result::Ok(())
5013    }
5014
5015    // Compute sizes of nested messages
5016    #[allow(unused_variables)]
5017    fn compute_size(&self) -> u32 {
5018        let mut my_size = 0;
5019        if self.node_id != 0 {
5020            my_size += ::protobuf::rt::value_size(1, self.node_id, ::protobuf::wire_format::WireTypeVarint);
5021        }
5022        if self.eui64 != 0 {
5023            my_size += ::protobuf::rt::value_size(2, self.eui64, ::protobuf::wire_format::WireTypeVarint);
5024        }
5025        for value in &self.endpoints {
5026            let len = value.compute_size();
5027            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
5028        };
5029        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
5030        self.cached_size.set(my_size);
5031        my_size
5032    }
5033
5034    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5035        if self.node_id != 0 {
5036            os.write_uint32(1, self.node_id)?;
5037        }
5038        if self.eui64 != 0 {
5039            os.write_uint64(2, self.eui64)?;
5040        }
5041        for v in &self.endpoints {
5042            os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
5043            os.write_raw_varint32(v.get_cached_size())?;
5044            v.write_to_with_cached_sizes(os)?;
5045        };
5046        os.write_unknown_fields(self.get_unknown_fields())?;
5047        ::std::result::Result::Ok(())
5048    }
5049
5050    fn get_cached_size(&self) -> u32 {
5051        self.cached_size.get()
5052    }
5053
5054    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
5055        &self.unknown_fields
5056    }
5057
5058    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
5059        &mut self.unknown_fields
5060    }
5061
5062    fn as_any(&self) -> &dyn (::std::any::Any) {
5063        self as &dyn (::std::any::Any)
5064    }
5065    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
5066        self as &mut dyn (::std::any::Any)
5067    }
5068    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
5069        self
5070    }
5071
5072    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
5073        Self::descriptor_static()
5074    }
5075
5076    fn new() -> ZigBeeMsg_NetworkMgmtCmd_NodeDescription {
5077        ZigBeeMsg_NetworkMgmtCmd_NodeDescription::new()
5078    }
5079
5080    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
5081        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
5082        descriptor.get(|| {
5083            let mut fields = ::std::vec::Vec::new();
5084            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
5085                "node_id",
5086                |m: &ZigBeeMsg_NetworkMgmtCmd_NodeDescription| { &m.node_id },
5087                |m: &mut ZigBeeMsg_NetworkMgmtCmd_NodeDescription| { &mut m.node_id },
5088            ));
5089            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
5090                "eui64",
5091                |m: &ZigBeeMsg_NetworkMgmtCmd_NodeDescription| { &m.eui64 },
5092                |m: &mut ZigBeeMsg_NetworkMgmtCmd_NodeDescription| { &mut m.eui64 },
5093            ));
5094            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ZigBeeMsg_NetworkMgmtCmd_EndPointDescription>>(
5095                "endpoints",
5096                |m: &ZigBeeMsg_NetworkMgmtCmd_NodeDescription| { &m.endpoints },
5097                |m: &mut ZigBeeMsg_NetworkMgmtCmd_NodeDescription| { &mut m.endpoints },
5098            ));
5099            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ZigBeeMsg_NetworkMgmtCmd_NodeDescription>(
5100                "ZigBeeMsg.NetworkMgmtCmd.NodeDescription",
5101                fields,
5102                file_descriptor_proto()
5103            )
5104        })
5105    }
5106
5107    fn default_instance() -> &'static ZigBeeMsg_NetworkMgmtCmd_NodeDescription {
5108        static instance: ::protobuf::rt::LazyV2<ZigBeeMsg_NetworkMgmtCmd_NodeDescription> = ::protobuf::rt::LazyV2::INIT;
5109        instance.get(ZigBeeMsg_NetworkMgmtCmd_NodeDescription::new)
5110    }
5111}
5112
5113impl ::protobuf::Clear for ZigBeeMsg_NetworkMgmtCmd_NodeDescription {
5114    fn clear(&mut self) {
5115        self.node_id = 0;
5116        self.eui64 = 0;
5117        self.endpoints.clear();
5118        self.unknown_fields.clear();
5119    }
5120}
5121
5122impl ::std::fmt::Debug for ZigBeeMsg_NetworkMgmtCmd_NodeDescription {
5123    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5124        ::protobuf::text_format::fmt(self, f)
5125    }
5126}
5127
5128impl ::protobuf::reflect::ProtobufValue for ZigBeeMsg_NetworkMgmtCmd_NodeDescription {
5129    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
5130        ::protobuf::reflect::ReflectValueRef::Message(self)
5131    }
5132}
5133
5134#[derive(PartialEq,Clone,Default)]
5135pub struct ZigBeeMsg_NetworkMgmtCmd_NetworkStatus {
5136    // message fields
5137    pub field_type: ZigBeeMsg_NetworkMgmtCmd_NetworkStatus_Status,
5138    // special fields
5139    pub unknown_fields: ::protobuf::UnknownFields,
5140    pub cached_size: ::protobuf::CachedSize,
5141}
5142
5143impl<'a> ::std::default::Default for &'a ZigBeeMsg_NetworkMgmtCmd_NetworkStatus {
5144    fn default() -> &'a ZigBeeMsg_NetworkMgmtCmd_NetworkStatus {
5145        <ZigBeeMsg_NetworkMgmtCmd_NetworkStatus as ::protobuf::Message>::default_instance()
5146    }
5147}
5148
5149impl ZigBeeMsg_NetworkMgmtCmd_NetworkStatus {
5150    pub fn new() -> ZigBeeMsg_NetworkMgmtCmd_NetworkStatus {
5151        ::std::default::Default::default()
5152    }
5153
5154    // .matrix_io.malos.v1.comm.ZigBeeMsg.NetworkMgmtCmd.NetworkStatus.Status type = 1;
5155
5156
5157    pub fn get_field_type(&self) -> ZigBeeMsg_NetworkMgmtCmd_NetworkStatus_Status {
5158        self.field_type
5159    }
5160    pub fn clear_field_type(&mut self) {
5161        self.field_type = ZigBeeMsg_NetworkMgmtCmd_NetworkStatus_Status::NO_NETWORK;
5162    }
5163
5164    // Param is passed by value, moved
5165    pub fn set_field_type(&mut self, v: ZigBeeMsg_NetworkMgmtCmd_NetworkStatus_Status) {
5166        self.field_type = v;
5167    }
5168}
5169
5170impl ::protobuf::Message for ZigBeeMsg_NetworkMgmtCmd_NetworkStatus {
5171    fn is_initialized(&self) -> bool {
5172        true
5173    }
5174
5175    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5176        while !is.eof()? {
5177            let (field_number, wire_type) = is.read_tag_unpack()?;
5178            match field_number {
5179                1 => {
5180                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.field_type, 1, &mut self.unknown_fields)?
5181                },
5182                _ => {
5183                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
5184                },
5185            };
5186        }
5187        ::std::result::Result::Ok(())
5188    }
5189
5190    // Compute sizes of nested messages
5191    #[allow(unused_variables)]
5192    fn compute_size(&self) -> u32 {
5193        let mut my_size = 0;
5194        if self.field_type != ZigBeeMsg_NetworkMgmtCmd_NetworkStatus_Status::NO_NETWORK {
5195            my_size += ::protobuf::rt::enum_size(1, self.field_type);
5196        }
5197        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
5198        self.cached_size.set(my_size);
5199        my_size
5200    }
5201
5202    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5203        if self.field_type != ZigBeeMsg_NetworkMgmtCmd_NetworkStatus_Status::NO_NETWORK {
5204            os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.field_type))?;
5205        }
5206        os.write_unknown_fields(self.get_unknown_fields())?;
5207        ::std::result::Result::Ok(())
5208    }
5209
5210    fn get_cached_size(&self) -> u32 {
5211        self.cached_size.get()
5212    }
5213
5214    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
5215        &self.unknown_fields
5216    }
5217
5218    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
5219        &mut self.unknown_fields
5220    }
5221
5222    fn as_any(&self) -> &dyn (::std::any::Any) {
5223        self as &dyn (::std::any::Any)
5224    }
5225    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
5226        self as &mut dyn (::std::any::Any)
5227    }
5228    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
5229        self
5230    }
5231
5232    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
5233        Self::descriptor_static()
5234    }
5235
5236    fn new() -> ZigBeeMsg_NetworkMgmtCmd_NetworkStatus {
5237        ZigBeeMsg_NetworkMgmtCmd_NetworkStatus::new()
5238    }
5239
5240    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
5241        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
5242        descriptor.get(|| {
5243            let mut fields = ::std::vec::Vec::new();
5244            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<ZigBeeMsg_NetworkMgmtCmd_NetworkStatus_Status>>(
5245                "type",
5246                |m: &ZigBeeMsg_NetworkMgmtCmd_NetworkStatus| { &m.field_type },
5247                |m: &mut ZigBeeMsg_NetworkMgmtCmd_NetworkStatus| { &mut m.field_type },
5248            ));
5249            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ZigBeeMsg_NetworkMgmtCmd_NetworkStatus>(
5250                "ZigBeeMsg.NetworkMgmtCmd.NetworkStatus",
5251                fields,
5252                file_descriptor_proto()
5253            )
5254        })
5255    }
5256
5257    fn default_instance() -> &'static ZigBeeMsg_NetworkMgmtCmd_NetworkStatus {
5258        static instance: ::protobuf::rt::LazyV2<ZigBeeMsg_NetworkMgmtCmd_NetworkStatus> = ::protobuf::rt::LazyV2::INIT;
5259        instance.get(ZigBeeMsg_NetworkMgmtCmd_NetworkStatus::new)
5260    }
5261}
5262
5263impl ::protobuf::Clear for ZigBeeMsg_NetworkMgmtCmd_NetworkStatus {
5264    fn clear(&mut self) {
5265        self.field_type = ZigBeeMsg_NetworkMgmtCmd_NetworkStatus_Status::NO_NETWORK;
5266        self.unknown_fields.clear();
5267    }
5268}
5269
5270impl ::std::fmt::Debug for ZigBeeMsg_NetworkMgmtCmd_NetworkStatus {
5271    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5272        ::protobuf::text_format::fmt(self, f)
5273    }
5274}
5275
5276impl ::protobuf::reflect::ProtobufValue for ZigBeeMsg_NetworkMgmtCmd_NetworkStatus {
5277    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
5278        ::protobuf::reflect::ReflectValueRef::Message(self)
5279    }
5280}
5281
5282#[derive(Clone,PartialEq,Eq,Debug,Hash)]
5283pub enum ZigBeeMsg_NetworkMgmtCmd_NetworkStatus_Status {
5284    NO_NETWORK = 0,
5285    JOINING_NETWORK = 1,
5286    JOINED_NETWORK = 2,
5287    JOINED_NETWORK_NO_PARENT = 3,
5288    LEAVING_NETWORK = 4,
5289}
5290
5291impl ::protobuf::ProtobufEnum for ZigBeeMsg_NetworkMgmtCmd_NetworkStatus_Status {
5292    fn value(&self) -> i32 {
5293        *self as i32
5294    }
5295
5296    fn from_i32(value: i32) -> ::std::option::Option<ZigBeeMsg_NetworkMgmtCmd_NetworkStatus_Status> {
5297        match value {
5298            0 => ::std::option::Option::Some(ZigBeeMsg_NetworkMgmtCmd_NetworkStatus_Status::NO_NETWORK),
5299            1 => ::std::option::Option::Some(ZigBeeMsg_NetworkMgmtCmd_NetworkStatus_Status::JOINING_NETWORK),
5300            2 => ::std::option::Option::Some(ZigBeeMsg_NetworkMgmtCmd_NetworkStatus_Status::JOINED_NETWORK),
5301            3 => ::std::option::Option::Some(ZigBeeMsg_NetworkMgmtCmd_NetworkStatus_Status::JOINED_NETWORK_NO_PARENT),
5302            4 => ::std::option::Option::Some(ZigBeeMsg_NetworkMgmtCmd_NetworkStatus_Status::LEAVING_NETWORK),
5303            _ => ::std::option::Option::None
5304        }
5305    }
5306
5307    fn values() -> &'static [Self] {
5308        static values: &'static [ZigBeeMsg_NetworkMgmtCmd_NetworkStatus_Status] = &[
5309            ZigBeeMsg_NetworkMgmtCmd_NetworkStatus_Status::NO_NETWORK,
5310            ZigBeeMsg_NetworkMgmtCmd_NetworkStatus_Status::JOINING_NETWORK,
5311            ZigBeeMsg_NetworkMgmtCmd_NetworkStatus_Status::JOINED_NETWORK,
5312            ZigBeeMsg_NetworkMgmtCmd_NetworkStatus_Status::JOINED_NETWORK_NO_PARENT,
5313            ZigBeeMsg_NetworkMgmtCmd_NetworkStatus_Status::LEAVING_NETWORK,
5314        ];
5315        values
5316    }
5317
5318    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
5319        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
5320        descriptor.get(|| {
5321            ::protobuf::reflect::EnumDescriptor::new_pb_name::<ZigBeeMsg_NetworkMgmtCmd_NetworkStatus_Status>("ZigBeeMsg.NetworkMgmtCmd.NetworkStatus.Status", file_descriptor_proto())
5322        })
5323    }
5324}
5325
5326impl ::std::marker::Copy for ZigBeeMsg_NetworkMgmtCmd_NetworkStatus_Status {
5327}
5328
5329impl ::std::default::Default for ZigBeeMsg_NetworkMgmtCmd_NetworkStatus_Status {
5330    fn default() -> Self {
5331        ZigBeeMsg_NetworkMgmtCmd_NetworkStatus_Status::NO_NETWORK
5332    }
5333}
5334
5335impl ::protobuf::reflect::ProtobufValue for ZigBeeMsg_NetworkMgmtCmd_NetworkStatus_Status {
5336    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
5337        ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
5338    }
5339}
5340
5341#[derive(Clone,PartialEq,Eq,Debug,Hash)]
5342pub enum ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes {
5343    CREATE_NWK = 0,
5344    LEAVE_NWK = 1,
5345    NODE_LEAVE_NWK = 2,
5346    PERMIT_JOIN = 3,
5347    DISCOVERY_INFO = 4,
5348    RESET_PROXY = 5,
5349    IS_PROXY_ACTIVE = 6,
5350    NETWORK_STATUS = 7,
5351}
5352
5353impl ::protobuf::ProtobufEnum for ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes {
5354    fn value(&self) -> i32 {
5355        *self as i32
5356    }
5357
5358    fn from_i32(value: i32) -> ::std::option::Option<ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes> {
5359        match value {
5360            0 => ::std::option::Option::Some(ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes::CREATE_NWK),
5361            1 => ::std::option::Option::Some(ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes::LEAVE_NWK),
5362            2 => ::std::option::Option::Some(ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes::NODE_LEAVE_NWK),
5363            3 => ::std::option::Option::Some(ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes::PERMIT_JOIN),
5364            4 => ::std::option::Option::Some(ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes::DISCOVERY_INFO),
5365            5 => ::std::option::Option::Some(ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes::RESET_PROXY),
5366            6 => ::std::option::Option::Some(ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes::IS_PROXY_ACTIVE),
5367            7 => ::std::option::Option::Some(ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes::NETWORK_STATUS),
5368            _ => ::std::option::Option::None
5369        }
5370    }
5371
5372    fn values() -> &'static [Self] {
5373        static values: &'static [ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes] = &[
5374            ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes::CREATE_NWK,
5375            ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes::LEAVE_NWK,
5376            ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes::NODE_LEAVE_NWK,
5377            ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes::PERMIT_JOIN,
5378            ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes::DISCOVERY_INFO,
5379            ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes::RESET_PROXY,
5380            ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes::IS_PROXY_ACTIVE,
5381            ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes::NETWORK_STATUS,
5382        ];
5383        values
5384    }
5385
5386    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
5387        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
5388        descriptor.get(|| {
5389            ::protobuf::reflect::EnumDescriptor::new_pb_name::<ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes>("ZigBeeMsg.NetworkMgmtCmd.NetworkMgmtCmdTypes", file_descriptor_proto())
5390        })
5391    }
5392}
5393
5394impl ::std::marker::Copy for ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes {
5395}
5396
5397impl ::std::default::Default for ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes {
5398    fn default() -> Self {
5399        ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes::CREATE_NWK
5400    }
5401}
5402
5403impl ::protobuf::reflect::ProtobufValue for ZigBeeMsg_NetworkMgmtCmd_NetworkMgmtCmdTypes {
5404    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
5405        ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
5406    }
5407}
5408
5409#[derive(Clone,PartialEq,Eq,Debug,Hash)]
5410pub enum ZigBeeMsg_ZigBeeCmdType {
5411    ZCL = 0,
5412    NETWORK_MGMT = 1,
5413}
5414
5415impl ::protobuf::ProtobufEnum for ZigBeeMsg_ZigBeeCmdType {
5416    fn value(&self) -> i32 {
5417        *self as i32
5418    }
5419
5420    fn from_i32(value: i32) -> ::std::option::Option<ZigBeeMsg_ZigBeeCmdType> {
5421        match value {
5422            0 => ::std::option::Option::Some(ZigBeeMsg_ZigBeeCmdType::ZCL),
5423            1 => ::std::option::Option::Some(ZigBeeMsg_ZigBeeCmdType::NETWORK_MGMT),
5424            _ => ::std::option::Option::None
5425        }
5426    }
5427
5428    fn values() -> &'static [Self] {
5429        static values: &'static [ZigBeeMsg_ZigBeeCmdType] = &[
5430            ZigBeeMsg_ZigBeeCmdType::ZCL,
5431            ZigBeeMsg_ZigBeeCmdType::NETWORK_MGMT,
5432        ];
5433        values
5434    }
5435
5436    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
5437        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
5438        descriptor.get(|| {
5439            ::protobuf::reflect::EnumDescriptor::new_pb_name::<ZigBeeMsg_ZigBeeCmdType>("ZigBeeMsg.ZigBeeCmdType", file_descriptor_proto())
5440        })
5441    }
5442}
5443
5444impl ::std::marker::Copy for ZigBeeMsg_ZigBeeCmdType {
5445}
5446
5447impl ::std::default::Default for ZigBeeMsg_ZigBeeCmdType {
5448    fn default() -> Self {
5449        ZigBeeMsg_ZigBeeCmdType::ZCL
5450    }
5451}
5452
5453impl ::protobuf::reflect::ProtobufValue for ZigBeeMsg_ZigBeeCmdType {
5454    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
5455        ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
5456    }
5457}
5458
5459#[derive(PartialEq,Clone,Default)]
5460pub struct ZWaveMsg {
5461    // message fields
5462    pub operation: ZWaveMsg_ZWaveOperations,
5463    pub service_to_send: ::std::string::String,
5464    pub zwave_cmd: ::protobuf::SingularPtrField<ZWaveMsg_ZWaveCommand>,
5465    pub node: ::protobuf::RepeatedField<ZWaveMsg_ZWaveNode>,
5466    pub result: bool,
5467    // special fields
5468    pub unknown_fields: ::protobuf::UnknownFields,
5469    pub cached_size: ::protobuf::CachedSize,
5470}
5471
5472impl<'a> ::std::default::Default for &'a ZWaveMsg {
5473    fn default() -> &'a ZWaveMsg {
5474        <ZWaveMsg as ::protobuf::Message>::default_instance()
5475    }
5476}
5477
5478impl ZWaveMsg {
5479    pub fn new() -> ZWaveMsg {
5480        ::std::default::Default::default()
5481    }
5482
5483    // .matrix_io.malos.v1.comm.ZWaveMsg.ZWaveOperations operation = 1;
5484
5485
5486    pub fn get_operation(&self) -> ZWaveMsg_ZWaveOperations {
5487        self.operation
5488    }
5489    pub fn clear_operation(&mut self) {
5490        self.operation = ZWaveMsg_ZWaveOperations::UNDEF;
5491    }
5492
5493    // Param is passed by value, moved
5494    pub fn set_operation(&mut self, v: ZWaveMsg_ZWaveOperations) {
5495        self.operation = v;
5496    }
5497
5498    // string service_to_send = 2;
5499
5500
5501    pub fn get_service_to_send(&self) -> &str {
5502        &self.service_to_send
5503    }
5504    pub fn clear_service_to_send(&mut self) {
5505        self.service_to_send.clear();
5506    }
5507
5508    // Param is passed by value, moved
5509    pub fn set_service_to_send(&mut self, v: ::std::string::String) {
5510        self.service_to_send = v;
5511    }
5512
5513    // Mutable pointer to the field.
5514    // If field is not initialized, it is initialized with default value first.
5515    pub fn mut_service_to_send(&mut self) -> &mut ::std::string::String {
5516        &mut self.service_to_send
5517    }
5518
5519    // Take field
5520    pub fn take_service_to_send(&mut self) -> ::std::string::String {
5521        ::std::mem::replace(&mut self.service_to_send, ::std::string::String::new())
5522    }
5523
5524    // .matrix_io.malos.v1.comm.ZWaveMsg.ZWaveCommand zwave_cmd = 3;
5525
5526
5527    pub fn get_zwave_cmd(&self) -> &ZWaveMsg_ZWaveCommand {
5528        self.zwave_cmd.as_ref().unwrap_or_else(|| <ZWaveMsg_ZWaveCommand as ::protobuf::Message>::default_instance())
5529    }
5530    pub fn clear_zwave_cmd(&mut self) {
5531        self.zwave_cmd.clear();
5532    }
5533
5534    pub fn has_zwave_cmd(&self) -> bool {
5535        self.zwave_cmd.is_some()
5536    }
5537
5538    // Param is passed by value, moved
5539    pub fn set_zwave_cmd(&mut self, v: ZWaveMsg_ZWaveCommand) {
5540        self.zwave_cmd = ::protobuf::SingularPtrField::some(v);
5541    }
5542
5543    // Mutable pointer to the field.
5544    // If field is not initialized, it is initialized with default value first.
5545    pub fn mut_zwave_cmd(&mut self) -> &mut ZWaveMsg_ZWaveCommand {
5546        if self.zwave_cmd.is_none() {
5547            self.zwave_cmd.set_default();
5548        }
5549        self.zwave_cmd.as_mut().unwrap()
5550    }
5551
5552    // Take field
5553    pub fn take_zwave_cmd(&mut self) -> ZWaveMsg_ZWaveCommand {
5554        self.zwave_cmd.take().unwrap_or_else(|| ZWaveMsg_ZWaveCommand::new())
5555    }
5556
5557    // repeated .matrix_io.malos.v1.comm.ZWaveMsg.ZWaveNode node = 4;
5558
5559
5560    pub fn get_node(&self) -> &[ZWaveMsg_ZWaveNode] {
5561        &self.node
5562    }
5563    pub fn clear_node(&mut self) {
5564        self.node.clear();
5565    }
5566
5567    // Param is passed by value, moved
5568    pub fn set_node(&mut self, v: ::protobuf::RepeatedField<ZWaveMsg_ZWaveNode>) {
5569        self.node = v;
5570    }
5571
5572    // Mutable pointer to the field.
5573    pub fn mut_node(&mut self) -> &mut ::protobuf::RepeatedField<ZWaveMsg_ZWaveNode> {
5574        &mut self.node
5575    }
5576
5577    // Take field
5578    pub fn take_node(&mut self) -> ::protobuf::RepeatedField<ZWaveMsg_ZWaveNode> {
5579        ::std::mem::replace(&mut self.node, ::protobuf::RepeatedField::new())
5580    }
5581
5582    // bool result = 5;
5583
5584
5585    pub fn get_result(&self) -> bool {
5586        self.result
5587    }
5588    pub fn clear_result(&mut self) {
5589        self.result = false;
5590    }
5591
5592    // Param is passed by value, moved
5593    pub fn set_result(&mut self, v: bool) {
5594        self.result = v;
5595    }
5596}
5597
5598impl ::protobuf::Message for ZWaveMsg {
5599    fn is_initialized(&self) -> bool {
5600        for v in &self.zwave_cmd {
5601            if !v.is_initialized() {
5602                return false;
5603            }
5604        };
5605        for v in &self.node {
5606            if !v.is_initialized() {
5607                return false;
5608            }
5609        };
5610        true
5611    }
5612
5613    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5614        while !is.eof()? {
5615            let (field_number, wire_type) = is.read_tag_unpack()?;
5616            match field_number {
5617                1 => {
5618                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.operation, 1, &mut self.unknown_fields)?
5619                },
5620                2 => {
5621                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.service_to_send)?;
5622                },
5623                3 => {
5624                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.zwave_cmd)?;
5625                },
5626                4 => {
5627                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.node)?;
5628                },
5629                5 => {
5630                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
5631                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
5632                    }
5633                    let tmp = is.read_bool()?;
5634                    self.result = tmp;
5635                },
5636                _ => {
5637                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
5638                },
5639            };
5640        }
5641        ::std::result::Result::Ok(())
5642    }
5643
5644    // Compute sizes of nested messages
5645    #[allow(unused_variables)]
5646    fn compute_size(&self) -> u32 {
5647        let mut my_size = 0;
5648        if self.operation != ZWaveMsg_ZWaveOperations::UNDEF {
5649            my_size += ::protobuf::rt::enum_size(1, self.operation);
5650        }
5651        if !self.service_to_send.is_empty() {
5652            my_size += ::protobuf::rt::string_size(2, &self.service_to_send);
5653        }
5654        if let Some(ref v) = self.zwave_cmd.as_ref() {
5655            let len = v.compute_size();
5656            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
5657        }
5658        for value in &self.node {
5659            let len = value.compute_size();
5660            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
5661        };
5662        if self.result != false {
5663            my_size += 2;
5664        }
5665        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
5666        self.cached_size.set(my_size);
5667        my_size
5668    }
5669
5670    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5671        if self.operation != ZWaveMsg_ZWaveOperations::UNDEF {
5672            os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.operation))?;
5673        }
5674        if !self.service_to_send.is_empty() {
5675            os.write_string(2, &self.service_to_send)?;
5676        }
5677        if let Some(ref v) = self.zwave_cmd.as_ref() {
5678            os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
5679            os.write_raw_varint32(v.get_cached_size())?;
5680            v.write_to_with_cached_sizes(os)?;
5681        }
5682        for v in &self.node {
5683            os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
5684            os.write_raw_varint32(v.get_cached_size())?;
5685            v.write_to_with_cached_sizes(os)?;
5686        };
5687        if self.result != false {
5688            os.write_bool(5, self.result)?;
5689        }
5690        os.write_unknown_fields(self.get_unknown_fields())?;
5691        ::std::result::Result::Ok(())
5692    }
5693
5694    fn get_cached_size(&self) -> u32 {
5695        self.cached_size.get()
5696    }
5697
5698    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
5699        &self.unknown_fields
5700    }
5701
5702    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
5703        &mut self.unknown_fields
5704    }
5705
5706    fn as_any(&self) -> &dyn (::std::any::Any) {
5707        self as &dyn (::std::any::Any)
5708    }
5709    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
5710        self as &mut dyn (::std::any::Any)
5711    }
5712    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
5713        self
5714    }
5715
5716    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
5717        Self::descriptor_static()
5718    }
5719
5720    fn new() -> ZWaveMsg {
5721        ZWaveMsg::new()
5722    }
5723
5724    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
5725        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
5726        descriptor.get(|| {
5727            let mut fields = ::std::vec::Vec::new();
5728            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<ZWaveMsg_ZWaveOperations>>(
5729                "operation",
5730                |m: &ZWaveMsg| { &m.operation },
5731                |m: &mut ZWaveMsg| { &mut m.operation },
5732            ));
5733            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
5734                "service_to_send",
5735                |m: &ZWaveMsg| { &m.service_to_send },
5736                |m: &mut ZWaveMsg| { &mut m.service_to_send },
5737            ));
5738            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ZWaveMsg_ZWaveCommand>>(
5739                "zwave_cmd",
5740                |m: &ZWaveMsg| { &m.zwave_cmd },
5741                |m: &mut ZWaveMsg| { &mut m.zwave_cmd },
5742            ));
5743            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ZWaveMsg_ZWaveNode>>(
5744                "node",
5745                |m: &ZWaveMsg| { &m.node },
5746                |m: &mut ZWaveMsg| { &mut m.node },
5747            ));
5748            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
5749                "result",
5750                |m: &ZWaveMsg| { &m.result },
5751                |m: &mut ZWaveMsg| { &mut m.result },
5752            ));
5753            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ZWaveMsg>(
5754                "ZWaveMsg",
5755                fields,
5756                file_descriptor_proto()
5757            )
5758        })
5759    }
5760
5761    fn default_instance() -> &'static ZWaveMsg {
5762        static instance: ::protobuf::rt::LazyV2<ZWaveMsg> = ::protobuf::rt::LazyV2::INIT;
5763        instance.get(ZWaveMsg::new)
5764    }
5765}
5766
5767impl ::protobuf::Clear for ZWaveMsg {
5768    fn clear(&mut self) {
5769        self.operation = ZWaveMsg_ZWaveOperations::UNDEF;
5770        self.service_to_send.clear();
5771        self.zwave_cmd.clear();
5772        self.node.clear();
5773        self.result = false;
5774        self.unknown_fields.clear();
5775    }
5776}
5777
5778impl ::std::fmt::Debug for ZWaveMsg {
5779    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5780        ::protobuf::text_format::fmt(self, f)
5781    }
5782}
5783
5784impl ::protobuf::reflect::ProtobufValue for ZWaveMsg {
5785    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
5786        ::protobuf::reflect::ReflectValueRef::Message(self)
5787    }
5788}
5789
5790#[derive(PartialEq,Clone,Default)]
5791pub struct ZWaveMsg_ZWaveCommandInfo {
5792    // message fields
5793    pub cmd: super::zwave_commands::ZWaveCmdType,
5794    pub param: ::protobuf::RepeatedField<::std::string::String>,
5795    // special fields
5796    pub unknown_fields: ::protobuf::UnknownFields,
5797    pub cached_size: ::protobuf::CachedSize,
5798}
5799
5800impl<'a> ::std::default::Default for &'a ZWaveMsg_ZWaveCommandInfo {
5801    fn default() -> &'a ZWaveMsg_ZWaveCommandInfo {
5802        <ZWaveMsg_ZWaveCommandInfo as ::protobuf::Message>::default_instance()
5803    }
5804}
5805
5806impl ZWaveMsg_ZWaveCommandInfo {
5807    pub fn new() -> ZWaveMsg_ZWaveCommandInfo {
5808        ::std::default::Default::default()
5809    }
5810
5811    // .matrix_io.malos.v1.comm.ZWaveCmdType cmd = 1;
5812
5813
5814    pub fn get_cmd(&self) -> super::zwave_commands::ZWaveCmdType {
5815        self.cmd
5816    }
5817    pub fn clear_cmd(&mut self) {
5818        self.cmd = super::zwave_commands::ZWaveCmdType::CMD_UNDEFINED;
5819    }
5820
5821    // Param is passed by value, moved
5822    pub fn set_cmd(&mut self, v: super::zwave_commands::ZWaveCmdType) {
5823        self.cmd = v;
5824    }
5825
5826    // repeated string param = 2;
5827
5828
5829    pub fn get_param(&self) -> &[::std::string::String] {
5830        &self.param
5831    }
5832    pub fn clear_param(&mut self) {
5833        self.param.clear();
5834    }
5835
5836    // Param is passed by value, moved
5837    pub fn set_param(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
5838        self.param = v;
5839    }
5840
5841    // Mutable pointer to the field.
5842    pub fn mut_param(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
5843        &mut self.param
5844    }
5845
5846    // Take field
5847    pub fn take_param(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
5848        ::std::mem::replace(&mut self.param, ::protobuf::RepeatedField::new())
5849    }
5850}
5851
5852impl ::protobuf::Message for ZWaveMsg_ZWaveCommandInfo {
5853    fn is_initialized(&self) -> bool {
5854        true
5855    }
5856
5857    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5858        while !is.eof()? {
5859            let (field_number, wire_type) = is.read_tag_unpack()?;
5860            match field_number {
5861                1 => {
5862                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.cmd, 1, &mut self.unknown_fields)?
5863                },
5864                2 => {
5865                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.param)?;
5866                },
5867                _ => {
5868                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
5869                },
5870            };
5871        }
5872        ::std::result::Result::Ok(())
5873    }
5874
5875    // Compute sizes of nested messages
5876    #[allow(unused_variables)]
5877    fn compute_size(&self) -> u32 {
5878        let mut my_size = 0;
5879        if self.cmd != super::zwave_commands::ZWaveCmdType::CMD_UNDEFINED {
5880            my_size += ::protobuf::rt::enum_size(1, self.cmd);
5881        }
5882        for value in &self.param {
5883            my_size += ::protobuf::rt::string_size(2, &value);
5884        };
5885        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
5886        self.cached_size.set(my_size);
5887        my_size
5888    }
5889
5890    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5891        if self.cmd != super::zwave_commands::ZWaveCmdType::CMD_UNDEFINED {
5892            os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.cmd))?;
5893        }
5894        for v in &self.param {
5895            os.write_string(2, &v)?;
5896        };
5897        os.write_unknown_fields(self.get_unknown_fields())?;
5898        ::std::result::Result::Ok(())
5899    }
5900
5901    fn get_cached_size(&self) -> u32 {
5902        self.cached_size.get()
5903    }
5904
5905    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
5906        &self.unknown_fields
5907    }
5908
5909    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
5910        &mut self.unknown_fields
5911    }
5912
5913    fn as_any(&self) -> &dyn (::std::any::Any) {
5914        self as &dyn (::std::any::Any)
5915    }
5916    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
5917        self as &mut dyn (::std::any::Any)
5918    }
5919    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
5920        self
5921    }
5922
5923    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
5924        Self::descriptor_static()
5925    }
5926
5927    fn new() -> ZWaveMsg_ZWaveCommandInfo {
5928        ZWaveMsg_ZWaveCommandInfo::new()
5929    }
5930
5931    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
5932        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
5933        descriptor.get(|| {
5934            let mut fields = ::std::vec::Vec::new();
5935            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<super::zwave_commands::ZWaveCmdType>>(
5936                "cmd",
5937                |m: &ZWaveMsg_ZWaveCommandInfo| { &m.cmd },
5938                |m: &mut ZWaveMsg_ZWaveCommandInfo| { &mut m.cmd },
5939            ));
5940            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
5941                "param",
5942                |m: &ZWaveMsg_ZWaveCommandInfo| { &m.param },
5943                |m: &mut ZWaveMsg_ZWaveCommandInfo| { &mut m.param },
5944            ));
5945            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ZWaveMsg_ZWaveCommandInfo>(
5946                "ZWaveMsg.ZWaveCommandInfo",
5947                fields,
5948                file_descriptor_proto()
5949            )
5950        })
5951    }
5952
5953    fn default_instance() -> &'static ZWaveMsg_ZWaveCommandInfo {
5954        static instance: ::protobuf::rt::LazyV2<ZWaveMsg_ZWaveCommandInfo> = ::protobuf::rt::LazyV2::INIT;
5955        instance.get(ZWaveMsg_ZWaveCommandInfo::new)
5956    }
5957}
5958
5959impl ::protobuf::Clear for ZWaveMsg_ZWaveCommandInfo {
5960    fn clear(&mut self) {
5961        self.cmd = super::zwave_commands::ZWaveCmdType::CMD_UNDEFINED;
5962        self.param.clear();
5963        self.unknown_fields.clear();
5964    }
5965}
5966
5967impl ::std::fmt::Debug for ZWaveMsg_ZWaveCommandInfo {
5968    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5969        ::protobuf::text_format::fmt(self, f)
5970    }
5971}
5972
5973impl ::protobuf::reflect::ProtobufValue for ZWaveMsg_ZWaveCommandInfo {
5974    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
5975        ::protobuf::reflect::ReflectValueRef::Message(self)
5976    }
5977}
5978
5979#[derive(PartialEq,Clone,Default)]
5980pub struct ZWaveMsg_ZWaveClassInfo {
5981    // message fields
5982    pub zwave_class: super::zwave_commands::ZWaveClassType,
5983    pub command: ::protobuf::RepeatedField<ZWaveMsg_ZWaveCommandInfo>,
5984    // special fields
5985    pub unknown_fields: ::protobuf::UnknownFields,
5986    pub cached_size: ::protobuf::CachedSize,
5987}
5988
5989impl<'a> ::std::default::Default for &'a ZWaveMsg_ZWaveClassInfo {
5990    fn default() -> &'a ZWaveMsg_ZWaveClassInfo {
5991        <ZWaveMsg_ZWaveClassInfo as ::protobuf::Message>::default_instance()
5992    }
5993}
5994
5995impl ZWaveMsg_ZWaveClassInfo {
5996    pub fn new() -> ZWaveMsg_ZWaveClassInfo {
5997        ::std::default::Default::default()
5998    }
5999
6000    // .matrix_io.malos.v1.comm.ZWaveClassType zwave_class = 1;
6001
6002
6003    pub fn get_zwave_class(&self) -> super::zwave_commands::ZWaveClassType {
6004        self.zwave_class
6005    }
6006    pub fn clear_zwave_class(&mut self) {
6007        self.zwave_class = super::zwave_commands::ZWaveClassType::COMMAND_CLASS_NO_OPERATION;
6008    }
6009
6010    // Param is passed by value, moved
6011    pub fn set_zwave_class(&mut self, v: super::zwave_commands::ZWaveClassType) {
6012        self.zwave_class = v;
6013    }
6014
6015    // repeated .matrix_io.malos.v1.comm.ZWaveMsg.ZWaveCommandInfo command = 2;
6016
6017
6018    pub fn get_command(&self) -> &[ZWaveMsg_ZWaveCommandInfo] {
6019        &self.command
6020    }
6021    pub fn clear_command(&mut self) {
6022        self.command.clear();
6023    }
6024
6025    // Param is passed by value, moved
6026    pub fn set_command(&mut self, v: ::protobuf::RepeatedField<ZWaveMsg_ZWaveCommandInfo>) {
6027        self.command = v;
6028    }
6029
6030    // Mutable pointer to the field.
6031    pub fn mut_command(&mut self) -> &mut ::protobuf::RepeatedField<ZWaveMsg_ZWaveCommandInfo> {
6032        &mut self.command
6033    }
6034
6035    // Take field
6036    pub fn take_command(&mut self) -> ::protobuf::RepeatedField<ZWaveMsg_ZWaveCommandInfo> {
6037        ::std::mem::replace(&mut self.command, ::protobuf::RepeatedField::new())
6038    }
6039}
6040
6041impl ::protobuf::Message for ZWaveMsg_ZWaveClassInfo {
6042    fn is_initialized(&self) -> bool {
6043        for v in &self.command {
6044            if !v.is_initialized() {
6045                return false;
6046            }
6047        };
6048        true
6049    }
6050
6051    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
6052        while !is.eof()? {
6053            let (field_number, wire_type) = is.read_tag_unpack()?;
6054            match field_number {
6055                1 => {
6056                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.zwave_class, 1, &mut self.unknown_fields)?
6057                },
6058                2 => {
6059                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.command)?;
6060                },
6061                _ => {
6062                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
6063                },
6064            };
6065        }
6066        ::std::result::Result::Ok(())
6067    }
6068
6069    // Compute sizes of nested messages
6070    #[allow(unused_variables)]
6071    fn compute_size(&self) -> u32 {
6072        let mut my_size = 0;
6073        if self.zwave_class != super::zwave_commands::ZWaveClassType::COMMAND_CLASS_NO_OPERATION {
6074            my_size += ::protobuf::rt::enum_size(1, self.zwave_class);
6075        }
6076        for value in &self.command {
6077            let len = value.compute_size();
6078            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
6079        };
6080        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
6081        self.cached_size.set(my_size);
6082        my_size
6083    }
6084
6085    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
6086        if self.zwave_class != super::zwave_commands::ZWaveClassType::COMMAND_CLASS_NO_OPERATION {
6087            os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.zwave_class))?;
6088        }
6089        for v in &self.command {
6090            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
6091            os.write_raw_varint32(v.get_cached_size())?;
6092            v.write_to_with_cached_sizes(os)?;
6093        };
6094        os.write_unknown_fields(self.get_unknown_fields())?;
6095        ::std::result::Result::Ok(())
6096    }
6097
6098    fn get_cached_size(&self) -> u32 {
6099        self.cached_size.get()
6100    }
6101
6102    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
6103        &self.unknown_fields
6104    }
6105
6106    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
6107        &mut self.unknown_fields
6108    }
6109
6110    fn as_any(&self) -> &dyn (::std::any::Any) {
6111        self as &dyn (::std::any::Any)
6112    }
6113    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
6114        self as &mut dyn (::std::any::Any)
6115    }
6116    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
6117        self
6118    }
6119
6120    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
6121        Self::descriptor_static()
6122    }
6123
6124    fn new() -> ZWaveMsg_ZWaveClassInfo {
6125        ZWaveMsg_ZWaveClassInfo::new()
6126    }
6127
6128    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
6129        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
6130        descriptor.get(|| {
6131            let mut fields = ::std::vec::Vec::new();
6132            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<super::zwave_commands::ZWaveClassType>>(
6133                "zwave_class",
6134                |m: &ZWaveMsg_ZWaveClassInfo| { &m.zwave_class },
6135                |m: &mut ZWaveMsg_ZWaveClassInfo| { &mut m.zwave_class },
6136            ));
6137            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ZWaveMsg_ZWaveCommandInfo>>(
6138                "command",
6139                |m: &ZWaveMsg_ZWaveClassInfo| { &m.command },
6140                |m: &mut ZWaveMsg_ZWaveClassInfo| { &mut m.command },
6141            ));
6142            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ZWaveMsg_ZWaveClassInfo>(
6143                "ZWaveMsg.ZWaveClassInfo",
6144                fields,
6145                file_descriptor_proto()
6146            )
6147        })
6148    }
6149
6150    fn default_instance() -> &'static ZWaveMsg_ZWaveClassInfo {
6151        static instance: ::protobuf::rt::LazyV2<ZWaveMsg_ZWaveClassInfo> = ::protobuf::rt::LazyV2::INIT;
6152        instance.get(ZWaveMsg_ZWaveClassInfo::new)
6153    }
6154}
6155
6156impl ::protobuf::Clear for ZWaveMsg_ZWaveClassInfo {
6157    fn clear(&mut self) {
6158        self.zwave_class = super::zwave_commands::ZWaveClassType::COMMAND_CLASS_NO_OPERATION;
6159        self.command.clear();
6160        self.unknown_fields.clear();
6161    }
6162}
6163
6164impl ::std::fmt::Debug for ZWaveMsg_ZWaveClassInfo {
6165    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6166        ::protobuf::text_format::fmt(self, f)
6167    }
6168}
6169
6170impl ::protobuf::reflect::ProtobufValue for ZWaveMsg_ZWaveClassInfo {
6171    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
6172        ::protobuf::reflect::ReflectValueRef::Message(self)
6173    }
6174}
6175
6176#[derive(PartialEq,Clone,Default)]
6177pub struct ZWaveMsg_ZWaveNode {
6178    // message fields
6179    pub service_name: ::std::string::String,
6180    pub zwave_class: ::protobuf::RepeatedField<ZWaveMsg_ZWaveClassInfo>,
6181    // special fields
6182    pub unknown_fields: ::protobuf::UnknownFields,
6183    pub cached_size: ::protobuf::CachedSize,
6184}
6185
6186impl<'a> ::std::default::Default for &'a ZWaveMsg_ZWaveNode {
6187    fn default() -> &'a ZWaveMsg_ZWaveNode {
6188        <ZWaveMsg_ZWaveNode as ::protobuf::Message>::default_instance()
6189    }
6190}
6191
6192impl ZWaveMsg_ZWaveNode {
6193    pub fn new() -> ZWaveMsg_ZWaveNode {
6194        ::std::default::Default::default()
6195    }
6196
6197    // string service_name = 1;
6198
6199
6200    pub fn get_service_name(&self) -> &str {
6201        &self.service_name
6202    }
6203    pub fn clear_service_name(&mut self) {
6204        self.service_name.clear();
6205    }
6206
6207    // Param is passed by value, moved
6208    pub fn set_service_name(&mut self, v: ::std::string::String) {
6209        self.service_name = v;
6210    }
6211
6212    // Mutable pointer to the field.
6213    // If field is not initialized, it is initialized with default value first.
6214    pub fn mut_service_name(&mut self) -> &mut ::std::string::String {
6215        &mut self.service_name
6216    }
6217
6218    // Take field
6219    pub fn take_service_name(&mut self) -> ::std::string::String {
6220        ::std::mem::replace(&mut self.service_name, ::std::string::String::new())
6221    }
6222
6223    // repeated .matrix_io.malos.v1.comm.ZWaveMsg.ZWaveClassInfo zwave_class = 2;
6224
6225
6226    pub fn get_zwave_class(&self) -> &[ZWaveMsg_ZWaveClassInfo] {
6227        &self.zwave_class
6228    }
6229    pub fn clear_zwave_class(&mut self) {
6230        self.zwave_class.clear();
6231    }
6232
6233    // Param is passed by value, moved
6234    pub fn set_zwave_class(&mut self, v: ::protobuf::RepeatedField<ZWaveMsg_ZWaveClassInfo>) {
6235        self.zwave_class = v;
6236    }
6237
6238    // Mutable pointer to the field.
6239    pub fn mut_zwave_class(&mut self) -> &mut ::protobuf::RepeatedField<ZWaveMsg_ZWaveClassInfo> {
6240        &mut self.zwave_class
6241    }
6242
6243    // Take field
6244    pub fn take_zwave_class(&mut self) -> ::protobuf::RepeatedField<ZWaveMsg_ZWaveClassInfo> {
6245        ::std::mem::replace(&mut self.zwave_class, ::protobuf::RepeatedField::new())
6246    }
6247}
6248
6249impl ::protobuf::Message for ZWaveMsg_ZWaveNode {
6250    fn is_initialized(&self) -> bool {
6251        for v in &self.zwave_class {
6252            if !v.is_initialized() {
6253                return false;
6254            }
6255        };
6256        true
6257    }
6258
6259    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
6260        while !is.eof()? {
6261            let (field_number, wire_type) = is.read_tag_unpack()?;
6262            match field_number {
6263                1 => {
6264                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.service_name)?;
6265                },
6266                2 => {
6267                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.zwave_class)?;
6268                },
6269                _ => {
6270                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
6271                },
6272            };
6273        }
6274        ::std::result::Result::Ok(())
6275    }
6276
6277    // Compute sizes of nested messages
6278    #[allow(unused_variables)]
6279    fn compute_size(&self) -> u32 {
6280        let mut my_size = 0;
6281        if !self.service_name.is_empty() {
6282            my_size += ::protobuf::rt::string_size(1, &self.service_name);
6283        }
6284        for value in &self.zwave_class {
6285            let len = value.compute_size();
6286            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
6287        };
6288        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
6289        self.cached_size.set(my_size);
6290        my_size
6291    }
6292
6293    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
6294        if !self.service_name.is_empty() {
6295            os.write_string(1, &self.service_name)?;
6296        }
6297        for v in &self.zwave_class {
6298            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
6299            os.write_raw_varint32(v.get_cached_size())?;
6300            v.write_to_with_cached_sizes(os)?;
6301        };
6302        os.write_unknown_fields(self.get_unknown_fields())?;
6303        ::std::result::Result::Ok(())
6304    }
6305
6306    fn get_cached_size(&self) -> u32 {
6307        self.cached_size.get()
6308    }
6309
6310    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
6311        &self.unknown_fields
6312    }
6313
6314    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
6315        &mut self.unknown_fields
6316    }
6317
6318    fn as_any(&self) -> &dyn (::std::any::Any) {
6319        self as &dyn (::std::any::Any)
6320    }
6321    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
6322        self as &mut dyn (::std::any::Any)
6323    }
6324    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
6325        self
6326    }
6327
6328    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
6329        Self::descriptor_static()
6330    }
6331
6332    fn new() -> ZWaveMsg_ZWaveNode {
6333        ZWaveMsg_ZWaveNode::new()
6334    }
6335
6336    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
6337        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
6338        descriptor.get(|| {
6339            let mut fields = ::std::vec::Vec::new();
6340            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
6341                "service_name",
6342                |m: &ZWaveMsg_ZWaveNode| { &m.service_name },
6343                |m: &mut ZWaveMsg_ZWaveNode| { &mut m.service_name },
6344            ));
6345            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ZWaveMsg_ZWaveClassInfo>>(
6346                "zwave_class",
6347                |m: &ZWaveMsg_ZWaveNode| { &m.zwave_class },
6348                |m: &mut ZWaveMsg_ZWaveNode| { &mut m.zwave_class },
6349            ));
6350            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ZWaveMsg_ZWaveNode>(
6351                "ZWaveMsg.ZWaveNode",
6352                fields,
6353                file_descriptor_proto()
6354            )
6355        })
6356    }
6357
6358    fn default_instance() -> &'static ZWaveMsg_ZWaveNode {
6359        static instance: ::protobuf::rt::LazyV2<ZWaveMsg_ZWaveNode> = ::protobuf::rt::LazyV2::INIT;
6360        instance.get(ZWaveMsg_ZWaveNode::new)
6361    }
6362}
6363
6364impl ::protobuf::Clear for ZWaveMsg_ZWaveNode {
6365    fn clear(&mut self) {
6366        self.service_name.clear();
6367        self.zwave_class.clear();
6368        self.unknown_fields.clear();
6369    }
6370}
6371
6372impl ::std::fmt::Debug for ZWaveMsg_ZWaveNode {
6373    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6374        ::protobuf::text_format::fmt(self, f)
6375    }
6376}
6377
6378impl ::protobuf::reflect::ProtobufValue for ZWaveMsg_ZWaveNode {
6379    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
6380        ::protobuf::reflect::ReflectValueRef::Message(self)
6381    }
6382}
6383
6384#[derive(PartialEq,Clone,Default)]
6385pub struct ZWaveMsg_ZWaveCommand {
6386    // message fields
6387    pub zwclass: super::zwave_commands::ZWaveClassType,
6388    pub cmd: super::zwave_commands::ZWaveCmdType,
6389    pub params: ::std::vec::Vec<u8>,
6390    // special fields
6391    pub unknown_fields: ::protobuf::UnknownFields,
6392    pub cached_size: ::protobuf::CachedSize,
6393}
6394
6395impl<'a> ::std::default::Default for &'a ZWaveMsg_ZWaveCommand {
6396    fn default() -> &'a ZWaveMsg_ZWaveCommand {
6397        <ZWaveMsg_ZWaveCommand as ::protobuf::Message>::default_instance()
6398    }
6399}
6400
6401impl ZWaveMsg_ZWaveCommand {
6402    pub fn new() -> ZWaveMsg_ZWaveCommand {
6403        ::std::default::Default::default()
6404    }
6405
6406    // .matrix_io.malos.v1.comm.ZWaveClassType zwclass = 1;
6407
6408
6409    pub fn get_zwclass(&self) -> super::zwave_commands::ZWaveClassType {
6410        self.zwclass
6411    }
6412    pub fn clear_zwclass(&mut self) {
6413        self.zwclass = super::zwave_commands::ZWaveClassType::COMMAND_CLASS_NO_OPERATION;
6414    }
6415
6416    // Param is passed by value, moved
6417    pub fn set_zwclass(&mut self, v: super::zwave_commands::ZWaveClassType) {
6418        self.zwclass = v;
6419    }
6420
6421    // .matrix_io.malos.v1.comm.ZWaveCmdType cmd = 2;
6422
6423
6424    pub fn get_cmd(&self) -> super::zwave_commands::ZWaveCmdType {
6425        self.cmd
6426    }
6427    pub fn clear_cmd(&mut self) {
6428        self.cmd = super::zwave_commands::ZWaveCmdType::CMD_UNDEFINED;
6429    }
6430
6431    // Param is passed by value, moved
6432    pub fn set_cmd(&mut self, v: super::zwave_commands::ZWaveCmdType) {
6433        self.cmd = v;
6434    }
6435
6436    // bytes params = 3;
6437
6438
6439    pub fn get_params(&self) -> &[u8] {
6440        &self.params
6441    }
6442    pub fn clear_params(&mut self) {
6443        self.params.clear();
6444    }
6445
6446    // Param is passed by value, moved
6447    pub fn set_params(&mut self, v: ::std::vec::Vec<u8>) {
6448        self.params = v;
6449    }
6450
6451    // Mutable pointer to the field.
6452    // If field is not initialized, it is initialized with default value first.
6453    pub fn mut_params(&mut self) -> &mut ::std::vec::Vec<u8> {
6454        &mut self.params
6455    }
6456
6457    // Take field
6458    pub fn take_params(&mut self) -> ::std::vec::Vec<u8> {
6459        ::std::mem::replace(&mut self.params, ::std::vec::Vec::new())
6460    }
6461}
6462
6463impl ::protobuf::Message for ZWaveMsg_ZWaveCommand {
6464    fn is_initialized(&self) -> bool {
6465        true
6466    }
6467
6468    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
6469        while !is.eof()? {
6470            let (field_number, wire_type) = is.read_tag_unpack()?;
6471            match field_number {
6472                1 => {
6473                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.zwclass, 1, &mut self.unknown_fields)?
6474                },
6475                2 => {
6476                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.cmd, 2, &mut self.unknown_fields)?
6477                },
6478                3 => {
6479                    ::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.params)?;
6480                },
6481                _ => {
6482                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
6483                },
6484            };
6485        }
6486        ::std::result::Result::Ok(())
6487    }
6488
6489    // Compute sizes of nested messages
6490    #[allow(unused_variables)]
6491    fn compute_size(&self) -> u32 {
6492        let mut my_size = 0;
6493        if self.zwclass != super::zwave_commands::ZWaveClassType::COMMAND_CLASS_NO_OPERATION {
6494            my_size += ::protobuf::rt::enum_size(1, self.zwclass);
6495        }
6496        if self.cmd != super::zwave_commands::ZWaveCmdType::CMD_UNDEFINED {
6497            my_size += ::protobuf::rt::enum_size(2, self.cmd);
6498        }
6499        if !self.params.is_empty() {
6500            my_size += ::protobuf::rt::bytes_size(3, &self.params);
6501        }
6502        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
6503        self.cached_size.set(my_size);
6504        my_size
6505    }
6506
6507    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
6508        if self.zwclass != super::zwave_commands::ZWaveClassType::COMMAND_CLASS_NO_OPERATION {
6509            os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.zwclass))?;
6510        }
6511        if self.cmd != super::zwave_commands::ZWaveCmdType::CMD_UNDEFINED {
6512            os.write_enum(2, ::protobuf::ProtobufEnum::value(&self.cmd))?;
6513        }
6514        if !self.params.is_empty() {
6515            os.write_bytes(3, &self.params)?;
6516        }
6517        os.write_unknown_fields(self.get_unknown_fields())?;
6518        ::std::result::Result::Ok(())
6519    }
6520
6521    fn get_cached_size(&self) -> u32 {
6522        self.cached_size.get()
6523    }
6524
6525    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
6526        &self.unknown_fields
6527    }
6528
6529    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
6530        &mut self.unknown_fields
6531    }
6532
6533    fn as_any(&self) -> &dyn (::std::any::Any) {
6534        self as &dyn (::std::any::Any)
6535    }
6536    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
6537        self as &mut dyn (::std::any::Any)
6538    }
6539    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
6540        self
6541    }
6542
6543    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
6544        Self::descriptor_static()
6545    }
6546
6547    fn new() -> ZWaveMsg_ZWaveCommand {
6548        ZWaveMsg_ZWaveCommand::new()
6549    }
6550
6551    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
6552        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
6553        descriptor.get(|| {
6554            let mut fields = ::std::vec::Vec::new();
6555            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<super::zwave_commands::ZWaveClassType>>(
6556                "zwclass",
6557                |m: &ZWaveMsg_ZWaveCommand| { &m.zwclass },
6558                |m: &mut ZWaveMsg_ZWaveCommand| { &mut m.zwclass },
6559            ));
6560            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<super::zwave_commands::ZWaveCmdType>>(
6561                "cmd",
6562                |m: &ZWaveMsg_ZWaveCommand| { &m.cmd },
6563                |m: &mut ZWaveMsg_ZWaveCommand| { &mut m.cmd },
6564            ));
6565            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
6566                "params",
6567                |m: &ZWaveMsg_ZWaveCommand| { &m.params },
6568                |m: &mut ZWaveMsg_ZWaveCommand| { &mut m.params },
6569            ));
6570            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ZWaveMsg_ZWaveCommand>(
6571                "ZWaveMsg.ZWaveCommand",
6572                fields,
6573                file_descriptor_proto()
6574            )
6575        })
6576    }
6577
6578    fn default_instance() -> &'static ZWaveMsg_ZWaveCommand {
6579        static instance: ::protobuf::rt::LazyV2<ZWaveMsg_ZWaveCommand> = ::protobuf::rt::LazyV2::INIT;
6580        instance.get(ZWaveMsg_ZWaveCommand::new)
6581    }
6582}
6583
6584impl ::protobuf::Clear for ZWaveMsg_ZWaveCommand {
6585    fn clear(&mut self) {
6586        self.zwclass = super::zwave_commands::ZWaveClassType::COMMAND_CLASS_NO_OPERATION;
6587        self.cmd = super::zwave_commands::ZWaveCmdType::CMD_UNDEFINED;
6588        self.params.clear();
6589        self.unknown_fields.clear();
6590    }
6591}
6592
6593impl ::std::fmt::Debug for ZWaveMsg_ZWaveCommand {
6594    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6595        ::protobuf::text_format::fmt(self, f)
6596    }
6597}
6598
6599impl ::protobuf::reflect::ProtobufValue for ZWaveMsg_ZWaveCommand {
6600    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
6601        ::protobuf::reflect::ReflectValueRef::Message(self)
6602    }
6603}
6604
6605#[derive(Clone,PartialEq,Eq,Debug,Hash)]
6606pub enum ZWaveMsg_ZWaveOperations {
6607    UNDEF = 0,
6608    SEND = 1,
6609    ADDNODE = 2,
6610    REMOVENODE = 3,
6611    SETDEFAULT = 4,
6612    LIST = 5,
6613}
6614
6615impl ::protobuf::ProtobufEnum for ZWaveMsg_ZWaveOperations {
6616    fn value(&self) -> i32 {
6617        *self as i32
6618    }
6619
6620    fn from_i32(value: i32) -> ::std::option::Option<ZWaveMsg_ZWaveOperations> {
6621        match value {
6622            0 => ::std::option::Option::Some(ZWaveMsg_ZWaveOperations::UNDEF),
6623            1 => ::std::option::Option::Some(ZWaveMsg_ZWaveOperations::SEND),
6624            2 => ::std::option::Option::Some(ZWaveMsg_ZWaveOperations::ADDNODE),
6625            3 => ::std::option::Option::Some(ZWaveMsg_ZWaveOperations::REMOVENODE),
6626            4 => ::std::option::Option::Some(ZWaveMsg_ZWaveOperations::SETDEFAULT),
6627            5 => ::std::option::Option::Some(ZWaveMsg_ZWaveOperations::LIST),
6628            _ => ::std::option::Option::None
6629        }
6630    }
6631
6632    fn values() -> &'static [Self] {
6633        static values: &'static [ZWaveMsg_ZWaveOperations] = &[
6634            ZWaveMsg_ZWaveOperations::UNDEF,
6635            ZWaveMsg_ZWaveOperations::SEND,
6636            ZWaveMsg_ZWaveOperations::ADDNODE,
6637            ZWaveMsg_ZWaveOperations::REMOVENODE,
6638            ZWaveMsg_ZWaveOperations::SETDEFAULT,
6639            ZWaveMsg_ZWaveOperations::LIST,
6640        ];
6641        values
6642    }
6643
6644    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
6645        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
6646        descriptor.get(|| {
6647            ::protobuf::reflect::EnumDescriptor::new_pb_name::<ZWaveMsg_ZWaveOperations>("ZWaveMsg.ZWaveOperations", file_descriptor_proto())
6648        })
6649    }
6650}
6651
6652impl ::std::marker::Copy for ZWaveMsg_ZWaveOperations {
6653}
6654
6655impl ::std::default::Default for ZWaveMsg_ZWaveOperations {
6656    fn default() -> Self {
6657        ZWaveMsg_ZWaveOperations::UNDEF
6658    }
6659}
6660
6661impl ::protobuf::reflect::ProtobufValue for ZWaveMsg_ZWaveOperations {
6662    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
6663        ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
6664    }
6665}
6666
6667#[derive(PartialEq,Clone,Default)]
6668pub struct LircParams {
6669    // message fields
6670    pub device: ::std::string::String,
6671    pub command: ::std::string::String,
6672    pub config: ::std::string::String,
6673    // special fields
6674    pub unknown_fields: ::protobuf::UnknownFields,
6675    pub cached_size: ::protobuf::CachedSize,
6676}
6677
6678impl<'a> ::std::default::Default for &'a LircParams {
6679    fn default() -> &'a LircParams {
6680        <LircParams as ::protobuf::Message>::default_instance()
6681    }
6682}
6683
6684impl LircParams {
6685    pub fn new() -> LircParams {
6686        ::std::default::Default::default()
6687    }
6688
6689    // string device = 1;
6690
6691
6692    pub fn get_device(&self) -> &str {
6693        &self.device
6694    }
6695    pub fn clear_device(&mut self) {
6696        self.device.clear();
6697    }
6698
6699    // Param is passed by value, moved
6700    pub fn set_device(&mut self, v: ::std::string::String) {
6701        self.device = v;
6702    }
6703
6704    // Mutable pointer to the field.
6705    // If field is not initialized, it is initialized with default value first.
6706    pub fn mut_device(&mut self) -> &mut ::std::string::String {
6707        &mut self.device
6708    }
6709
6710    // Take field
6711    pub fn take_device(&mut self) -> ::std::string::String {
6712        ::std::mem::replace(&mut self.device, ::std::string::String::new())
6713    }
6714
6715    // string command = 2;
6716
6717
6718    pub fn get_command(&self) -> &str {
6719        &self.command
6720    }
6721    pub fn clear_command(&mut self) {
6722        self.command.clear();
6723    }
6724
6725    // Param is passed by value, moved
6726    pub fn set_command(&mut self, v: ::std::string::String) {
6727        self.command = v;
6728    }
6729
6730    // Mutable pointer to the field.
6731    // If field is not initialized, it is initialized with default value first.
6732    pub fn mut_command(&mut self) -> &mut ::std::string::String {
6733        &mut self.command
6734    }
6735
6736    // Take field
6737    pub fn take_command(&mut self) -> ::std::string::String {
6738        ::std::mem::replace(&mut self.command, ::std::string::String::new())
6739    }
6740
6741    // string config = 3;
6742
6743
6744    pub fn get_config(&self) -> &str {
6745        &self.config
6746    }
6747    pub fn clear_config(&mut self) {
6748        self.config.clear();
6749    }
6750
6751    // Param is passed by value, moved
6752    pub fn set_config(&mut self, v: ::std::string::String) {
6753        self.config = v;
6754    }
6755
6756    // Mutable pointer to the field.
6757    // If field is not initialized, it is initialized with default value first.
6758    pub fn mut_config(&mut self) -> &mut ::std::string::String {
6759        &mut self.config
6760    }
6761
6762    // Take field
6763    pub fn take_config(&mut self) -> ::std::string::String {
6764        ::std::mem::replace(&mut self.config, ::std::string::String::new())
6765    }
6766}
6767
6768impl ::protobuf::Message for LircParams {
6769    fn is_initialized(&self) -> bool {
6770        true
6771    }
6772
6773    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
6774        while !is.eof()? {
6775            let (field_number, wire_type) = is.read_tag_unpack()?;
6776            match field_number {
6777                1 => {
6778                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.device)?;
6779                },
6780                2 => {
6781                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.command)?;
6782                },
6783                3 => {
6784                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.config)?;
6785                },
6786                _ => {
6787                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
6788                },
6789            };
6790        }
6791        ::std::result::Result::Ok(())
6792    }
6793
6794    // Compute sizes of nested messages
6795    #[allow(unused_variables)]
6796    fn compute_size(&self) -> u32 {
6797        let mut my_size = 0;
6798        if !self.device.is_empty() {
6799            my_size += ::protobuf::rt::string_size(1, &self.device);
6800        }
6801        if !self.command.is_empty() {
6802            my_size += ::protobuf::rt::string_size(2, &self.command);
6803        }
6804        if !self.config.is_empty() {
6805            my_size += ::protobuf::rt::string_size(3, &self.config);
6806        }
6807        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
6808        self.cached_size.set(my_size);
6809        my_size
6810    }
6811
6812    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
6813        if !self.device.is_empty() {
6814            os.write_string(1, &self.device)?;
6815        }
6816        if !self.command.is_empty() {
6817            os.write_string(2, &self.command)?;
6818        }
6819        if !self.config.is_empty() {
6820            os.write_string(3, &self.config)?;
6821        }
6822        os.write_unknown_fields(self.get_unknown_fields())?;
6823        ::std::result::Result::Ok(())
6824    }
6825
6826    fn get_cached_size(&self) -> u32 {
6827        self.cached_size.get()
6828    }
6829
6830    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
6831        &self.unknown_fields
6832    }
6833
6834    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
6835        &mut self.unknown_fields
6836    }
6837
6838    fn as_any(&self) -> &dyn (::std::any::Any) {
6839        self as &dyn (::std::any::Any)
6840    }
6841    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
6842        self as &mut dyn (::std::any::Any)
6843    }
6844    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
6845        self
6846    }
6847
6848    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
6849        Self::descriptor_static()
6850    }
6851
6852    fn new() -> LircParams {
6853        LircParams::new()
6854    }
6855
6856    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
6857        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
6858        descriptor.get(|| {
6859            let mut fields = ::std::vec::Vec::new();
6860            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
6861                "device",
6862                |m: &LircParams| { &m.device },
6863                |m: &mut LircParams| { &mut m.device },
6864            ));
6865            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
6866                "command",
6867                |m: &LircParams| { &m.command },
6868                |m: &mut LircParams| { &mut m.command },
6869            ));
6870            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
6871                "config",
6872                |m: &LircParams| { &m.config },
6873                |m: &mut LircParams| { &mut m.config },
6874            ));
6875            ::protobuf::reflect::MessageDescriptor::new_pb_name::<LircParams>(
6876                "LircParams",
6877                fields,
6878                file_descriptor_proto()
6879            )
6880        })
6881    }
6882
6883    fn default_instance() -> &'static LircParams {
6884        static instance: ::protobuf::rt::LazyV2<LircParams> = ::protobuf::rt::LazyV2::INIT;
6885        instance.get(LircParams::new)
6886    }
6887}
6888
6889impl ::protobuf::Clear for LircParams {
6890    fn clear(&mut self) {
6891        self.device.clear();
6892        self.command.clear();
6893        self.config.clear();
6894        self.unknown_fields.clear();
6895    }
6896}
6897
6898impl ::std::fmt::Debug for LircParams {
6899    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6900        ::protobuf::text_format::fmt(self, f)
6901    }
6902}
6903
6904impl ::protobuf::reflect::ProtobufValue for LircParams {
6905    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
6906        ::protobuf::reflect::ReflectValueRef::Message(self)
6907    }
6908}
6909
6910static file_descriptor_proto_data: &'static [u8] = b"\
6911    \n\x1dmatrix_io/malos/v1/comm.proto\x12\x17matrix_io.malos.v1.comm\x1a'm\
6912    atrix_io/malos/v1/zwave_commands.proto\"\x8d*\n\tZigBeeMsg\x12F\n\x04typ\
6913    e\x18\x01\x20\x01(\x0e20.matrix_io.malos.v1.comm.ZigBeeMsg.ZigBeeCmdType\
6914    R\x04typeB\0\x12D\n\x07zcl_cmd\x18\x02\x20\x01(\x0b2).matrix_io.malos.v1\
6915    .comm.ZigBeeMsg.ZCLCmdR\x06zclCmdB\0\x12]\n\x10network_mgmt_cmd\x18\x03\
6916    \x20\x01(\x0b21.matrix_io.malos.v1.comm.ZigBeeMsg.NetworkMgmtCmdR\x0enet\
6917    workMgmtCmdB\0\x1a\xbc\x19\n\x06ZCLCmd\x12J\n\x04type\x18\x01\x20\x01(\
6918    \x0e24.matrix_io.malos.v1.comm.ZigBeeMsg.ZCLCmd.ZCLCmdTypeR\x04typeB\0\
6919    \x12Q\n\tonoff_cmd\x18\x02\x20\x01(\x0b22.matrix_io.malos.v1.comm.ZigBee\
6920    Msg.ZCLCmd.OnOffCmdR\x08onoffCmdB\0\x12Q\n\tlevel_cmd\x18\x03\x20\x01(\
6921    \x0b22.matrix_io.malos.v1.comm.ZigBeeMsg.ZCLCmd.LevelCmdR\x08levelCmdB\0\
6922    \x12f\n\x10colorcontrol_cmd\x18\x04\x20\x01(\x0b29.matrix_io.malos.v1.co\
6923    mm.ZigBeeMsg.ZCLCmd.ColorControlCmdR\x0fcolorcontrolCmdB\0\x12Z\n\x0cide\
6924    ntify_cmd\x18\x05\x20\x01(\x0b25.matrix_io.malos.v1.comm.ZigBeeMsg.ZCLCm\
6925    d.IdentifyCmdR\x0bidentifyCmdB\0\x12\x19\n\x07node_id\x18\x06\x20\x01(\r\
6926    R\x06nodeIdB\0\x12'\n\x0eendpoint_index\x18\x07\x20\x01(\rR\rendpointInd\
6927    exB\0\x1a\x98\x01\n\x08OnOffCmd\x12X\n\x04type\x18\x01\x20\x01(\x0e2B.ma\
6928    trix_io.malos.v1.comm.ZigBeeMsg.ZCLCmd.OnOffCmd.ZCLOnOffCmdTypeR\x04type\
6929    B\0\"0\n\x0fZCLOnOffCmdType\x12\x06\n\x02ON\x10\0\x12\x07\n\x03OFF\x10\
6930    \x01\x12\n\n\x06TOGGLE\x10\x02\x1a\0:\0\x1a\x95\x04\n\x08LevelCmd\x12X\n\
6931    \x04type\x18\x01\x20\x01(\x0e2B.matrix_io.malos.v1.comm.ZigBeeMsg.ZCLCmd\
6932    .LevelCmd.ZCLLevelCmdTypeR\x04typeB\0\x12z\n\x14move_to_level_params\x18\
6933    \x02\x20\x01(\x0b2G.matrix_io.malos.v1.comm.ZigBeeMsg.ZCLCmd.LevelCmd.Mo\
6934    veToLevelCmdParamsR\x11moveToLevelParamsB\0\x12c\n\x0bmove_params\x18\
6935    \x03\x20\x01(\x0b2@.matrix_io.malos.v1.comm.ZigBeeMsg.ZCLCmd.LevelCmd.Mo\
6936    veCmdParamsR\nmoveParamsB\0\x1a[\n\x14MoveToLevelCmdParams\x12\x16\n\x05\
6937    level\x18\x01\x20\x01(\rR\x05levelB\0\x12)\n\x0ftransition_time\x18\x02\
6938    \x20\x01(\rR\x0etransitionTimeB\0:\0\x1a=\n\rMoveCmdParams\x12\x14\n\x04\
6939    mode\x18\x01\x20\x01(\rR\x04modeB\0\x12\x14\n\x04rate\x18\x02\x20\x01(\r\
6940    R\x04rateB\0:\0\"0\n\x0fZCLLevelCmdType\x12\x11\n\rMOVE_TO_LEVEL\x10\0\
6941    \x12\x08\n\x04MOVE\x10\x01\x1a\0:\0\x1a\xf5\n\n\x0fColorControlCmd\x12f\
6942    \n\x04type\x18\x01\x20\x01(\x0e2P.matrix_io.malos.v1.comm.ZigBeeMsg.ZCLC\
6943    md.ColorControlCmd.ZCLColorControlCmdTypeR\x04typeB\0\x12y\n\x10movetohu\
6944    e_params\x18\x02\x20\x01(\x0b2L.matrix_io.malos.v1.comm.ZigBeeMsg.ZCLCmd\
6945    .ColorControlCmd.MoveToHueCmdParamsR\x0fmovetohueParamsB\0\x12y\n\x10mov\
6946    etosat_params\x18\x03\x20\x01(\x0b2L.matrix_io.malos.v1.comm.ZigBeeMsg.Z\
6947    CLCmd.ColorControlCmd.MoveToSatCmdParamsR\x0fmovetosatParamsB\0\x12\x8b\
6948    \x01\n\x16movetohueandsat_params\x18\x04\x20\x01(\x0b2R.matrix_io.malos.\
6949    v1.comm.ZigBeeMsg.ZCLCmd.ColorControlCmd.MoveToHueAndSatCmdParamsR\x15mo\
6950    vetohueandsatParamsB\0\x12\x8b\x01\n\x16movetocolortemp_params\x18\x05\
6951    \x20\x01(\x0b2R.matrix_io.malos.v1.comm.ZigBeeMsg.ZCLCmd.ColorControlCmd\
6952    .MoveToColorTempCmdParamsR\x15movetocolortempParamsB\0\x1a\xa5\x02\n\x12\
6953    MoveToHueCmdParams\x12\x12\n\x03hue\x18\x01\x20\x01(\rR\x03hueB\0\x12{\n\
6954    \tdirection\x18\x02\x20\x01(\x0e2[.matrix_io.malos.v1.comm.ZigBeeMsg.ZCL\
6955    Cmd.ColorControlCmd.MoveToHueCmdParams.DirectionParamR\tdirectionB\0\x12\
6956    )\n\x0ftransition_time\x18\x03\x20\x01(\rR\x0etransitionTimeB\0\"Q\n\x0e\
6957    DirectionParam\x12\x15\n\x11SHORTEST_DISTANCE\x10\0\x12\x14\n\x10LONGEST\
6958    _DISTANCE\x10\x01\x12\x06\n\x02UP\x10\x02\x12\x08\n\x04DOWN\x10\x03\x1a\
6959    \0:\0\x1ac\n\x12MoveToSatCmdParams\x12\x20\n\nsaturation\x18\x01\x20\x01\
6960    (\rR\nsaturationB\0\x12)\n\x0ftransition_time\x18\x02\x20\x01(\rR\x0etra\
6961    nsitionTimeB\0:\0\x1a}\n\x18MoveToHueAndSatCmdParams\x12\x12\n\x03hue\
6962    \x18\x01\x20\x01(\rR\x03hueB\0\x12\x20\n\nsaturation\x18\x02\x20\x01(\rR\
6963    \nsaturationB\0\x12)\n\x0ftransition_time\x18\x03\x20\x01(\rR\x0etransit\
6964    ionTimeB\0:\0\x1av\n\x18MoveToColorTempCmdParams\x12-\n\x11color_tempera\
6965    ture\x18\x01\x20\x01(\rR\x10colorTemperatureB\0\x12)\n\x0ftransition_tim\
6966    e\x18\x02\x20\x01(\rR\x0etransitionTimeB\0:\0\"b\n\x16ZCLColorControlCmd\
6967    Type\x12\r\n\tMOVETOHUE\x10\0\x12\r\n\tMOVETOSAT\x10\x01\x12\x13\n\x0fMO\
6968    VETOHUEANDSAT\x10\x02\x12\x13\n\x0fMOVETOCOLORTEMP\x10\x03\x1a\0:\0\x1a\
6969    \xc2\x04\n\x0bIdentifyCmd\x12^\n\x04type\x18\x01\x20\x01(\x0e2H.matrix_i\
6970    o.malos.v1.comm.ZigBeeMsg.ZCLCmd.IdentifyCmd.ZCLIdentifyCmdTypeR\x04type\
6971    B\0\x12y\n\x12identify_on_params\x18\x02\x20\x01(\x0b2I.matrix_io.malos.\
6972    v1.comm.ZigBeeMsg.ZCLCmd.IdentifyCmd.IdentifyOnCmdParamsR\x10identifyOnP\
6973    aramsB\0\x12|\n\x13identify_off_params\x18\x03\x20\x01(\x0b2J.matrix_io.\
6974    malos.v1.comm.ZigBeeMsg.ZCLCmd.IdentifyCmd.IdentifyOffCmdParamsR\x11iden\
6975    tifyOffParamsB\0\x1a\\\n\x13IdentifyOnCmdParams\x12\x1c\n\x08endpoint\
6976    \x18\x01\x20\x01(\rR\x08endpointB\0\x12%\n\ridentify_time\x18\x02\x20\
6977    \x01(\rR\x0cidentifyTimeB\0:\0\x1a?\n\x14IdentifyOffCmdParams\x12%\n\rid\
6978    entify_time\x18\x01\x20\x01(\rR\x0cidentifyTimeB\0:\0\"9\n\x12ZCLIdentif\
6979    yCmdType\x12\x0f\n\x0bIDENTIFY_ON\x10\0\x12\x10\n\x0cIDENTIFY_OFF\x10\
6980    \x01\x1a\0:\0\"F\n\nZCLCmdType\x12\n\n\x06ON_OFF\x10\0\x12\t\n\x05LEVEL\
6981    \x10\x01\x12\x11\n\rCOLOR_CONTROL\x10\x02\x12\x0c\n\x08IDENTIFY\x10\x03\
6982    \x1a\0:\0\x1a\xa3\x0e\n\x0eNetworkMgmtCmd\x12[\n\x04type\x18\x01\x20\x01\
6983    (\x0e2E.matrix_io.malos.v1.comm.ZigBeeMsg.NetworkMgmtCmd.NetworkMgmtCmdT\
6984    ypesR\x04typeB\0\x12r\n\x12permit_join_params\x18\x02\x20\x01(\x0b2B.mat\
6985    rix_io.malos.v1.comm.ZigBeeMsg.NetworkMgmtCmd.PermitJoinParamsR\x10permi\
6986    tJoinParamsB\0\x12(\n\x0fis_proxy_active\x18\x03\x20\x01(\x08R\risProxyA\
6987    ctiveB\0\x12r\n\x11node_leave_params\x18\x04\x20\x01(\x0b2D.matrix_io.ma\
6988    los.v1.comm.ZigBeeMsg.NetworkMgmtCmd.NodeLeaveNetParamsR\x0fnodeLeavePar\
6989    amsB\0\x12`\n\tnode_info\x18\x05\x20\x01(\x0b2A.matrix_io.malos.v1.comm.\
6990    ZigBeeMsg.NetworkMgmtCmd.NodeDescriptionR\x08nodeInfoB\0\x12l\n\x0fconne\
6991    cted_nodes\x18\x06\x20\x03(\x0b2A.matrix_io.malos.v1.comm.ZigBeeMsg.Netw\
6992    orkMgmtCmd.NodeDescriptionR\x0econnectedNodesB\0\x12h\n\x0enetwork_statu\
6993    s\x18\x07\x20\x01(\x0b2?.matrix_io.malos.v1.comm.ZigBeeMsg.NetworkMgmtCm\
6994    d.NetworkStatusR\rnetworkStatusB\0\x1a*\n\x10PermitJoinParams\x12\x14\n\
6995    \x04time\x18\x01\x20\x01(\rR\x04timeB\0:\0\x1a1\n\x12NodeLeaveNetParams\
6996    \x12\x19\n\x07node_id\x18\x01\x20\x01(\rR\x06nodeIdB\0:\0\x1a\xd9\x01\n\
6997    \x12ClusterDescription\x12k\n\x04type\x18\x01\x20\x01(\x0e2U.matrix_io.m\
6998    alos.v1.comm.ZigBeeMsg.NetworkMgmtCmd.ClusterDescription.ClusterInOutTyp\
6999    eR\x04typeB\0\x12\x1f\n\ncluster_id\x18\x02\x20\x01(\rR\tclusterIdB\0\"3\
7000    \n\x10ClusterInOutType\x12\r\n\tSERVER_IN\x10\0\x12\x0e\n\nCLIENT_OUT\
7001    \x10\x01\x1a\0:\0\x1a\xe4\x01\n\x13EndPointDescription\x12'\n\x0eendpoin\
7002    t_index\x18\x01\x20\x01(\rR\rendpointIndexB\0\x12\x1f\n\nprofile_id\x18\
7003    \x02\x20\x01(\rR\tprofileIdB\0\x12\x1d\n\tdevice_id\x18\x03\x20\x01(\rR\
7004    \x08deviceIdB\0\x12b\n\x08clusters\x18\x04\x20\x03(\x0b2D.matrix_io.malo\
7005    s.v1.comm.ZigBeeMsg.NetworkMgmtCmd.ClusterDescriptionR\x08clustersB\0:\0\
7006    \x1a\xad\x01\n\x0fNodeDescription\x12\x19\n\x07node_id\x18\x01\x20\x01(\
7007    \rR\x06nodeIdB\0\x12\x16\n\x05eui64\x18\x02\x20\x01(\x04R\x05eui64B\0\
7008    \x12e\n\tendpoints\x18\x03\x20\x03(\x0b2E.matrix_io.malos.v1.comm.ZigBee\
7009    Msg.NetworkMgmtCmd.EndPointDescriptionR\tendpointsB\0:\0\x1a\xe7\x01\n\r\
7010    NetworkStatus\x12\\\n\x04type\x18\x01\x20\x01(\x0e2F.matrix_io.malos.v1.\
7011    comm.ZigBeeMsg.NetworkMgmtCmd.NetworkStatus.StatusR\x04typeB\0\"v\n\x06S\
7012    tatus\x12\x0e\n\nNO_NETWORK\x10\0\x12\x13\n\x0fJOINING_NETWORK\x10\x01\
7013    \x12\x12\n\x0eJOINED_NETWORK\x10\x02\x12\x1c\n\x18JOINED_NETWORK_NO_PARE\
7014    NT\x10\x03\x12\x13\n\x0fLEAVING_NETWORK\x10\x04\x1a\0:\0\"\xa9\x01\n\x13\
7015    NetworkMgmtCmdTypes\x12\x0e\n\nCREATE_NWK\x10\0\x12\r\n\tLEAVE_NWK\x10\
7016    \x01\x12\x12\n\x0eNODE_LEAVE_NWK\x10\x02\x12\x0f\n\x0bPERMIT_JOIN\x10\
7017    \x03\x12\x12\n\x0eDISCOVERY_INFO\x10\x04\x12\x0f\n\x0bRESET_PROXY\x10\
7018    \x05\x12\x13\n\x0fIS_PROXY_ACTIVE\x10\x06\x12\x12\n\x0eNETWORK_STATUS\
7019    \x10\x07\x1a\0:\0\",\n\rZigBeeCmdType\x12\x07\n\x03ZCL\x10\0\x12\x10\n\
7020    \x0cNETWORK_MGMT\x10\x01\x1a\0:\0\"\xe7\x07\n\x08ZWaveMsg\x12Q\n\toperat\
7021    ion\x18\x01\x20\x01(\x0e21.matrix_io.malos.v1.comm.ZWaveMsg.ZWaveOperati\
7022    onsR\toperationB\0\x12(\n\x0fservice_to_send\x18\x02\x20\x01(\tR\rservic\
7023    eToSendB\0\x12M\n\tzwave_cmd\x18\x03\x20\x01(\x0b2..matrix_io.malos.v1.c\
7024    omm.ZWaveMsg.ZWaveCommandR\x08zwaveCmdB\0\x12A\n\x04node\x18\x04\x20\x03\
7025    (\x0b2+.matrix_io.malos.v1.comm.ZWaveMsg.ZWaveNodeR\x04nodeB\0\x12\x18\n\
7026    \x06result\x18\x05\x20\x01(\x08R\x06resultB\0\x1ag\n\x10ZWaveCommandInfo\
7027    \x129\n\x03cmd\x18\x01\x20\x01(\x0e2%.matrix_io.malos.v1.comm.ZWaveCmdTy\
7028    peR\x03cmdB\0\x12\x16\n\x05param\x18\x02\x20\x03(\tR\x05paramB\0:\0\x1a\
7029    \xae\x01\n\x0eZWaveClassInfo\x12J\n\x0bzwave_class\x18\x01\x20\x01(\x0e2\
7030    '.matrix_io.malos.v1.comm.ZWaveClassTypeR\nzwaveClassB\0\x12N\n\x07comma\
7031    nd\x18\x02\x20\x03(\x0b22.matrix_io.malos.v1.comm.ZWaveMsg.ZWaveCommandI\
7032    nfoR\x07commandB\0:\0\x1a\x87\x01\n\tZWaveNode\x12#\n\x0cservice_name\
7033    \x18\x01\x20\x01(\tR\x0bserviceNameB\0\x12S\n\x0bzwave_class\x18\x02\x20\
7034    \x03(\x0b20.matrix_io.malos.v1.comm.ZWaveMsg.ZWaveClassInfoR\nzwaveClass\
7035    B\0:\0\x1a\xaa\x01\n\x0cZWaveCommand\x12C\n\x07zwclass\x18\x01\x20\x01(\
7036    \x0e2'.matrix_io.malos.v1.comm.ZWaveClassTypeR\x07zwclassB\0\x129\n\x03c\
7037    md\x18\x02\x20\x01(\x0e2%.matrix_io.malos.v1.comm.ZWaveCmdTypeR\x03cmdB\
7038    \0\x12\x18\n\x06params\x18\x03\x20\x01(\x0cR\x06paramsB\0:\0\"_\n\x0fZWa\
7039    veOperations\x12\t\n\x05UNDEF\x10\0\x12\x08\n\x04SEND\x10\x01\x12\x0b\n\
7040    \x07ADDNODE\x10\x02\x12\x0e\n\nREMOVENODE\x10\x03\x12\x0e\n\nSETDEFAULT\
7041    \x10\x04\x12\x08\n\x04LIST\x10\x05\x1a\0:\0\"^\n\nLircParams\x12\x18\n\
7042    \x06device\x18\x01\x20\x01(\tR\x06deviceB\0\x12\x1a\n\x07command\x18\x02\
7043    \x20\x01(\tR\x07commandB\0\x12\x18\n\x06config\x18\x03\x20\x01(\tR\x06co\
7044    nfigB\0:\0B\0b\x06proto3\
7045";
7046
7047static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;
7048
7049fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
7050    ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
7051}
7052
7053pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
7054    file_descriptor_proto_lazy.get(|| {
7055        parse_descriptor_proto()
7056    })
7057}