steam_vent_proto_steam/generated/
steammessages_virtualcontroller.rs

1// This file is generated by rust-protobuf 3.5.1. Do not edit
2// .proto file is parsed by pure
3// @generated
4
5// https://github.com/rust-lang/rust-clippy/issues/702
6#![allow(unknown_lints)]
7#![allow(clippy::all)]
8
9#![allow(unused_attributes)]
10#![cfg_attr(rustfmt, rustfmt::skip)]
11
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_results)]
19#![allow(unused_mut)]
20
21//! Generated file from `steammessages_virtualcontroller.proto`
22// Generated for lite runtime
23
24/// Generated files are compatible only with the same version
25/// of protobuf runtime.
26const _PROTOBUF_VERSION_CHECK: () = ::steam_vent_proto_common::protobuf::VERSION_3_5_1;
27
28// @@protoc_insertion_point(message:CVirtualControllerElement)
29#[derive(PartialEq,Clone,Default,Debug)]
30pub struct CVirtualControllerElement {
31    // message fields
32    // @@protoc_insertion_point(field:CVirtualControllerElement.type)
33    pub type_: ::std::option::Option<::steam_vent_proto_common::protobuf::EnumOrUnknown<EControllerElementType>>,
34    // @@protoc_insertion_point(field:CVirtualControllerElement.visible)
35    pub visible: ::std::option::Option<bool>,
36    // @@protoc_insertion_point(field:CVirtualControllerElement.x_position)
37    pub x_position: ::std::option::Option<f32>,
38    // @@protoc_insertion_point(field:CVirtualControllerElement.y_position)
39    pub y_position: ::std::option::Option<f32>,
40    // @@protoc_insertion_point(field:CVirtualControllerElement.x_scale)
41    pub x_scale: ::std::option::Option<f32>,
42    // @@protoc_insertion_point(field:CVirtualControllerElement.y_scale)
43    pub y_scale: ::std::option::Option<f32>,
44    // special fields
45    // @@protoc_insertion_point(special_field:CVirtualControllerElement.special_fields)
46    pub special_fields: ::steam_vent_proto_common::protobuf::SpecialFields,
47}
48
49impl<'a> ::std::default::Default for &'a CVirtualControllerElement {
50    fn default() -> &'a CVirtualControllerElement {
51        <CVirtualControllerElement as ::steam_vent_proto_common::protobuf::Message>::default_instance()
52    }
53}
54
55impl CVirtualControllerElement {
56    pub fn new() -> CVirtualControllerElement {
57        ::std::default::Default::default()
58    }
59
60    // optional .EControllerElementType type = 1;
61
62    pub fn type_(&self) -> EControllerElementType {
63        match self.type_ {
64            Some(e) => e.enum_value_or(EControllerElementType::k_EControllerElementTypeNone),
65            None => EControllerElementType::k_EControllerElementTypeNone,
66        }
67    }
68
69    pub fn clear_type_(&mut self) {
70        self.type_ = ::std::option::Option::None;
71    }
72
73    pub fn has_type(&self) -> bool {
74        self.type_.is_some()
75    }
76
77    // Param is passed by value, moved
78    pub fn set_type(&mut self, v: EControllerElementType) {
79        self.type_ = ::std::option::Option::Some(::steam_vent_proto_common::protobuf::EnumOrUnknown::new(v));
80    }
81
82    // optional bool visible = 2;
83
84    pub fn visible(&self) -> bool {
85        self.visible.unwrap_or(false)
86    }
87
88    pub fn clear_visible(&mut self) {
89        self.visible = ::std::option::Option::None;
90    }
91
92    pub fn has_visible(&self) -> bool {
93        self.visible.is_some()
94    }
95
96    // Param is passed by value, moved
97    pub fn set_visible(&mut self, v: bool) {
98        self.visible = ::std::option::Option::Some(v);
99    }
100
101    // optional float x_position = 3;
102
103    pub fn x_position(&self) -> f32 {
104        self.x_position.unwrap_or(0.)
105    }
106
107    pub fn clear_x_position(&mut self) {
108        self.x_position = ::std::option::Option::None;
109    }
110
111    pub fn has_x_position(&self) -> bool {
112        self.x_position.is_some()
113    }
114
115    // Param is passed by value, moved
116    pub fn set_x_position(&mut self, v: f32) {
117        self.x_position = ::std::option::Option::Some(v);
118    }
119
120    // optional float y_position = 4;
121
122    pub fn y_position(&self) -> f32 {
123        self.y_position.unwrap_or(0.)
124    }
125
126    pub fn clear_y_position(&mut self) {
127        self.y_position = ::std::option::Option::None;
128    }
129
130    pub fn has_y_position(&self) -> bool {
131        self.y_position.is_some()
132    }
133
134    // Param is passed by value, moved
135    pub fn set_y_position(&mut self, v: f32) {
136        self.y_position = ::std::option::Option::Some(v);
137    }
138
139    // optional float x_scale = 5;
140
141    pub fn x_scale(&self) -> f32 {
142        self.x_scale.unwrap_or(1.0f32)
143    }
144
145    pub fn clear_x_scale(&mut self) {
146        self.x_scale = ::std::option::Option::None;
147    }
148
149    pub fn has_x_scale(&self) -> bool {
150        self.x_scale.is_some()
151    }
152
153    // Param is passed by value, moved
154    pub fn set_x_scale(&mut self, v: f32) {
155        self.x_scale = ::std::option::Option::Some(v);
156    }
157
158    // optional float y_scale = 6;
159
160    pub fn y_scale(&self) -> f32 {
161        self.y_scale.unwrap_or(1.0f32)
162    }
163
164    pub fn clear_y_scale(&mut self) {
165        self.y_scale = ::std::option::Option::None;
166    }
167
168    pub fn has_y_scale(&self) -> bool {
169        self.y_scale.is_some()
170    }
171
172    // Param is passed by value, moved
173    pub fn set_y_scale(&mut self, v: f32) {
174        self.y_scale = ::std::option::Option::Some(v);
175    }
176}
177
178impl ::steam_vent_proto_common::protobuf::Message for CVirtualControllerElement {
179    const NAME: &'static str = "CVirtualControllerElement";
180
181    fn is_initialized(&self) -> bool {
182        true
183    }
184
185    fn merge_from(&mut self, is: &mut ::steam_vent_proto_common::protobuf::CodedInputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
186        while let Some(tag) = is.read_raw_tag_or_eof()? {
187            match tag {
188                8 => {
189                    self.type_ = ::std::option::Option::Some(is.read_enum_or_unknown()?);
190                },
191                16 => {
192                    self.visible = ::std::option::Option::Some(is.read_bool()?);
193                },
194                29 => {
195                    self.x_position = ::std::option::Option::Some(is.read_float()?);
196                },
197                37 => {
198                    self.y_position = ::std::option::Option::Some(is.read_float()?);
199                },
200                45 => {
201                    self.x_scale = ::std::option::Option::Some(is.read_float()?);
202                },
203                53 => {
204                    self.y_scale = ::std::option::Option::Some(is.read_float()?);
205                },
206                tag => {
207                    ::steam_vent_proto_common::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
208                },
209            };
210        }
211        ::std::result::Result::Ok(())
212    }
213
214    // Compute sizes of nested messages
215    #[allow(unused_variables)]
216    fn compute_size(&self) -> u64 {
217        let mut my_size = 0;
218        if let Some(v) = self.type_ {
219            my_size += ::steam_vent_proto_common::protobuf::rt::int32_size(1, v.value());
220        }
221        if let Some(v) = self.visible {
222            my_size += 1 + 1;
223        }
224        if let Some(v) = self.x_position {
225            my_size += 1 + 4;
226        }
227        if let Some(v) = self.y_position {
228            my_size += 1 + 4;
229        }
230        if let Some(v) = self.x_scale {
231            my_size += 1 + 4;
232        }
233        if let Some(v) = self.y_scale {
234            my_size += 1 + 4;
235        }
236        my_size += ::steam_vent_proto_common::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
237        self.special_fields.cached_size().set(my_size as u32);
238        my_size
239    }
240
241    fn write_to_with_cached_sizes(&self, os: &mut ::steam_vent_proto_common::protobuf::CodedOutputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
242        if let Some(v) = self.type_ {
243            os.write_enum(1, ::steam_vent_proto_common::protobuf::EnumOrUnknown::value(&v))?;
244        }
245        if let Some(v) = self.visible {
246            os.write_bool(2, v)?;
247        }
248        if let Some(v) = self.x_position {
249            os.write_float(3, v)?;
250        }
251        if let Some(v) = self.y_position {
252            os.write_float(4, v)?;
253        }
254        if let Some(v) = self.x_scale {
255            os.write_float(5, v)?;
256        }
257        if let Some(v) = self.y_scale {
258            os.write_float(6, v)?;
259        }
260        os.write_unknown_fields(self.special_fields.unknown_fields())?;
261        ::std::result::Result::Ok(())
262    }
263
264    fn special_fields(&self) -> &::steam_vent_proto_common::protobuf::SpecialFields {
265        &self.special_fields
266    }
267
268    fn mut_special_fields(&mut self) -> &mut ::steam_vent_proto_common::protobuf::SpecialFields {
269        &mut self.special_fields
270    }
271
272    fn new() -> CVirtualControllerElement {
273        CVirtualControllerElement::new()
274    }
275
276    fn clear(&mut self) {
277        self.type_ = ::std::option::Option::None;
278        self.visible = ::std::option::Option::None;
279        self.x_position = ::std::option::Option::None;
280        self.y_position = ::std::option::Option::None;
281        self.x_scale = ::std::option::Option::None;
282        self.y_scale = ::std::option::Option::None;
283        self.special_fields.clear();
284    }
285
286    fn default_instance() -> &'static CVirtualControllerElement {
287        static instance: CVirtualControllerElement = CVirtualControllerElement {
288            type_: ::std::option::Option::None,
289            visible: ::std::option::Option::None,
290            x_position: ::std::option::Option::None,
291            y_position: ::std::option::Option::None,
292            x_scale: ::std::option::Option::None,
293            y_scale: ::std::option::Option::None,
294            special_fields: ::steam_vent_proto_common::protobuf::SpecialFields::new(),
295        };
296        &instance
297    }
298}
299
300// @@protoc_insertion_point(message:CVirtualControllerColor)
301#[derive(PartialEq,Clone,Default,Debug)]
302pub struct CVirtualControllerColor {
303    // message fields
304    // @@protoc_insertion_point(field:CVirtualControllerColor.r)
305    pub r: ::std::option::Option<f32>,
306    // @@protoc_insertion_point(field:CVirtualControllerColor.g)
307    pub g: ::std::option::Option<f32>,
308    // @@protoc_insertion_point(field:CVirtualControllerColor.b)
309    pub b: ::std::option::Option<f32>,
310    // @@protoc_insertion_point(field:CVirtualControllerColor.a)
311    pub a: ::std::option::Option<f32>,
312    // special fields
313    // @@protoc_insertion_point(special_field:CVirtualControllerColor.special_fields)
314    pub special_fields: ::steam_vent_proto_common::protobuf::SpecialFields,
315}
316
317impl<'a> ::std::default::Default for &'a CVirtualControllerColor {
318    fn default() -> &'a CVirtualControllerColor {
319        <CVirtualControllerColor as ::steam_vent_proto_common::protobuf::Message>::default_instance()
320    }
321}
322
323impl CVirtualControllerColor {
324    pub fn new() -> CVirtualControllerColor {
325        ::std::default::Default::default()
326    }
327
328    // optional float r = 1;
329
330    pub fn r(&self) -> f32 {
331        self.r.unwrap_or(1.0f32)
332    }
333
334    pub fn clear_r(&mut self) {
335        self.r = ::std::option::Option::None;
336    }
337
338    pub fn has_r(&self) -> bool {
339        self.r.is_some()
340    }
341
342    // Param is passed by value, moved
343    pub fn set_r(&mut self, v: f32) {
344        self.r = ::std::option::Option::Some(v);
345    }
346
347    // optional float g = 2;
348
349    pub fn g(&self) -> f32 {
350        self.g.unwrap_or(1.0f32)
351    }
352
353    pub fn clear_g(&mut self) {
354        self.g = ::std::option::Option::None;
355    }
356
357    pub fn has_g(&self) -> bool {
358        self.g.is_some()
359    }
360
361    // Param is passed by value, moved
362    pub fn set_g(&mut self, v: f32) {
363        self.g = ::std::option::Option::Some(v);
364    }
365
366    // optional float b = 3;
367
368    pub fn b(&self) -> f32 {
369        self.b.unwrap_or(1.0f32)
370    }
371
372    pub fn clear_b(&mut self) {
373        self.b = ::std::option::Option::None;
374    }
375
376    pub fn has_b(&self) -> bool {
377        self.b.is_some()
378    }
379
380    // Param is passed by value, moved
381    pub fn set_b(&mut self, v: f32) {
382        self.b = ::std::option::Option::Some(v);
383    }
384
385    // optional float a = 4;
386
387    pub fn a(&self) -> f32 {
388        self.a.unwrap_or(1.0f32)
389    }
390
391    pub fn clear_a(&mut self) {
392        self.a = ::std::option::Option::None;
393    }
394
395    pub fn has_a(&self) -> bool {
396        self.a.is_some()
397    }
398
399    // Param is passed by value, moved
400    pub fn set_a(&mut self, v: f32) {
401        self.a = ::std::option::Option::Some(v);
402    }
403}
404
405impl ::steam_vent_proto_common::protobuf::Message for CVirtualControllerColor {
406    const NAME: &'static str = "CVirtualControllerColor";
407
408    fn is_initialized(&self) -> bool {
409        true
410    }
411
412    fn merge_from(&mut self, is: &mut ::steam_vent_proto_common::protobuf::CodedInputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
413        while let Some(tag) = is.read_raw_tag_or_eof()? {
414            match tag {
415                13 => {
416                    self.r = ::std::option::Option::Some(is.read_float()?);
417                },
418                21 => {
419                    self.g = ::std::option::Option::Some(is.read_float()?);
420                },
421                29 => {
422                    self.b = ::std::option::Option::Some(is.read_float()?);
423                },
424                37 => {
425                    self.a = ::std::option::Option::Some(is.read_float()?);
426                },
427                tag => {
428                    ::steam_vent_proto_common::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
429                },
430            };
431        }
432        ::std::result::Result::Ok(())
433    }
434
435    // Compute sizes of nested messages
436    #[allow(unused_variables)]
437    fn compute_size(&self) -> u64 {
438        let mut my_size = 0;
439        if let Some(v) = self.r {
440            my_size += 1 + 4;
441        }
442        if let Some(v) = self.g {
443            my_size += 1 + 4;
444        }
445        if let Some(v) = self.b {
446            my_size += 1 + 4;
447        }
448        if let Some(v) = self.a {
449            my_size += 1 + 4;
450        }
451        my_size += ::steam_vent_proto_common::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
452        self.special_fields.cached_size().set(my_size as u32);
453        my_size
454    }
455
456    fn write_to_with_cached_sizes(&self, os: &mut ::steam_vent_proto_common::protobuf::CodedOutputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
457        if let Some(v) = self.r {
458            os.write_float(1, v)?;
459        }
460        if let Some(v) = self.g {
461            os.write_float(2, v)?;
462        }
463        if let Some(v) = self.b {
464            os.write_float(3, v)?;
465        }
466        if let Some(v) = self.a {
467            os.write_float(4, v)?;
468        }
469        os.write_unknown_fields(self.special_fields.unknown_fields())?;
470        ::std::result::Result::Ok(())
471    }
472
473    fn special_fields(&self) -> &::steam_vent_proto_common::protobuf::SpecialFields {
474        &self.special_fields
475    }
476
477    fn mut_special_fields(&mut self) -> &mut ::steam_vent_proto_common::protobuf::SpecialFields {
478        &mut self.special_fields
479    }
480
481    fn new() -> CVirtualControllerColor {
482        CVirtualControllerColor::new()
483    }
484
485    fn clear(&mut self) {
486        self.r = ::std::option::Option::None;
487        self.g = ::std::option::Option::None;
488        self.b = ::std::option::Option::None;
489        self.a = ::std::option::Option::None;
490        self.special_fields.clear();
491    }
492
493    fn default_instance() -> &'static CVirtualControllerColor {
494        static instance: CVirtualControllerColor = CVirtualControllerColor {
495            r: ::std::option::Option::None,
496            g: ::std::option::Option::None,
497            b: ::std::option::Option::None,
498            a: ::std::option::Option::None,
499            special_fields: ::steam_vent_proto_common::protobuf::SpecialFields::new(),
500        };
501        &instance
502    }
503}
504
505// @@protoc_insertion_point(message:CVirtualControllerLayout)
506#[derive(PartialEq,Clone,Default,Debug)]
507pub struct CVirtualControllerLayout {
508    // message fields
509    // @@protoc_insertion_point(field:CVirtualControllerLayout.layout_version)
510    pub layout_version: ::std::option::Option<i32>,
511    // @@protoc_insertion_point(field:CVirtualControllerLayout.actionset_id)
512    pub actionset_id: ::std::option::Option<i32>,
513    // @@protoc_insertion_point(field:CVirtualControllerLayout.elements)
514    pub elements: ::std::vec::Vec<CVirtualControllerElement>,
515    // @@protoc_insertion_point(field:CVirtualControllerLayout.color)
516    pub color: ::steam_vent_proto_common::protobuf::MessageField<CVirtualControllerColor>,
517    // special fields
518    // @@protoc_insertion_point(special_field:CVirtualControllerLayout.special_fields)
519    pub special_fields: ::steam_vent_proto_common::protobuf::SpecialFields,
520}
521
522impl<'a> ::std::default::Default for &'a CVirtualControllerLayout {
523    fn default() -> &'a CVirtualControllerLayout {
524        <CVirtualControllerLayout as ::steam_vent_proto_common::protobuf::Message>::default_instance()
525    }
526}
527
528impl CVirtualControllerLayout {
529    pub fn new() -> CVirtualControllerLayout {
530        ::std::default::Default::default()
531    }
532
533    // optional int32 layout_version = 1;
534
535    pub fn layout_version(&self) -> i32 {
536        self.layout_version.unwrap_or(0)
537    }
538
539    pub fn clear_layout_version(&mut self) {
540        self.layout_version = ::std::option::Option::None;
541    }
542
543    pub fn has_layout_version(&self) -> bool {
544        self.layout_version.is_some()
545    }
546
547    // Param is passed by value, moved
548    pub fn set_layout_version(&mut self, v: i32) {
549        self.layout_version = ::std::option::Option::Some(v);
550    }
551
552    // optional int32 actionset_id = 2;
553
554    pub fn actionset_id(&self) -> i32 {
555        self.actionset_id.unwrap_or(0)
556    }
557
558    pub fn clear_actionset_id(&mut self) {
559        self.actionset_id = ::std::option::Option::None;
560    }
561
562    pub fn has_actionset_id(&self) -> bool {
563        self.actionset_id.is_some()
564    }
565
566    // Param is passed by value, moved
567    pub fn set_actionset_id(&mut self, v: i32) {
568        self.actionset_id = ::std::option::Option::Some(v);
569    }
570}
571
572impl ::steam_vent_proto_common::protobuf::Message for CVirtualControllerLayout {
573    const NAME: &'static str = "CVirtualControllerLayout";
574
575    fn is_initialized(&self) -> bool {
576        true
577    }
578
579    fn merge_from(&mut self, is: &mut ::steam_vent_proto_common::protobuf::CodedInputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
580        while let Some(tag) = is.read_raw_tag_or_eof()? {
581            match tag {
582                8 => {
583                    self.layout_version = ::std::option::Option::Some(is.read_int32()?);
584                },
585                16 => {
586                    self.actionset_id = ::std::option::Option::Some(is.read_int32()?);
587                },
588                34 => {
589                    self.elements.push(is.read_message()?);
590                },
591                42 => {
592                    ::steam_vent_proto_common::protobuf::rt::read_singular_message_into_field(is, &mut self.color)?;
593                },
594                tag => {
595                    ::steam_vent_proto_common::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
596                },
597            };
598        }
599        ::std::result::Result::Ok(())
600    }
601
602    // Compute sizes of nested messages
603    #[allow(unused_variables)]
604    fn compute_size(&self) -> u64 {
605        let mut my_size = 0;
606        if let Some(v) = self.layout_version {
607            my_size += ::steam_vent_proto_common::protobuf::rt::int32_size(1, v);
608        }
609        if let Some(v) = self.actionset_id {
610            my_size += ::steam_vent_proto_common::protobuf::rt::int32_size(2, v);
611        }
612        for value in &self.elements {
613            let len = value.compute_size();
614            my_size += 1 + ::steam_vent_proto_common::protobuf::rt::compute_raw_varint64_size(len) + len;
615        };
616        if let Some(v) = self.color.as_ref() {
617            let len = v.compute_size();
618            my_size += 1 + ::steam_vent_proto_common::protobuf::rt::compute_raw_varint64_size(len) + len;
619        }
620        my_size += ::steam_vent_proto_common::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
621        self.special_fields.cached_size().set(my_size as u32);
622        my_size
623    }
624
625    fn write_to_with_cached_sizes(&self, os: &mut ::steam_vent_proto_common::protobuf::CodedOutputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
626        if let Some(v) = self.layout_version {
627            os.write_int32(1, v)?;
628        }
629        if let Some(v) = self.actionset_id {
630            os.write_int32(2, v)?;
631        }
632        for v in &self.elements {
633            ::steam_vent_proto_common::protobuf::rt::write_message_field_with_cached_size(4, v, os)?;
634        };
635        if let Some(v) = self.color.as_ref() {
636            ::steam_vent_proto_common::protobuf::rt::write_message_field_with_cached_size(5, v, os)?;
637        }
638        os.write_unknown_fields(self.special_fields.unknown_fields())?;
639        ::std::result::Result::Ok(())
640    }
641
642    fn special_fields(&self) -> &::steam_vent_proto_common::protobuf::SpecialFields {
643        &self.special_fields
644    }
645
646    fn mut_special_fields(&mut self) -> &mut ::steam_vent_proto_common::protobuf::SpecialFields {
647        &mut self.special_fields
648    }
649
650    fn new() -> CVirtualControllerLayout {
651        CVirtualControllerLayout::new()
652    }
653
654    fn clear(&mut self) {
655        self.layout_version = ::std::option::Option::None;
656        self.actionset_id = ::std::option::Option::None;
657        self.elements.clear();
658        self.color.clear();
659        self.special_fields.clear();
660    }
661
662    fn default_instance() -> &'static CVirtualControllerLayout {
663        static instance: CVirtualControllerLayout = CVirtualControllerLayout {
664            layout_version: ::std::option::Option::None,
665            actionset_id: ::std::option::Option::None,
666            elements: ::std::vec::Vec::new(),
667            color: ::steam_vent_proto_common::protobuf::MessageField::none(),
668            special_fields: ::steam_vent_proto_common::protobuf::SpecialFields::new(),
669        };
670        &instance
671    }
672}
673
674// @@protoc_insertion_point(message:CVirtualControllerLayouts)
675#[derive(PartialEq,Clone,Default,Debug)]
676pub struct CVirtualControllerLayouts {
677    // message fields
678    // @@protoc_insertion_point(field:CVirtualControllerLayouts.layouts)
679    pub layouts: ::std::vec::Vec<CVirtualControllerLayout>,
680    // @@protoc_insertion_point(field:CVirtualControllerLayouts.input_mode)
681    pub input_mode: ::std::option::Option<::steam_vent_proto_common::protobuf::EnumOrUnknown<EInputMode>>,
682    // @@protoc_insertion_point(field:CVirtualControllerLayouts.mouse_mode)
683    pub mouse_mode: ::std::option::Option<::steam_vent_proto_common::protobuf::EnumOrUnknown<EMouseMode>>,
684    // @@protoc_insertion_point(field:CVirtualControllerLayouts.trackpad_sensitivity)
685    pub trackpad_sensitivity: ::std::option::Option<f32>,
686    // @@protoc_insertion_point(field:CVirtualControllerLayouts.pinch_zoom_enabled)
687    pub pinch_zoom_enabled: ::std::option::Option<bool>,
688    // @@protoc_insertion_point(field:CVirtualControllerLayouts.pinch_zoom_x)
689    pub pinch_zoom_x: ::std::option::Option<f32>,
690    // @@protoc_insertion_point(field:CVirtualControllerLayouts.pinch_zoom_y)
691    pub pinch_zoom_y: ::std::option::Option<f32>,
692    // @@protoc_insertion_point(field:CVirtualControllerLayouts.pinch_zoom_scale)
693    pub pinch_zoom_scale: ::std::option::Option<f32>,
694    // @@protoc_insertion_point(field:CVirtualControllerLayouts.shaken)
695    pub shaken: ::std::option::Option<bool>,
696    // @@protoc_insertion_point(field:CVirtualControllerLayouts.mouse_offscreen)
697    pub mouse_offscreen: ::std::option::Option<bool>,
698    // special fields
699    // @@protoc_insertion_point(special_field:CVirtualControllerLayouts.special_fields)
700    pub special_fields: ::steam_vent_proto_common::protobuf::SpecialFields,
701}
702
703impl<'a> ::std::default::Default for &'a CVirtualControllerLayouts {
704    fn default() -> &'a CVirtualControllerLayouts {
705        <CVirtualControllerLayouts as ::steam_vent_proto_common::protobuf::Message>::default_instance()
706    }
707}
708
709impl CVirtualControllerLayouts {
710    pub fn new() -> CVirtualControllerLayouts {
711        ::std::default::Default::default()
712    }
713
714    // optional .EInputMode input_mode = 2;
715
716    pub fn input_mode(&self) -> EInputMode {
717        match self.input_mode {
718            Some(e) => e.enum_value_or(EInputMode::k_EInputModeController),
719            None => EInputMode::k_EInputModeController,
720        }
721    }
722
723    pub fn clear_input_mode(&mut self) {
724        self.input_mode = ::std::option::Option::None;
725    }
726
727    pub fn has_input_mode(&self) -> bool {
728        self.input_mode.is_some()
729    }
730
731    // Param is passed by value, moved
732    pub fn set_input_mode(&mut self, v: EInputMode) {
733        self.input_mode = ::std::option::Option::Some(::steam_vent_proto_common::protobuf::EnumOrUnknown::new(v));
734    }
735
736    // optional .EMouseMode mouse_mode = 3;
737
738    pub fn mouse_mode(&self) -> EMouseMode {
739        match self.mouse_mode {
740            Some(e) => e.enum_value_or(EMouseMode::k_EMouseModeUnknown),
741            None => EMouseMode::k_EMouseModeUnknown,
742        }
743    }
744
745    pub fn clear_mouse_mode(&mut self) {
746        self.mouse_mode = ::std::option::Option::None;
747    }
748
749    pub fn has_mouse_mode(&self) -> bool {
750        self.mouse_mode.is_some()
751    }
752
753    // Param is passed by value, moved
754    pub fn set_mouse_mode(&mut self, v: EMouseMode) {
755        self.mouse_mode = ::std::option::Option::Some(::steam_vent_proto_common::protobuf::EnumOrUnknown::new(v));
756    }
757
758    // optional float trackpad_sensitivity = 4;
759
760    pub fn trackpad_sensitivity(&self) -> f32 {
761        self.trackpad_sensitivity.unwrap_or(1.0f32)
762    }
763
764    pub fn clear_trackpad_sensitivity(&mut self) {
765        self.trackpad_sensitivity = ::std::option::Option::None;
766    }
767
768    pub fn has_trackpad_sensitivity(&self) -> bool {
769        self.trackpad_sensitivity.is_some()
770    }
771
772    // Param is passed by value, moved
773    pub fn set_trackpad_sensitivity(&mut self, v: f32) {
774        self.trackpad_sensitivity = ::std::option::Option::Some(v);
775    }
776
777    // optional bool pinch_zoom_enabled = 5;
778
779    pub fn pinch_zoom_enabled(&self) -> bool {
780        self.pinch_zoom_enabled.unwrap_or(false)
781    }
782
783    pub fn clear_pinch_zoom_enabled(&mut self) {
784        self.pinch_zoom_enabled = ::std::option::Option::None;
785    }
786
787    pub fn has_pinch_zoom_enabled(&self) -> bool {
788        self.pinch_zoom_enabled.is_some()
789    }
790
791    // Param is passed by value, moved
792    pub fn set_pinch_zoom_enabled(&mut self, v: bool) {
793        self.pinch_zoom_enabled = ::std::option::Option::Some(v);
794    }
795
796    // optional float pinch_zoom_x = 6;
797
798    pub fn pinch_zoom_x(&self) -> f32 {
799        self.pinch_zoom_x.unwrap_or(0.0f32)
800    }
801
802    pub fn clear_pinch_zoom_x(&mut self) {
803        self.pinch_zoom_x = ::std::option::Option::None;
804    }
805
806    pub fn has_pinch_zoom_x(&self) -> bool {
807        self.pinch_zoom_x.is_some()
808    }
809
810    // Param is passed by value, moved
811    pub fn set_pinch_zoom_x(&mut self, v: f32) {
812        self.pinch_zoom_x = ::std::option::Option::Some(v);
813    }
814
815    // optional float pinch_zoom_y = 7;
816
817    pub fn pinch_zoom_y(&self) -> f32 {
818        self.pinch_zoom_y.unwrap_or(0.0f32)
819    }
820
821    pub fn clear_pinch_zoom_y(&mut self) {
822        self.pinch_zoom_y = ::std::option::Option::None;
823    }
824
825    pub fn has_pinch_zoom_y(&self) -> bool {
826        self.pinch_zoom_y.is_some()
827    }
828
829    // Param is passed by value, moved
830    pub fn set_pinch_zoom_y(&mut self, v: f32) {
831        self.pinch_zoom_y = ::std::option::Option::Some(v);
832    }
833
834    // optional float pinch_zoom_scale = 8;
835
836    pub fn pinch_zoom_scale(&self) -> f32 {
837        self.pinch_zoom_scale.unwrap_or(1.0f32)
838    }
839
840    pub fn clear_pinch_zoom_scale(&mut self) {
841        self.pinch_zoom_scale = ::std::option::Option::None;
842    }
843
844    pub fn has_pinch_zoom_scale(&self) -> bool {
845        self.pinch_zoom_scale.is_some()
846    }
847
848    // Param is passed by value, moved
849    pub fn set_pinch_zoom_scale(&mut self, v: f32) {
850        self.pinch_zoom_scale = ::std::option::Option::Some(v);
851    }
852
853    // optional bool shaken = 9;
854
855    pub fn shaken(&self) -> bool {
856        self.shaken.unwrap_or(false)
857    }
858
859    pub fn clear_shaken(&mut self) {
860        self.shaken = ::std::option::Option::None;
861    }
862
863    pub fn has_shaken(&self) -> bool {
864        self.shaken.is_some()
865    }
866
867    // Param is passed by value, moved
868    pub fn set_shaken(&mut self, v: bool) {
869        self.shaken = ::std::option::Option::Some(v);
870    }
871
872    // optional bool mouse_offscreen = 10;
873
874    pub fn mouse_offscreen(&self) -> bool {
875        self.mouse_offscreen.unwrap_or(false)
876    }
877
878    pub fn clear_mouse_offscreen(&mut self) {
879        self.mouse_offscreen = ::std::option::Option::None;
880    }
881
882    pub fn has_mouse_offscreen(&self) -> bool {
883        self.mouse_offscreen.is_some()
884    }
885
886    // Param is passed by value, moved
887    pub fn set_mouse_offscreen(&mut self, v: bool) {
888        self.mouse_offscreen = ::std::option::Option::Some(v);
889    }
890}
891
892impl ::steam_vent_proto_common::protobuf::Message for CVirtualControllerLayouts {
893    const NAME: &'static str = "CVirtualControllerLayouts";
894
895    fn is_initialized(&self) -> bool {
896        true
897    }
898
899    fn merge_from(&mut self, is: &mut ::steam_vent_proto_common::protobuf::CodedInputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
900        while let Some(tag) = is.read_raw_tag_or_eof()? {
901            match tag {
902                10 => {
903                    self.layouts.push(is.read_message()?);
904                },
905                16 => {
906                    self.input_mode = ::std::option::Option::Some(is.read_enum_or_unknown()?);
907                },
908                24 => {
909                    self.mouse_mode = ::std::option::Option::Some(is.read_enum_or_unknown()?);
910                },
911                37 => {
912                    self.trackpad_sensitivity = ::std::option::Option::Some(is.read_float()?);
913                },
914                40 => {
915                    self.pinch_zoom_enabled = ::std::option::Option::Some(is.read_bool()?);
916                },
917                53 => {
918                    self.pinch_zoom_x = ::std::option::Option::Some(is.read_float()?);
919                },
920                61 => {
921                    self.pinch_zoom_y = ::std::option::Option::Some(is.read_float()?);
922                },
923                69 => {
924                    self.pinch_zoom_scale = ::std::option::Option::Some(is.read_float()?);
925                },
926                72 => {
927                    self.shaken = ::std::option::Option::Some(is.read_bool()?);
928                },
929                80 => {
930                    self.mouse_offscreen = ::std::option::Option::Some(is.read_bool()?);
931                },
932                tag => {
933                    ::steam_vent_proto_common::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
934                },
935            };
936        }
937        ::std::result::Result::Ok(())
938    }
939
940    // Compute sizes of nested messages
941    #[allow(unused_variables)]
942    fn compute_size(&self) -> u64 {
943        let mut my_size = 0;
944        for value in &self.layouts {
945            let len = value.compute_size();
946            my_size += 1 + ::steam_vent_proto_common::protobuf::rt::compute_raw_varint64_size(len) + len;
947        };
948        if let Some(v) = self.input_mode {
949            my_size += ::steam_vent_proto_common::protobuf::rt::int32_size(2, v.value());
950        }
951        if let Some(v) = self.mouse_mode {
952            my_size += ::steam_vent_proto_common::protobuf::rt::int32_size(3, v.value());
953        }
954        if let Some(v) = self.trackpad_sensitivity {
955            my_size += 1 + 4;
956        }
957        if let Some(v) = self.pinch_zoom_enabled {
958            my_size += 1 + 1;
959        }
960        if let Some(v) = self.pinch_zoom_x {
961            my_size += 1 + 4;
962        }
963        if let Some(v) = self.pinch_zoom_y {
964            my_size += 1 + 4;
965        }
966        if let Some(v) = self.pinch_zoom_scale {
967            my_size += 1 + 4;
968        }
969        if let Some(v) = self.shaken {
970            my_size += 1 + 1;
971        }
972        if let Some(v) = self.mouse_offscreen {
973            my_size += 1 + 1;
974        }
975        my_size += ::steam_vent_proto_common::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
976        self.special_fields.cached_size().set(my_size as u32);
977        my_size
978    }
979
980    fn write_to_with_cached_sizes(&self, os: &mut ::steam_vent_proto_common::protobuf::CodedOutputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
981        for v in &self.layouts {
982            ::steam_vent_proto_common::protobuf::rt::write_message_field_with_cached_size(1, v, os)?;
983        };
984        if let Some(v) = self.input_mode {
985            os.write_enum(2, ::steam_vent_proto_common::protobuf::EnumOrUnknown::value(&v))?;
986        }
987        if let Some(v) = self.mouse_mode {
988            os.write_enum(3, ::steam_vent_proto_common::protobuf::EnumOrUnknown::value(&v))?;
989        }
990        if let Some(v) = self.trackpad_sensitivity {
991            os.write_float(4, v)?;
992        }
993        if let Some(v) = self.pinch_zoom_enabled {
994            os.write_bool(5, v)?;
995        }
996        if let Some(v) = self.pinch_zoom_x {
997            os.write_float(6, v)?;
998        }
999        if let Some(v) = self.pinch_zoom_y {
1000            os.write_float(7, v)?;
1001        }
1002        if let Some(v) = self.pinch_zoom_scale {
1003            os.write_float(8, v)?;
1004        }
1005        if let Some(v) = self.shaken {
1006            os.write_bool(9, v)?;
1007        }
1008        if let Some(v) = self.mouse_offscreen {
1009            os.write_bool(10, v)?;
1010        }
1011        os.write_unknown_fields(self.special_fields.unknown_fields())?;
1012        ::std::result::Result::Ok(())
1013    }
1014
1015    fn special_fields(&self) -> &::steam_vent_proto_common::protobuf::SpecialFields {
1016        &self.special_fields
1017    }
1018
1019    fn mut_special_fields(&mut self) -> &mut ::steam_vent_proto_common::protobuf::SpecialFields {
1020        &mut self.special_fields
1021    }
1022
1023    fn new() -> CVirtualControllerLayouts {
1024        CVirtualControllerLayouts::new()
1025    }
1026
1027    fn clear(&mut self) {
1028        self.layouts.clear();
1029        self.input_mode = ::std::option::Option::None;
1030        self.mouse_mode = ::std::option::Option::None;
1031        self.trackpad_sensitivity = ::std::option::Option::None;
1032        self.pinch_zoom_enabled = ::std::option::Option::None;
1033        self.pinch_zoom_x = ::std::option::Option::None;
1034        self.pinch_zoom_y = ::std::option::Option::None;
1035        self.pinch_zoom_scale = ::std::option::Option::None;
1036        self.shaken = ::std::option::Option::None;
1037        self.mouse_offscreen = ::std::option::Option::None;
1038        self.special_fields.clear();
1039    }
1040
1041    fn default_instance() -> &'static CVirtualControllerLayouts {
1042        static instance: CVirtualControllerLayouts = CVirtualControllerLayouts {
1043            layouts: ::std::vec::Vec::new(),
1044            input_mode: ::std::option::Option::None,
1045            mouse_mode: ::std::option::Option::None,
1046            trackpad_sensitivity: ::std::option::Option::None,
1047            pinch_zoom_enabled: ::std::option::Option::None,
1048            pinch_zoom_x: ::std::option::Option::None,
1049            pinch_zoom_y: ::std::option::Option::None,
1050            pinch_zoom_scale: ::std::option::Option::None,
1051            shaken: ::std::option::Option::None,
1052            mouse_offscreen: ::std::option::Option::None,
1053            special_fields: ::steam_vent_proto_common::protobuf::SpecialFields::new(),
1054        };
1055        &instance
1056    }
1057}
1058
1059// @@protoc_insertion_point(message:CVirtualControllerConfig)
1060#[derive(PartialEq,Clone,Default,Debug)]
1061pub struct CVirtualControllerConfig {
1062    // message fields
1063    // @@protoc_insertion_point(field:CVirtualControllerConfig.name)
1064    pub name: ::std::option::Option<::std::string::String>,
1065    // @@protoc_insertion_point(field:CVirtualControllerConfig.actionsets)
1066    pub actionsets: ::std::vec::Vec<cvirtual_controller_config::ActionSet>,
1067    // @@protoc_insertion_point(field:CVirtualControllerConfig.default_mouse_mode)
1068    pub default_mouse_mode: ::std::option::Option<::steam_vent_proto_common::protobuf::EnumOrUnknown<EMouseMode>>,
1069    // special fields
1070    // @@protoc_insertion_point(special_field:CVirtualControllerConfig.special_fields)
1071    pub special_fields: ::steam_vent_proto_common::protobuf::SpecialFields,
1072}
1073
1074impl<'a> ::std::default::Default for &'a CVirtualControllerConfig {
1075    fn default() -> &'a CVirtualControllerConfig {
1076        <CVirtualControllerConfig as ::steam_vent_proto_common::protobuf::Message>::default_instance()
1077    }
1078}
1079
1080impl CVirtualControllerConfig {
1081    pub fn new() -> CVirtualControllerConfig {
1082        ::std::default::Default::default()
1083    }
1084
1085    // optional string name = 1;
1086
1087    pub fn name(&self) -> &str {
1088        match self.name.as_ref() {
1089            Some(v) => v,
1090            None => "",
1091        }
1092    }
1093
1094    pub fn clear_name(&mut self) {
1095        self.name = ::std::option::Option::None;
1096    }
1097
1098    pub fn has_name(&self) -> bool {
1099        self.name.is_some()
1100    }
1101
1102    // Param is passed by value, moved
1103    pub fn set_name(&mut self, v: ::std::string::String) {
1104        self.name = ::std::option::Option::Some(v);
1105    }
1106
1107    // Mutable pointer to the field.
1108    // If field is not initialized, it is initialized with default value first.
1109    pub fn mut_name(&mut self) -> &mut ::std::string::String {
1110        if self.name.is_none() {
1111            self.name = ::std::option::Option::Some(::std::string::String::new());
1112        }
1113        self.name.as_mut().unwrap()
1114    }
1115
1116    // Take field
1117    pub fn take_name(&mut self) -> ::std::string::String {
1118        self.name.take().unwrap_or_else(|| ::std::string::String::new())
1119    }
1120
1121    // optional .EMouseMode default_mouse_mode = 3;
1122
1123    pub fn default_mouse_mode(&self) -> EMouseMode {
1124        match self.default_mouse_mode {
1125            Some(e) => e.enum_value_or(EMouseMode::k_EMouseModeAbsoluteCursor),
1126            None => EMouseMode::k_EMouseModeAbsoluteCursor,
1127        }
1128    }
1129
1130    pub fn clear_default_mouse_mode(&mut self) {
1131        self.default_mouse_mode = ::std::option::Option::None;
1132    }
1133
1134    pub fn has_default_mouse_mode(&self) -> bool {
1135        self.default_mouse_mode.is_some()
1136    }
1137
1138    // Param is passed by value, moved
1139    pub fn set_default_mouse_mode(&mut self, v: EMouseMode) {
1140        self.default_mouse_mode = ::std::option::Option::Some(::steam_vent_proto_common::protobuf::EnumOrUnknown::new(v));
1141    }
1142}
1143
1144impl ::steam_vent_proto_common::protobuf::Message for CVirtualControllerConfig {
1145    const NAME: &'static str = "CVirtualControllerConfig";
1146
1147    fn is_initialized(&self) -> bool {
1148        true
1149    }
1150
1151    fn merge_from(&mut self, is: &mut ::steam_vent_proto_common::protobuf::CodedInputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
1152        while let Some(tag) = is.read_raw_tag_or_eof()? {
1153            match tag {
1154                10 => {
1155                    self.name = ::std::option::Option::Some(is.read_string()?);
1156                },
1157                18 => {
1158                    self.actionsets.push(is.read_message()?);
1159                },
1160                24 => {
1161                    self.default_mouse_mode = ::std::option::Option::Some(is.read_enum_or_unknown()?);
1162                },
1163                tag => {
1164                    ::steam_vent_proto_common::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
1165                },
1166            };
1167        }
1168        ::std::result::Result::Ok(())
1169    }
1170
1171    // Compute sizes of nested messages
1172    #[allow(unused_variables)]
1173    fn compute_size(&self) -> u64 {
1174        let mut my_size = 0;
1175        if let Some(v) = self.name.as_ref() {
1176            my_size += ::steam_vent_proto_common::protobuf::rt::string_size(1, &v);
1177        }
1178        for value in &self.actionsets {
1179            let len = value.compute_size();
1180            my_size += 1 + ::steam_vent_proto_common::protobuf::rt::compute_raw_varint64_size(len) + len;
1181        };
1182        if let Some(v) = self.default_mouse_mode {
1183            my_size += ::steam_vent_proto_common::protobuf::rt::int32_size(3, v.value());
1184        }
1185        my_size += ::steam_vent_proto_common::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
1186        self.special_fields.cached_size().set(my_size as u32);
1187        my_size
1188    }
1189
1190    fn write_to_with_cached_sizes(&self, os: &mut ::steam_vent_proto_common::protobuf::CodedOutputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
1191        if let Some(v) = self.name.as_ref() {
1192            os.write_string(1, v)?;
1193        }
1194        for v in &self.actionsets {
1195            ::steam_vent_proto_common::protobuf::rt::write_message_field_with_cached_size(2, v, os)?;
1196        };
1197        if let Some(v) = self.default_mouse_mode {
1198            os.write_enum(3, ::steam_vent_proto_common::protobuf::EnumOrUnknown::value(&v))?;
1199        }
1200        os.write_unknown_fields(self.special_fields.unknown_fields())?;
1201        ::std::result::Result::Ok(())
1202    }
1203
1204    fn special_fields(&self) -> &::steam_vent_proto_common::protobuf::SpecialFields {
1205        &self.special_fields
1206    }
1207
1208    fn mut_special_fields(&mut self) -> &mut ::steam_vent_proto_common::protobuf::SpecialFields {
1209        &mut self.special_fields
1210    }
1211
1212    fn new() -> CVirtualControllerConfig {
1213        CVirtualControllerConfig::new()
1214    }
1215
1216    fn clear(&mut self) {
1217        self.name = ::std::option::Option::None;
1218        self.actionsets.clear();
1219        self.default_mouse_mode = ::std::option::Option::None;
1220        self.special_fields.clear();
1221    }
1222
1223    fn default_instance() -> &'static CVirtualControllerConfig {
1224        static instance: CVirtualControllerConfig = CVirtualControllerConfig {
1225            name: ::std::option::Option::None,
1226            actionsets: ::std::vec::Vec::new(),
1227            default_mouse_mode: ::std::option::Option::None,
1228            special_fields: ::steam_vent_proto_common::protobuf::SpecialFields::new(),
1229        };
1230        &instance
1231    }
1232}
1233
1234/// Nested message and enums of message `CVirtualControllerConfig`
1235pub mod cvirtual_controller_config {
1236    // @@protoc_insertion_point(message:CVirtualControllerConfig.Control)
1237    #[derive(PartialEq,Clone,Default,Debug)]
1238    pub struct Control {
1239        // message fields
1240        // @@protoc_insertion_point(field:CVirtualControllerConfig.Control.name)
1241        pub name: ::std::option::Option<::std::string::String>,
1242        // @@protoc_insertion_point(field:CVirtualControllerConfig.Control.icon)
1243        pub icon: ::std::option::Option<::std::string::String>,
1244        // @@protoc_insertion_point(field:CVirtualControllerConfig.Control.input_source)
1245        pub input_source: ::std::option::Option<i32>,
1246        // @@protoc_insertion_point(field:CVirtualControllerConfig.Control.input_mode)
1247        pub input_mode: ::std::option::Option<i32>,
1248        // @@protoc_insertion_point(field:CVirtualControllerConfig.Control.input_element)
1249        pub input_element: ::std::option::Option<i32>,
1250        // @@protoc_insertion_point(field:CVirtualControllerConfig.Control.output_gamepad)
1251        pub output_gamepad: ::std::option::Option<i32>,
1252        // @@protoc_insertion_point(field:CVirtualControllerConfig.Control.output_keyboard)
1253        pub output_keyboard: ::std::option::Option<i32>,
1254        // @@protoc_insertion_point(field:CVirtualControllerConfig.Control.output_mouse)
1255        pub output_mouse: ::std::option::Option<i32>,
1256        // @@protoc_insertion_point(field:CVirtualControllerConfig.Control.icon_foreground)
1257        pub icon_foreground: ::std::option::Option<::std::string::String>,
1258        // @@protoc_insertion_point(field:CVirtualControllerConfig.Control.icon_background)
1259        pub icon_background: ::std::option::Option<::std::string::String>,
1260        // @@protoc_insertion_point(field:CVirtualControllerConfig.Control.input_toggle)
1261        pub input_toggle: ::std::option::Option<bool>,
1262        // @@protoc_insertion_point(field:CVirtualControllerConfig.Control.input_activate_stick_or_trackpad)
1263        pub input_activate_stick_or_trackpad: ::std::option::Option<i32>,
1264        // @@protoc_insertion_point(field:CVirtualControllerConfig.Control.activation_type)
1265        pub activation_type: ::std::option::Option<i32>,
1266        // @@protoc_insertion_point(field:CVirtualControllerConfig.Control.long_press_ms)
1267        pub long_press_ms: ::std::option::Option<i32>,
1268        // @@protoc_insertion_point(field:CVirtualControllerConfig.Control.double_press_ms)
1269        pub double_press_ms: ::std::option::Option<i32>,
1270        // special fields
1271        // @@protoc_insertion_point(special_field:CVirtualControllerConfig.Control.special_fields)
1272        pub special_fields: ::steam_vent_proto_common::protobuf::SpecialFields,
1273    }
1274
1275    impl<'a> ::std::default::Default for &'a Control {
1276        fn default() -> &'a Control {
1277            <Control as ::steam_vent_proto_common::protobuf::Message>::default_instance()
1278        }
1279    }
1280
1281    impl Control {
1282        pub fn new() -> Control {
1283            ::std::default::Default::default()
1284        }
1285
1286        // optional string name = 1;
1287
1288        pub fn name(&self) -> &str {
1289            match self.name.as_ref() {
1290                Some(v) => v,
1291                None => "",
1292            }
1293        }
1294
1295        pub fn clear_name(&mut self) {
1296            self.name = ::std::option::Option::None;
1297        }
1298
1299        pub fn has_name(&self) -> bool {
1300            self.name.is_some()
1301        }
1302
1303        // Param is passed by value, moved
1304        pub fn set_name(&mut self, v: ::std::string::String) {
1305            self.name = ::std::option::Option::Some(v);
1306        }
1307
1308        // Mutable pointer to the field.
1309        // If field is not initialized, it is initialized with default value first.
1310        pub fn mut_name(&mut self) -> &mut ::std::string::String {
1311            if self.name.is_none() {
1312                self.name = ::std::option::Option::Some(::std::string::String::new());
1313            }
1314            self.name.as_mut().unwrap()
1315        }
1316
1317        // Take field
1318        pub fn take_name(&mut self) -> ::std::string::String {
1319            self.name.take().unwrap_or_else(|| ::std::string::String::new())
1320        }
1321
1322        // optional string icon = 2;
1323
1324        pub fn icon(&self) -> &str {
1325            match self.icon.as_ref() {
1326                Some(v) => v,
1327                None => "",
1328            }
1329        }
1330
1331        pub fn clear_icon(&mut self) {
1332            self.icon = ::std::option::Option::None;
1333        }
1334
1335        pub fn has_icon(&self) -> bool {
1336            self.icon.is_some()
1337        }
1338
1339        // Param is passed by value, moved
1340        pub fn set_icon(&mut self, v: ::std::string::String) {
1341            self.icon = ::std::option::Option::Some(v);
1342        }
1343
1344        // Mutable pointer to the field.
1345        // If field is not initialized, it is initialized with default value first.
1346        pub fn mut_icon(&mut self) -> &mut ::std::string::String {
1347            if self.icon.is_none() {
1348                self.icon = ::std::option::Option::Some(::std::string::String::new());
1349            }
1350            self.icon.as_mut().unwrap()
1351        }
1352
1353        // Take field
1354        pub fn take_icon(&mut self) -> ::std::string::String {
1355            self.icon.take().unwrap_or_else(|| ::std::string::String::new())
1356        }
1357
1358        // optional int32 input_source = 3;
1359
1360        pub fn input_source(&self) -> i32 {
1361            self.input_source.unwrap_or(0)
1362        }
1363
1364        pub fn clear_input_source(&mut self) {
1365            self.input_source = ::std::option::Option::None;
1366        }
1367
1368        pub fn has_input_source(&self) -> bool {
1369            self.input_source.is_some()
1370        }
1371
1372        // Param is passed by value, moved
1373        pub fn set_input_source(&mut self, v: i32) {
1374            self.input_source = ::std::option::Option::Some(v);
1375        }
1376
1377        // optional int32 input_mode = 4;
1378
1379        pub fn input_mode(&self) -> i32 {
1380            self.input_mode.unwrap_or(0)
1381        }
1382
1383        pub fn clear_input_mode(&mut self) {
1384            self.input_mode = ::std::option::Option::None;
1385        }
1386
1387        pub fn has_input_mode(&self) -> bool {
1388            self.input_mode.is_some()
1389        }
1390
1391        // Param is passed by value, moved
1392        pub fn set_input_mode(&mut self, v: i32) {
1393            self.input_mode = ::std::option::Option::Some(v);
1394        }
1395
1396        // optional int32 input_element = 5;
1397
1398        pub fn input_element(&self) -> i32 {
1399            self.input_element.unwrap_or(0)
1400        }
1401
1402        pub fn clear_input_element(&mut self) {
1403            self.input_element = ::std::option::Option::None;
1404        }
1405
1406        pub fn has_input_element(&self) -> bool {
1407            self.input_element.is_some()
1408        }
1409
1410        // Param is passed by value, moved
1411        pub fn set_input_element(&mut self, v: i32) {
1412            self.input_element = ::std::option::Option::Some(v);
1413        }
1414
1415        // optional int32 output_gamepad = 6;
1416
1417        pub fn output_gamepad(&self) -> i32 {
1418            self.output_gamepad.unwrap_or(0)
1419        }
1420
1421        pub fn clear_output_gamepad(&mut self) {
1422            self.output_gamepad = ::std::option::Option::None;
1423        }
1424
1425        pub fn has_output_gamepad(&self) -> bool {
1426            self.output_gamepad.is_some()
1427        }
1428
1429        // Param is passed by value, moved
1430        pub fn set_output_gamepad(&mut self, v: i32) {
1431            self.output_gamepad = ::std::option::Option::Some(v);
1432        }
1433
1434        // optional int32 output_keyboard = 7;
1435
1436        pub fn output_keyboard(&self) -> i32 {
1437            self.output_keyboard.unwrap_or(0)
1438        }
1439
1440        pub fn clear_output_keyboard(&mut self) {
1441            self.output_keyboard = ::std::option::Option::None;
1442        }
1443
1444        pub fn has_output_keyboard(&self) -> bool {
1445            self.output_keyboard.is_some()
1446        }
1447
1448        // Param is passed by value, moved
1449        pub fn set_output_keyboard(&mut self, v: i32) {
1450            self.output_keyboard = ::std::option::Option::Some(v);
1451        }
1452
1453        // optional int32 output_mouse = 8;
1454
1455        pub fn output_mouse(&self) -> i32 {
1456            self.output_mouse.unwrap_or(0)
1457        }
1458
1459        pub fn clear_output_mouse(&mut self) {
1460            self.output_mouse = ::std::option::Option::None;
1461        }
1462
1463        pub fn has_output_mouse(&self) -> bool {
1464            self.output_mouse.is_some()
1465        }
1466
1467        // Param is passed by value, moved
1468        pub fn set_output_mouse(&mut self, v: i32) {
1469            self.output_mouse = ::std::option::Option::Some(v);
1470        }
1471
1472        // optional string icon_foreground = 9;
1473
1474        pub fn icon_foreground(&self) -> &str {
1475            match self.icon_foreground.as_ref() {
1476                Some(v) => v,
1477                None => "",
1478            }
1479        }
1480
1481        pub fn clear_icon_foreground(&mut self) {
1482            self.icon_foreground = ::std::option::Option::None;
1483        }
1484
1485        pub fn has_icon_foreground(&self) -> bool {
1486            self.icon_foreground.is_some()
1487        }
1488
1489        // Param is passed by value, moved
1490        pub fn set_icon_foreground(&mut self, v: ::std::string::String) {
1491            self.icon_foreground = ::std::option::Option::Some(v);
1492        }
1493
1494        // Mutable pointer to the field.
1495        // If field is not initialized, it is initialized with default value first.
1496        pub fn mut_icon_foreground(&mut self) -> &mut ::std::string::String {
1497            if self.icon_foreground.is_none() {
1498                self.icon_foreground = ::std::option::Option::Some(::std::string::String::new());
1499            }
1500            self.icon_foreground.as_mut().unwrap()
1501        }
1502
1503        // Take field
1504        pub fn take_icon_foreground(&mut self) -> ::std::string::String {
1505            self.icon_foreground.take().unwrap_or_else(|| ::std::string::String::new())
1506        }
1507
1508        // optional string icon_background = 10;
1509
1510        pub fn icon_background(&self) -> &str {
1511            match self.icon_background.as_ref() {
1512                Some(v) => v,
1513                None => "",
1514            }
1515        }
1516
1517        pub fn clear_icon_background(&mut self) {
1518            self.icon_background = ::std::option::Option::None;
1519        }
1520
1521        pub fn has_icon_background(&self) -> bool {
1522            self.icon_background.is_some()
1523        }
1524
1525        // Param is passed by value, moved
1526        pub fn set_icon_background(&mut self, v: ::std::string::String) {
1527            self.icon_background = ::std::option::Option::Some(v);
1528        }
1529
1530        // Mutable pointer to the field.
1531        // If field is not initialized, it is initialized with default value first.
1532        pub fn mut_icon_background(&mut self) -> &mut ::std::string::String {
1533            if self.icon_background.is_none() {
1534                self.icon_background = ::std::option::Option::Some(::std::string::String::new());
1535            }
1536            self.icon_background.as_mut().unwrap()
1537        }
1538
1539        // Take field
1540        pub fn take_icon_background(&mut self) -> ::std::string::String {
1541            self.icon_background.take().unwrap_or_else(|| ::std::string::String::new())
1542        }
1543
1544        // optional bool input_toggle = 11;
1545
1546        pub fn input_toggle(&self) -> bool {
1547            self.input_toggle.unwrap_or(false)
1548        }
1549
1550        pub fn clear_input_toggle(&mut self) {
1551            self.input_toggle = ::std::option::Option::None;
1552        }
1553
1554        pub fn has_input_toggle(&self) -> bool {
1555            self.input_toggle.is_some()
1556        }
1557
1558        // Param is passed by value, moved
1559        pub fn set_input_toggle(&mut self, v: bool) {
1560            self.input_toggle = ::std::option::Option::Some(v);
1561        }
1562
1563        // optional int32 input_activate_stick_or_trackpad = 12;
1564
1565        pub fn input_activate_stick_or_trackpad(&self) -> i32 {
1566            self.input_activate_stick_or_trackpad.unwrap_or(0)
1567        }
1568
1569        pub fn clear_input_activate_stick_or_trackpad(&mut self) {
1570            self.input_activate_stick_or_trackpad = ::std::option::Option::None;
1571        }
1572
1573        pub fn has_input_activate_stick_or_trackpad(&self) -> bool {
1574            self.input_activate_stick_or_trackpad.is_some()
1575        }
1576
1577        // Param is passed by value, moved
1578        pub fn set_input_activate_stick_or_trackpad(&mut self, v: i32) {
1579            self.input_activate_stick_or_trackpad = ::std::option::Option::Some(v);
1580        }
1581
1582        // optional int32 activation_type = 13;
1583
1584        pub fn activation_type(&self) -> i32 {
1585            self.activation_type.unwrap_or(0)
1586        }
1587
1588        pub fn clear_activation_type(&mut self) {
1589            self.activation_type = ::std::option::Option::None;
1590        }
1591
1592        pub fn has_activation_type(&self) -> bool {
1593            self.activation_type.is_some()
1594        }
1595
1596        // Param is passed by value, moved
1597        pub fn set_activation_type(&mut self, v: i32) {
1598            self.activation_type = ::std::option::Option::Some(v);
1599        }
1600
1601        // optional int32 long_press_ms = 14;
1602
1603        pub fn long_press_ms(&self) -> i32 {
1604            self.long_press_ms.unwrap_or(0)
1605        }
1606
1607        pub fn clear_long_press_ms(&mut self) {
1608            self.long_press_ms = ::std::option::Option::None;
1609        }
1610
1611        pub fn has_long_press_ms(&self) -> bool {
1612            self.long_press_ms.is_some()
1613        }
1614
1615        // Param is passed by value, moved
1616        pub fn set_long_press_ms(&mut self, v: i32) {
1617            self.long_press_ms = ::std::option::Option::Some(v);
1618        }
1619
1620        // optional int32 double_press_ms = 15;
1621
1622        pub fn double_press_ms(&self) -> i32 {
1623            self.double_press_ms.unwrap_or(0)
1624        }
1625
1626        pub fn clear_double_press_ms(&mut self) {
1627            self.double_press_ms = ::std::option::Option::None;
1628        }
1629
1630        pub fn has_double_press_ms(&self) -> bool {
1631            self.double_press_ms.is_some()
1632        }
1633
1634        // Param is passed by value, moved
1635        pub fn set_double_press_ms(&mut self, v: i32) {
1636            self.double_press_ms = ::std::option::Option::Some(v);
1637        }
1638    }
1639
1640    impl ::steam_vent_proto_common::protobuf::Message for Control {
1641        const NAME: &'static str = "Control";
1642
1643        fn is_initialized(&self) -> bool {
1644            true
1645        }
1646
1647        fn merge_from(&mut self, is: &mut ::steam_vent_proto_common::protobuf::CodedInputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
1648            while let Some(tag) = is.read_raw_tag_or_eof()? {
1649                match tag {
1650                    10 => {
1651                        self.name = ::std::option::Option::Some(is.read_string()?);
1652                    },
1653                    18 => {
1654                        self.icon = ::std::option::Option::Some(is.read_string()?);
1655                    },
1656                    24 => {
1657                        self.input_source = ::std::option::Option::Some(is.read_int32()?);
1658                    },
1659                    32 => {
1660                        self.input_mode = ::std::option::Option::Some(is.read_int32()?);
1661                    },
1662                    40 => {
1663                        self.input_element = ::std::option::Option::Some(is.read_int32()?);
1664                    },
1665                    48 => {
1666                        self.output_gamepad = ::std::option::Option::Some(is.read_int32()?);
1667                    },
1668                    56 => {
1669                        self.output_keyboard = ::std::option::Option::Some(is.read_int32()?);
1670                    },
1671                    64 => {
1672                        self.output_mouse = ::std::option::Option::Some(is.read_int32()?);
1673                    },
1674                    74 => {
1675                        self.icon_foreground = ::std::option::Option::Some(is.read_string()?);
1676                    },
1677                    82 => {
1678                        self.icon_background = ::std::option::Option::Some(is.read_string()?);
1679                    },
1680                    88 => {
1681                        self.input_toggle = ::std::option::Option::Some(is.read_bool()?);
1682                    },
1683                    96 => {
1684                        self.input_activate_stick_or_trackpad = ::std::option::Option::Some(is.read_int32()?);
1685                    },
1686                    104 => {
1687                        self.activation_type = ::std::option::Option::Some(is.read_int32()?);
1688                    },
1689                    112 => {
1690                        self.long_press_ms = ::std::option::Option::Some(is.read_int32()?);
1691                    },
1692                    120 => {
1693                        self.double_press_ms = ::std::option::Option::Some(is.read_int32()?);
1694                    },
1695                    tag => {
1696                        ::steam_vent_proto_common::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
1697                    },
1698                };
1699            }
1700            ::std::result::Result::Ok(())
1701        }
1702
1703        // Compute sizes of nested messages
1704        #[allow(unused_variables)]
1705        fn compute_size(&self) -> u64 {
1706            let mut my_size = 0;
1707            if let Some(v) = self.name.as_ref() {
1708                my_size += ::steam_vent_proto_common::protobuf::rt::string_size(1, &v);
1709            }
1710            if let Some(v) = self.icon.as_ref() {
1711                my_size += ::steam_vent_proto_common::protobuf::rt::string_size(2, &v);
1712            }
1713            if let Some(v) = self.input_source {
1714                my_size += ::steam_vent_proto_common::protobuf::rt::int32_size(3, v);
1715            }
1716            if let Some(v) = self.input_mode {
1717                my_size += ::steam_vent_proto_common::protobuf::rt::int32_size(4, v);
1718            }
1719            if let Some(v) = self.input_element {
1720                my_size += ::steam_vent_proto_common::protobuf::rt::int32_size(5, v);
1721            }
1722            if let Some(v) = self.output_gamepad {
1723                my_size += ::steam_vent_proto_common::protobuf::rt::int32_size(6, v);
1724            }
1725            if let Some(v) = self.output_keyboard {
1726                my_size += ::steam_vent_proto_common::protobuf::rt::int32_size(7, v);
1727            }
1728            if let Some(v) = self.output_mouse {
1729                my_size += ::steam_vent_proto_common::protobuf::rt::int32_size(8, v);
1730            }
1731            if let Some(v) = self.icon_foreground.as_ref() {
1732                my_size += ::steam_vent_proto_common::protobuf::rt::string_size(9, &v);
1733            }
1734            if let Some(v) = self.icon_background.as_ref() {
1735                my_size += ::steam_vent_proto_common::protobuf::rt::string_size(10, &v);
1736            }
1737            if let Some(v) = self.input_toggle {
1738                my_size += 1 + 1;
1739            }
1740            if let Some(v) = self.input_activate_stick_or_trackpad {
1741                my_size += ::steam_vent_proto_common::protobuf::rt::int32_size(12, v);
1742            }
1743            if let Some(v) = self.activation_type {
1744                my_size += ::steam_vent_proto_common::protobuf::rt::int32_size(13, v);
1745            }
1746            if let Some(v) = self.long_press_ms {
1747                my_size += ::steam_vent_proto_common::protobuf::rt::int32_size(14, v);
1748            }
1749            if let Some(v) = self.double_press_ms {
1750                my_size += ::steam_vent_proto_common::protobuf::rt::int32_size(15, v);
1751            }
1752            my_size += ::steam_vent_proto_common::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
1753            self.special_fields.cached_size().set(my_size as u32);
1754            my_size
1755        }
1756
1757        fn write_to_with_cached_sizes(&self, os: &mut ::steam_vent_proto_common::protobuf::CodedOutputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
1758            if let Some(v) = self.name.as_ref() {
1759                os.write_string(1, v)?;
1760            }
1761            if let Some(v) = self.icon.as_ref() {
1762                os.write_string(2, v)?;
1763            }
1764            if let Some(v) = self.input_source {
1765                os.write_int32(3, v)?;
1766            }
1767            if let Some(v) = self.input_mode {
1768                os.write_int32(4, v)?;
1769            }
1770            if let Some(v) = self.input_element {
1771                os.write_int32(5, v)?;
1772            }
1773            if let Some(v) = self.output_gamepad {
1774                os.write_int32(6, v)?;
1775            }
1776            if let Some(v) = self.output_keyboard {
1777                os.write_int32(7, v)?;
1778            }
1779            if let Some(v) = self.output_mouse {
1780                os.write_int32(8, v)?;
1781            }
1782            if let Some(v) = self.icon_foreground.as_ref() {
1783                os.write_string(9, v)?;
1784            }
1785            if let Some(v) = self.icon_background.as_ref() {
1786                os.write_string(10, v)?;
1787            }
1788            if let Some(v) = self.input_toggle {
1789                os.write_bool(11, v)?;
1790            }
1791            if let Some(v) = self.input_activate_stick_or_trackpad {
1792                os.write_int32(12, v)?;
1793            }
1794            if let Some(v) = self.activation_type {
1795                os.write_int32(13, v)?;
1796            }
1797            if let Some(v) = self.long_press_ms {
1798                os.write_int32(14, v)?;
1799            }
1800            if let Some(v) = self.double_press_ms {
1801                os.write_int32(15, v)?;
1802            }
1803            os.write_unknown_fields(self.special_fields.unknown_fields())?;
1804            ::std::result::Result::Ok(())
1805        }
1806
1807        fn special_fields(&self) -> &::steam_vent_proto_common::protobuf::SpecialFields {
1808            &self.special_fields
1809        }
1810
1811        fn mut_special_fields(&mut self) -> &mut ::steam_vent_proto_common::protobuf::SpecialFields {
1812            &mut self.special_fields
1813        }
1814
1815        fn new() -> Control {
1816            Control::new()
1817        }
1818
1819        fn clear(&mut self) {
1820            self.name = ::std::option::Option::None;
1821            self.icon = ::std::option::Option::None;
1822            self.input_source = ::std::option::Option::None;
1823            self.input_mode = ::std::option::Option::None;
1824            self.input_element = ::std::option::Option::None;
1825            self.output_gamepad = ::std::option::Option::None;
1826            self.output_keyboard = ::std::option::Option::None;
1827            self.output_mouse = ::std::option::Option::None;
1828            self.icon_foreground = ::std::option::Option::None;
1829            self.icon_background = ::std::option::Option::None;
1830            self.input_toggle = ::std::option::Option::None;
1831            self.input_activate_stick_or_trackpad = ::std::option::Option::None;
1832            self.activation_type = ::std::option::Option::None;
1833            self.long_press_ms = ::std::option::Option::None;
1834            self.double_press_ms = ::std::option::Option::None;
1835            self.special_fields.clear();
1836        }
1837
1838        fn default_instance() -> &'static Control {
1839            static instance: Control = Control {
1840                name: ::std::option::Option::None,
1841                icon: ::std::option::Option::None,
1842                input_source: ::std::option::Option::None,
1843                input_mode: ::std::option::Option::None,
1844                input_element: ::std::option::Option::None,
1845                output_gamepad: ::std::option::Option::None,
1846                output_keyboard: ::std::option::Option::None,
1847                output_mouse: ::std::option::Option::None,
1848                icon_foreground: ::std::option::Option::None,
1849                icon_background: ::std::option::Option::None,
1850                input_toggle: ::std::option::Option::None,
1851                input_activate_stick_or_trackpad: ::std::option::Option::None,
1852                activation_type: ::std::option::Option::None,
1853                long_press_ms: ::std::option::Option::None,
1854                double_press_ms: ::std::option::Option::None,
1855                special_fields: ::steam_vent_proto_common::protobuf::SpecialFields::new(),
1856            };
1857            &instance
1858        }
1859    }
1860
1861    // @@protoc_insertion_point(message:CVirtualControllerConfig.ActionSet)
1862    #[derive(PartialEq,Clone,Default,Debug)]
1863    pub struct ActionSet {
1864        // message fields
1865        // @@protoc_insertion_point(field:CVirtualControllerConfig.ActionSet.id)
1866        pub id: ::std::option::Option<i32>,
1867        // @@protoc_insertion_point(field:CVirtualControllerConfig.ActionSet.parent_id)
1868        pub parent_id: ::std::option::Option<i32>,
1869        // @@protoc_insertion_point(field:CVirtualControllerConfig.ActionSet.name)
1870        pub name: ::std::option::Option<::std::string::String>,
1871        // @@protoc_insertion_point(field:CVirtualControllerConfig.ActionSet.controls)
1872        pub controls: ::std::vec::Vec<Control>,
1873        // special fields
1874        // @@protoc_insertion_point(special_field:CVirtualControllerConfig.ActionSet.special_fields)
1875        pub special_fields: ::steam_vent_proto_common::protobuf::SpecialFields,
1876    }
1877
1878    impl<'a> ::std::default::Default for &'a ActionSet {
1879        fn default() -> &'a ActionSet {
1880            <ActionSet as ::steam_vent_proto_common::protobuf::Message>::default_instance()
1881        }
1882    }
1883
1884    impl ActionSet {
1885        pub fn new() -> ActionSet {
1886            ::std::default::Default::default()
1887        }
1888
1889        // optional int32 id = 1;
1890
1891        pub fn id(&self) -> i32 {
1892            self.id.unwrap_or(0)
1893        }
1894
1895        pub fn clear_id(&mut self) {
1896            self.id = ::std::option::Option::None;
1897        }
1898
1899        pub fn has_id(&self) -> bool {
1900            self.id.is_some()
1901        }
1902
1903        // Param is passed by value, moved
1904        pub fn set_id(&mut self, v: i32) {
1905            self.id = ::std::option::Option::Some(v);
1906        }
1907
1908        // optional int32 parent_id = 2;
1909
1910        pub fn parent_id(&self) -> i32 {
1911            self.parent_id.unwrap_or(0)
1912        }
1913
1914        pub fn clear_parent_id(&mut self) {
1915            self.parent_id = ::std::option::Option::None;
1916        }
1917
1918        pub fn has_parent_id(&self) -> bool {
1919            self.parent_id.is_some()
1920        }
1921
1922        // Param is passed by value, moved
1923        pub fn set_parent_id(&mut self, v: i32) {
1924            self.parent_id = ::std::option::Option::Some(v);
1925        }
1926
1927        // optional string name = 3;
1928
1929        pub fn name(&self) -> &str {
1930            match self.name.as_ref() {
1931                Some(v) => v,
1932                None => "",
1933            }
1934        }
1935
1936        pub fn clear_name(&mut self) {
1937            self.name = ::std::option::Option::None;
1938        }
1939
1940        pub fn has_name(&self) -> bool {
1941            self.name.is_some()
1942        }
1943
1944        // Param is passed by value, moved
1945        pub fn set_name(&mut self, v: ::std::string::String) {
1946            self.name = ::std::option::Option::Some(v);
1947        }
1948
1949        // Mutable pointer to the field.
1950        // If field is not initialized, it is initialized with default value first.
1951        pub fn mut_name(&mut self) -> &mut ::std::string::String {
1952            if self.name.is_none() {
1953                self.name = ::std::option::Option::Some(::std::string::String::new());
1954            }
1955            self.name.as_mut().unwrap()
1956        }
1957
1958        // Take field
1959        pub fn take_name(&mut self) -> ::std::string::String {
1960            self.name.take().unwrap_or_else(|| ::std::string::String::new())
1961        }
1962    }
1963
1964    impl ::steam_vent_proto_common::protobuf::Message for ActionSet {
1965        const NAME: &'static str = "ActionSet";
1966
1967        fn is_initialized(&self) -> bool {
1968            true
1969        }
1970
1971        fn merge_from(&mut self, is: &mut ::steam_vent_proto_common::protobuf::CodedInputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
1972            while let Some(tag) = is.read_raw_tag_or_eof()? {
1973                match tag {
1974                    8 => {
1975                        self.id = ::std::option::Option::Some(is.read_int32()?);
1976                    },
1977                    16 => {
1978                        self.parent_id = ::std::option::Option::Some(is.read_int32()?);
1979                    },
1980                    26 => {
1981                        self.name = ::std::option::Option::Some(is.read_string()?);
1982                    },
1983                    34 => {
1984                        self.controls.push(is.read_message()?);
1985                    },
1986                    tag => {
1987                        ::steam_vent_proto_common::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
1988                    },
1989                };
1990            }
1991            ::std::result::Result::Ok(())
1992        }
1993
1994        // Compute sizes of nested messages
1995        #[allow(unused_variables)]
1996        fn compute_size(&self) -> u64 {
1997            let mut my_size = 0;
1998            if let Some(v) = self.id {
1999                my_size += ::steam_vent_proto_common::protobuf::rt::int32_size(1, v);
2000            }
2001            if let Some(v) = self.parent_id {
2002                my_size += ::steam_vent_proto_common::protobuf::rt::int32_size(2, v);
2003            }
2004            if let Some(v) = self.name.as_ref() {
2005                my_size += ::steam_vent_proto_common::protobuf::rt::string_size(3, &v);
2006            }
2007            for value in &self.controls {
2008                let len = value.compute_size();
2009                my_size += 1 + ::steam_vent_proto_common::protobuf::rt::compute_raw_varint64_size(len) + len;
2010            };
2011            my_size += ::steam_vent_proto_common::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
2012            self.special_fields.cached_size().set(my_size as u32);
2013            my_size
2014        }
2015
2016        fn write_to_with_cached_sizes(&self, os: &mut ::steam_vent_proto_common::protobuf::CodedOutputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
2017            if let Some(v) = self.id {
2018                os.write_int32(1, v)?;
2019            }
2020            if let Some(v) = self.parent_id {
2021                os.write_int32(2, v)?;
2022            }
2023            if let Some(v) = self.name.as_ref() {
2024                os.write_string(3, v)?;
2025            }
2026            for v in &self.controls {
2027                ::steam_vent_proto_common::protobuf::rt::write_message_field_with_cached_size(4, v, os)?;
2028            };
2029            os.write_unknown_fields(self.special_fields.unknown_fields())?;
2030            ::std::result::Result::Ok(())
2031        }
2032
2033        fn special_fields(&self) -> &::steam_vent_proto_common::protobuf::SpecialFields {
2034            &self.special_fields
2035        }
2036
2037        fn mut_special_fields(&mut self) -> &mut ::steam_vent_proto_common::protobuf::SpecialFields {
2038            &mut self.special_fields
2039        }
2040
2041        fn new() -> ActionSet {
2042            ActionSet::new()
2043        }
2044
2045        fn clear(&mut self) {
2046            self.id = ::std::option::Option::None;
2047            self.parent_id = ::std::option::Option::None;
2048            self.name = ::std::option::Option::None;
2049            self.controls.clear();
2050            self.special_fields.clear();
2051        }
2052
2053        fn default_instance() -> &'static ActionSet {
2054            static instance: ActionSet = ActionSet {
2055                id: ::std::option::Option::None,
2056                parent_id: ::std::option::Option::None,
2057                name: ::std::option::Option::None,
2058                controls: ::std::vec::Vec::new(),
2059                special_fields: ::steam_vent_proto_common::protobuf::SpecialFields::new(),
2060            };
2061            &instance
2062        }
2063    }
2064}
2065
2066// @@protoc_insertion_point(message:CVirtualControllerLayoutPackage)
2067#[derive(PartialEq,Clone,Default,Debug)]
2068pub struct CVirtualControllerLayoutPackage {
2069    // message fields
2070    // @@protoc_insertion_point(field:CVirtualControllerLayoutPackage.appid)
2071    pub appid: ::std::option::Option<u32>,
2072    // @@protoc_insertion_point(field:CVirtualControllerLayoutPackage.creator)
2073    pub creator: ::std::option::Option<u64>,
2074    // @@protoc_insertion_point(field:CVirtualControllerLayoutPackage.initial_revision)
2075    pub initial_revision: ::std::option::Option<u32>,
2076    // @@protoc_insertion_point(field:CVirtualControllerLayoutPackage.saved_revision)
2077    pub saved_revision: ::std::option::Option<u32>,
2078    // @@protoc_insertion_point(field:CVirtualControllerLayoutPackage.config)
2079    pub config: ::steam_vent_proto_common::protobuf::MessageField<CVirtualControllerConfig>,
2080    // @@protoc_insertion_point(field:CVirtualControllerLayoutPackage.layouts)
2081    pub layouts: ::steam_vent_proto_common::protobuf::MessageField<CVirtualControllerLayouts>,
2082    // special fields
2083    // @@protoc_insertion_point(special_field:CVirtualControllerLayoutPackage.special_fields)
2084    pub special_fields: ::steam_vent_proto_common::protobuf::SpecialFields,
2085}
2086
2087impl<'a> ::std::default::Default for &'a CVirtualControllerLayoutPackage {
2088    fn default() -> &'a CVirtualControllerLayoutPackage {
2089        <CVirtualControllerLayoutPackage as ::steam_vent_proto_common::protobuf::Message>::default_instance()
2090    }
2091}
2092
2093impl CVirtualControllerLayoutPackage {
2094    pub fn new() -> CVirtualControllerLayoutPackage {
2095        ::std::default::Default::default()
2096    }
2097
2098    // optional uint32 appid = 1;
2099
2100    pub fn appid(&self) -> u32 {
2101        self.appid.unwrap_or(0)
2102    }
2103
2104    pub fn clear_appid(&mut self) {
2105        self.appid = ::std::option::Option::None;
2106    }
2107
2108    pub fn has_appid(&self) -> bool {
2109        self.appid.is_some()
2110    }
2111
2112    // Param is passed by value, moved
2113    pub fn set_appid(&mut self, v: u32) {
2114        self.appid = ::std::option::Option::Some(v);
2115    }
2116
2117    // optional uint64 creator = 2;
2118
2119    pub fn creator(&self) -> u64 {
2120        self.creator.unwrap_or(0)
2121    }
2122
2123    pub fn clear_creator(&mut self) {
2124        self.creator = ::std::option::Option::None;
2125    }
2126
2127    pub fn has_creator(&self) -> bool {
2128        self.creator.is_some()
2129    }
2130
2131    // Param is passed by value, moved
2132    pub fn set_creator(&mut self, v: u64) {
2133        self.creator = ::std::option::Option::Some(v);
2134    }
2135
2136    // optional uint32 initial_revision = 3;
2137
2138    pub fn initial_revision(&self) -> u32 {
2139        self.initial_revision.unwrap_or(0)
2140    }
2141
2142    pub fn clear_initial_revision(&mut self) {
2143        self.initial_revision = ::std::option::Option::None;
2144    }
2145
2146    pub fn has_initial_revision(&self) -> bool {
2147        self.initial_revision.is_some()
2148    }
2149
2150    // Param is passed by value, moved
2151    pub fn set_initial_revision(&mut self, v: u32) {
2152        self.initial_revision = ::std::option::Option::Some(v);
2153    }
2154
2155    // optional uint32 saved_revision = 4;
2156
2157    pub fn saved_revision(&self) -> u32 {
2158        self.saved_revision.unwrap_or(0)
2159    }
2160
2161    pub fn clear_saved_revision(&mut self) {
2162        self.saved_revision = ::std::option::Option::None;
2163    }
2164
2165    pub fn has_saved_revision(&self) -> bool {
2166        self.saved_revision.is_some()
2167    }
2168
2169    // Param is passed by value, moved
2170    pub fn set_saved_revision(&mut self, v: u32) {
2171        self.saved_revision = ::std::option::Option::Some(v);
2172    }
2173}
2174
2175impl ::steam_vent_proto_common::protobuf::Message for CVirtualControllerLayoutPackage {
2176    const NAME: &'static str = "CVirtualControllerLayoutPackage";
2177
2178    fn is_initialized(&self) -> bool {
2179        true
2180    }
2181
2182    fn merge_from(&mut self, is: &mut ::steam_vent_proto_common::protobuf::CodedInputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
2183        while let Some(tag) = is.read_raw_tag_or_eof()? {
2184            match tag {
2185                8 => {
2186                    self.appid = ::std::option::Option::Some(is.read_uint32()?);
2187                },
2188                16 => {
2189                    self.creator = ::std::option::Option::Some(is.read_uint64()?);
2190                },
2191                24 => {
2192                    self.initial_revision = ::std::option::Option::Some(is.read_uint32()?);
2193                },
2194                32 => {
2195                    self.saved_revision = ::std::option::Option::Some(is.read_uint32()?);
2196                },
2197                42 => {
2198                    ::steam_vent_proto_common::protobuf::rt::read_singular_message_into_field(is, &mut self.config)?;
2199                },
2200                50 => {
2201                    ::steam_vent_proto_common::protobuf::rt::read_singular_message_into_field(is, &mut self.layouts)?;
2202                },
2203                tag => {
2204                    ::steam_vent_proto_common::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
2205                },
2206            };
2207        }
2208        ::std::result::Result::Ok(())
2209    }
2210
2211    // Compute sizes of nested messages
2212    #[allow(unused_variables)]
2213    fn compute_size(&self) -> u64 {
2214        let mut my_size = 0;
2215        if let Some(v) = self.appid {
2216            my_size += ::steam_vent_proto_common::protobuf::rt::uint32_size(1, v);
2217        }
2218        if let Some(v) = self.creator {
2219            my_size += ::steam_vent_proto_common::protobuf::rt::uint64_size(2, v);
2220        }
2221        if let Some(v) = self.initial_revision {
2222            my_size += ::steam_vent_proto_common::protobuf::rt::uint32_size(3, v);
2223        }
2224        if let Some(v) = self.saved_revision {
2225            my_size += ::steam_vent_proto_common::protobuf::rt::uint32_size(4, v);
2226        }
2227        if let Some(v) = self.config.as_ref() {
2228            let len = v.compute_size();
2229            my_size += 1 + ::steam_vent_proto_common::protobuf::rt::compute_raw_varint64_size(len) + len;
2230        }
2231        if let Some(v) = self.layouts.as_ref() {
2232            let len = v.compute_size();
2233            my_size += 1 + ::steam_vent_proto_common::protobuf::rt::compute_raw_varint64_size(len) + len;
2234        }
2235        my_size += ::steam_vent_proto_common::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
2236        self.special_fields.cached_size().set(my_size as u32);
2237        my_size
2238    }
2239
2240    fn write_to_with_cached_sizes(&self, os: &mut ::steam_vent_proto_common::protobuf::CodedOutputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
2241        if let Some(v) = self.appid {
2242            os.write_uint32(1, v)?;
2243        }
2244        if let Some(v) = self.creator {
2245            os.write_uint64(2, v)?;
2246        }
2247        if let Some(v) = self.initial_revision {
2248            os.write_uint32(3, v)?;
2249        }
2250        if let Some(v) = self.saved_revision {
2251            os.write_uint32(4, v)?;
2252        }
2253        if let Some(v) = self.config.as_ref() {
2254            ::steam_vent_proto_common::protobuf::rt::write_message_field_with_cached_size(5, v, os)?;
2255        }
2256        if let Some(v) = self.layouts.as_ref() {
2257            ::steam_vent_proto_common::protobuf::rt::write_message_field_with_cached_size(6, v, os)?;
2258        }
2259        os.write_unknown_fields(self.special_fields.unknown_fields())?;
2260        ::std::result::Result::Ok(())
2261    }
2262
2263    fn special_fields(&self) -> &::steam_vent_proto_common::protobuf::SpecialFields {
2264        &self.special_fields
2265    }
2266
2267    fn mut_special_fields(&mut self) -> &mut ::steam_vent_proto_common::protobuf::SpecialFields {
2268        &mut self.special_fields
2269    }
2270
2271    fn new() -> CVirtualControllerLayoutPackage {
2272        CVirtualControllerLayoutPackage::new()
2273    }
2274
2275    fn clear(&mut self) {
2276        self.appid = ::std::option::Option::None;
2277        self.creator = ::std::option::Option::None;
2278        self.initial_revision = ::std::option::Option::None;
2279        self.saved_revision = ::std::option::Option::None;
2280        self.config.clear();
2281        self.layouts.clear();
2282        self.special_fields.clear();
2283    }
2284
2285    fn default_instance() -> &'static CVirtualControllerLayoutPackage {
2286        static instance: CVirtualControllerLayoutPackage = CVirtualControllerLayoutPackage {
2287            appid: ::std::option::Option::None,
2288            creator: ::std::option::Option::None,
2289            initial_revision: ::std::option::Option::None,
2290            saved_revision: ::std::option::Option::None,
2291            config: ::steam_vent_proto_common::protobuf::MessageField::none(),
2292            layouts: ::steam_vent_proto_common::protobuf::MessageField::none(),
2293            special_fields: ::steam_vent_proto_common::protobuf::SpecialFields::new(),
2294        };
2295        &instance
2296    }
2297}
2298
2299// @@protoc_insertion_point(message:CVirtualControllerGlobalConfig)
2300#[derive(PartialEq,Clone,Default,Debug)]
2301pub struct CVirtualControllerGlobalConfig {
2302    // message fields
2303    // @@protoc_insertion_point(field:CVirtualControllerGlobalConfig.feedback_enabled)
2304    pub feedback_enabled: ::std::option::Option<bool>,
2305    // @@protoc_insertion_point(field:CVirtualControllerGlobalConfig.gyroscope_enabled)
2306    pub gyroscope_enabled: ::std::option::Option<bool>,
2307    // @@protoc_insertion_point(field:CVirtualControllerGlobalConfig.auto_fade_enabled)
2308    pub auto_fade_enabled: ::std::option::Option<bool>,
2309    // @@protoc_insertion_point(field:CVirtualControllerGlobalConfig.rumble_enabled)
2310    pub rumble_enabled: ::std::option::Option<bool>,
2311    // @@protoc_insertion_point(field:CVirtualControllerGlobalConfig.shake_fade_enabled)
2312    pub shake_fade_enabled: ::std::option::Option<bool>,
2313    // special fields
2314    // @@protoc_insertion_point(special_field:CVirtualControllerGlobalConfig.special_fields)
2315    pub special_fields: ::steam_vent_proto_common::protobuf::SpecialFields,
2316}
2317
2318impl<'a> ::std::default::Default for &'a CVirtualControllerGlobalConfig {
2319    fn default() -> &'a CVirtualControllerGlobalConfig {
2320        <CVirtualControllerGlobalConfig as ::steam_vent_proto_common::protobuf::Message>::default_instance()
2321    }
2322}
2323
2324impl CVirtualControllerGlobalConfig {
2325    pub fn new() -> CVirtualControllerGlobalConfig {
2326        ::std::default::Default::default()
2327    }
2328
2329    // optional bool feedback_enabled = 1;
2330
2331    pub fn feedback_enabled(&self) -> bool {
2332        self.feedback_enabled.unwrap_or(false)
2333    }
2334
2335    pub fn clear_feedback_enabled(&mut self) {
2336        self.feedback_enabled = ::std::option::Option::None;
2337    }
2338
2339    pub fn has_feedback_enabled(&self) -> bool {
2340        self.feedback_enabled.is_some()
2341    }
2342
2343    // Param is passed by value, moved
2344    pub fn set_feedback_enabled(&mut self, v: bool) {
2345        self.feedback_enabled = ::std::option::Option::Some(v);
2346    }
2347
2348    // optional bool gyroscope_enabled = 2;
2349
2350    pub fn gyroscope_enabled(&self) -> bool {
2351        self.gyroscope_enabled.unwrap_or(true)
2352    }
2353
2354    pub fn clear_gyroscope_enabled(&mut self) {
2355        self.gyroscope_enabled = ::std::option::Option::None;
2356    }
2357
2358    pub fn has_gyroscope_enabled(&self) -> bool {
2359        self.gyroscope_enabled.is_some()
2360    }
2361
2362    // Param is passed by value, moved
2363    pub fn set_gyroscope_enabled(&mut self, v: bool) {
2364        self.gyroscope_enabled = ::std::option::Option::Some(v);
2365    }
2366
2367    // optional bool auto_fade_enabled = 3;
2368
2369    pub fn auto_fade_enabled(&self) -> bool {
2370        self.auto_fade_enabled.unwrap_or(true)
2371    }
2372
2373    pub fn clear_auto_fade_enabled(&mut self) {
2374        self.auto_fade_enabled = ::std::option::Option::None;
2375    }
2376
2377    pub fn has_auto_fade_enabled(&self) -> bool {
2378        self.auto_fade_enabled.is_some()
2379    }
2380
2381    // Param is passed by value, moved
2382    pub fn set_auto_fade_enabled(&mut self, v: bool) {
2383        self.auto_fade_enabled = ::std::option::Option::Some(v);
2384    }
2385
2386    // optional bool rumble_enabled = 4;
2387
2388    pub fn rumble_enabled(&self) -> bool {
2389        self.rumble_enabled.unwrap_or(true)
2390    }
2391
2392    pub fn clear_rumble_enabled(&mut self) {
2393        self.rumble_enabled = ::std::option::Option::None;
2394    }
2395
2396    pub fn has_rumble_enabled(&self) -> bool {
2397        self.rumble_enabled.is_some()
2398    }
2399
2400    // Param is passed by value, moved
2401    pub fn set_rumble_enabled(&mut self, v: bool) {
2402        self.rumble_enabled = ::std::option::Option::Some(v);
2403    }
2404
2405    // optional bool shake_fade_enabled = 5;
2406
2407    pub fn shake_fade_enabled(&self) -> bool {
2408        self.shake_fade_enabled.unwrap_or(false)
2409    }
2410
2411    pub fn clear_shake_fade_enabled(&mut self) {
2412        self.shake_fade_enabled = ::std::option::Option::None;
2413    }
2414
2415    pub fn has_shake_fade_enabled(&self) -> bool {
2416        self.shake_fade_enabled.is_some()
2417    }
2418
2419    // Param is passed by value, moved
2420    pub fn set_shake_fade_enabled(&mut self, v: bool) {
2421        self.shake_fade_enabled = ::std::option::Option::Some(v);
2422    }
2423}
2424
2425impl ::steam_vent_proto_common::protobuf::Message for CVirtualControllerGlobalConfig {
2426    const NAME: &'static str = "CVirtualControllerGlobalConfig";
2427
2428    fn is_initialized(&self) -> bool {
2429        true
2430    }
2431
2432    fn merge_from(&mut self, is: &mut ::steam_vent_proto_common::protobuf::CodedInputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
2433        while let Some(tag) = is.read_raw_tag_or_eof()? {
2434            match tag {
2435                8 => {
2436                    self.feedback_enabled = ::std::option::Option::Some(is.read_bool()?);
2437                },
2438                16 => {
2439                    self.gyroscope_enabled = ::std::option::Option::Some(is.read_bool()?);
2440                },
2441                24 => {
2442                    self.auto_fade_enabled = ::std::option::Option::Some(is.read_bool()?);
2443                },
2444                32 => {
2445                    self.rumble_enabled = ::std::option::Option::Some(is.read_bool()?);
2446                },
2447                40 => {
2448                    self.shake_fade_enabled = ::std::option::Option::Some(is.read_bool()?);
2449                },
2450                tag => {
2451                    ::steam_vent_proto_common::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
2452                },
2453            };
2454        }
2455        ::std::result::Result::Ok(())
2456    }
2457
2458    // Compute sizes of nested messages
2459    #[allow(unused_variables)]
2460    fn compute_size(&self) -> u64 {
2461        let mut my_size = 0;
2462        if let Some(v) = self.feedback_enabled {
2463            my_size += 1 + 1;
2464        }
2465        if let Some(v) = self.gyroscope_enabled {
2466            my_size += 1 + 1;
2467        }
2468        if let Some(v) = self.auto_fade_enabled {
2469            my_size += 1 + 1;
2470        }
2471        if let Some(v) = self.rumble_enabled {
2472            my_size += 1 + 1;
2473        }
2474        if let Some(v) = self.shake_fade_enabled {
2475            my_size += 1 + 1;
2476        }
2477        my_size += ::steam_vent_proto_common::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
2478        self.special_fields.cached_size().set(my_size as u32);
2479        my_size
2480    }
2481
2482    fn write_to_with_cached_sizes(&self, os: &mut ::steam_vent_proto_common::protobuf::CodedOutputStream<'_>) -> ::steam_vent_proto_common::protobuf::Result<()> {
2483        if let Some(v) = self.feedback_enabled {
2484            os.write_bool(1, v)?;
2485        }
2486        if let Some(v) = self.gyroscope_enabled {
2487            os.write_bool(2, v)?;
2488        }
2489        if let Some(v) = self.auto_fade_enabled {
2490            os.write_bool(3, v)?;
2491        }
2492        if let Some(v) = self.rumble_enabled {
2493            os.write_bool(4, v)?;
2494        }
2495        if let Some(v) = self.shake_fade_enabled {
2496            os.write_bool(5, v)?;
2497        }
2498        os.write_unknown_fields(self.special_fields.unknown_fields())?;
2499        ::std::result::Result::Ok(())
2500    }
2501
2502    fn special_fields(&self) -> &::steam_vent_proto_common::protobuf::SpecialFields {
2503        &self.special_fields
2504    }
2505
2506    fn mut_special_fields(&mut self) -> &mut ::steam_vent_proto_common::protobuf::SpecialFields {
2507        &mut self.special_fields
2508    }
2509
2510    fn new() -> CVirtualControllerGlobalConfig {
2511        CVirtualControllerGlobalConfig::new()
2512    }
2513
2514    fn clear(&mut self) {
2515        self.feedback_enabled = ::std::option::Option::None;
2516        self.gyroscope_enabled = ::std::option::Option::None;
2517        self.auto_fade_enabled = ::std::option::Option::None;
2518        self.rumble_enabled = ::std::option::Option::None;
2519        self.shake_fade_enabled = ::std::option::Option::None;
2520        self.special_fields.clear();
2521    }
2522
2523    fn default_instance() -> &'static CVirtualControllerGlobalConfig {
2524        static instance: CVirtualControllerGlobalConfig = CVirtualControllerGlobalConfig {
2525            feedback_enabled: ::std::option::Option::None,
2526            gyroscope_enabled: ::std::option::Option::None,
2527            auto_fade_enabled: ::std::option::Option::None,
2528            rumble_enabled: ::std::option::Option::None,
2529            shake_fade_enabled: ::std::option::Option::None,
2530            special_fields: ::steam_vent_proto_common::protobuf::SpecialFields::new(),
2531        };
2532        &instance
2533    }
2534}
2535
2536#[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
2537// @@protoc_insertion_point(enum:EInputMode)
2538pub enum EInputMode {
2539    // @@protoc_insertion_point(enum_value:EInputMode.k_EInputModeUnknown)
2540    k_EInputModeUnknown = 0,
2541    // @@protoc_insertion_point(enum_value:EInputMode.k_EInputModeMouse)
2542    k_EInputModeMouse = 1,
2543    // @@protoc_insertion_point(enum_value:EInputMode.k_EInputModeController)
2544    k_EInputModeController = 2,
2545    // @@protoc_insertion_point(enum_value:EInputMode.k_EInputModeMouseAndController)
2546    k_EInputModeMouseAndController = 3,
2547}
2548
2549impl ::steam_vent_proto_common::protobuf::Enum for EInputMode {
2550    const NAME: &'static str = "EInputMode";
2551
2552    fn value(&self) -> i32 {
2553        *self as i32
2554    }
2555
2556    fn from_i32(value: i32) -> ::std::option::Option<EInputMode> {
2557        match value {
2558            0 => ::std::option::Option::Some(EInputMode::k_EInputModeUnknown),
2559            1 => ::std::option::Option::Some(EInputMode::k_EInputModeMouse),
2560            2 => ::std::option::Option::Some(EInputMode::k_EInputModeController),
2561            3 => ::std::option::Option::Some(EInputMode::k_EInputModeMouseAndController),
2562            _ => ::std::option::Option::None
2563        }
2564    }
2565
2566    fn from_str(str: &str) -> ::std::option::Option<EInputMode> {
2567        match str {
2568            "k_EInputModeUnknown" => ::std::option::Option::Some(EInputMode::k_EInputModeUnknown),
2569            "k_EInputModeMouse" => ::std::option::Option::Some(EInputMode::k_EInputModeMouse),
2570            "k_EInputModeController" => ::std::option::Option::Some(EInputMode::k_EInputModeController),
2571            "k_EInputModeMouseAndController" => ::std::option::Option::Some(EInputMode::k_EInputModeMouseAndController),
2572            _ => ::std::option::Option::None
2573        }
2574    }
2575
2576    const VALUES: &'static [EInputMode] = &[
2577        EInputMode::k_EInputModeUnknown,
2578        EInputMode::k_EInputModeMouse,
2579        EInputMode::k_EInputModeController,
2580        EInputMode::k_EInputModeMouseAndController,
2581    ];
2582}
2583
2584impl ::std::default::Default for EInputMode {
2585    fn default() -> Self {
2586        EInputMode::k_EInputModeUnknown
2587    }
2588}
2589
2590
2591#[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
2592// @@protoc_insertion_point(enum:EMouseMode)
2593pub enum EMouseMode {
2594    // @@protoc_insertion_point(enum_value:EMouseMode.k_EMouseModeUnknown)
2595    k_EMouseModeUnknown = 0,
2596    // @@protoc_insertion_point(enum_value:EMouseMode.k_EMouseModeRelativeCursor)
2597    k_EMouseModeRelativeCursor = 1,
2598    // @@protoc_insertion_point(enum_value:EMouseMode.k_EMouseModeAbsoluteCursor)
2599    k_EMouseModeAbsoluteCursor = 2,
2600    // @@protoc_insertion_point(enum_value:EMouseMode.k_EMouseModeTouch)
2601    k_EMouseModeTouch = 3,
2602    // @@protoc_insertion_point(enum_value:EMouseMode.k_EMouseModeRelative)
2603    k_EMouseModeRelative = 4,
2604}
2605
2606impl ::steam_vent_proto_common::protobuf::Enum for EMouseMode {
2607    const NAME: &'static str = "EMouseMode";
2608
2609    fn value(&self) -> i32 {
2610        *self as i32
2611    }
2612
2613    fn from_i32(value: i32) -> ::std::option::Option<EMouseMode> {
2614        match value {
2615            0 => ::std::option::Option::Some(EMouseMode::k_EMouseModeUnknown),
2616            1 => ::std::option::Option::Some(EMouseMode::k_EMouseModeRelativeCursor),
2617            2 => ::std::option::Option::Some(EMouseMode::k_EMouseModeAbsoluteCursor),
2618            3 => ::std::option::Option::Some(EMouseMode::k_EMouseModeTouch),
2619            4 => ::std::option::Option::Some(EMouseMode::k_EMouseModeRelative),
2620            _ => ::std::option::Option::None
2621        }
2622    }
2623
2624    fn from_str(str: &str) -> ::std::option::Option<EMouseMode> {
2625        match str {
2626            "k_EMouseModeUnknown" => ::std::option::Option::Some(EMouseMode::k_EMouseModeUnknown),
2627            "k_EMouseModeRelativeCursor" => ::std::option::Option::Some(EMouseMode::k_EMouseModeRelativeCursor),
2628            "k_EMouseModeAbsoluteCursor" => ::std::option::Option::Some(EMouseMode::k_EMouseModeAbsoluteCursor),
2629            "k_EMouseModeTouch" => ::std::option::Option::Some(EMouseMode::k_EMouseModeTouch),
2630            "k_EMouseModeRelative" => ::std::option::Option::Some(EMouseMode::k_EMouseModeRelative),
2631            _ => ::std::option::Option::None
2632        }
2633    }
2634
2635    const VALUES: &'static [EMouseMode] = &[
2636        EMouseMode::k_EMouseModeUnknown,
2637        EMouseMode::k_EMouseModeRelativeCursor,
2638        EMouseMode::k_EMouseModeAbsoluteCursor,
2639        EMouseMode::k_EMouseModeTouch,
2640        EMouseMode::k_EMouseModeRelative,
2641    ];
2642}
2643
2644impl ::std::default::Default for EMouseMode {
2645    fn default() -> Self {
2646        EMouseMode::k_EMouseModeUnknown
2647    }
2648}
2649
2650
2651#[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
2652// @@protoc_insertion_point(enum:EControllerElementType)
2653pub enum EControllerElementType {
2654    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeNone)
2655    k_EControllerElementTypeNone = -1,
2656    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeThumb)
2657    k_EControllerElementTypeThumb = 0,
2658    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeButtonSteam)
2659    k_EControllerElementTypeButtonSteam = 1,
2660    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeJoystickLeft)
2661    k_EControllerElementTypeJoystickLeft = 2,
2662    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeButtonJoystickLeft)
2663    k_EControllerElementTypeButtonJoystickLeft = 3,
2664    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeJoystickRight)
2665    k_EControllerElementTypeJoystickRight = 4,
2666    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeButtonJoystickRight)
2667    k_EControllerElementTypeButtonJoystickRight = 5,
2668    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeDPad)
2669    k_EControllerElementTypeDPad = 6,
2670    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeButtonA)
2671    k_EControllerElementTypeButtonA = 7,
2672    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeButtonB)
2673    k_EControllerElementTypeButtonB = 8,
2674    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeButtonX)
2675    k_EControllerElementTypeButtonX = 9,
2676    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeButtonY)
2677    k_EControllerElementTypeButtonY = 10,
2678    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeButtonSelect)
2679    k_EControllerElementTypeButtonSelect = 11,
2680    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeButtonStart)
2681    k_EControllerElementTypeButtonStart = 12,
2682    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeButtonTriggerLeft)
2683    k_EControllerElementTypeButtonTriggerLeft = 13,
2684    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeButtonTriggerRight)
2685    k_EControllerElementTypeButtonTriggerRight = 14,
2686    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeButtonBumperLeft)
2687    k_EControllerElementTypeButtonBumperLeft = 15,
2688    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeButtonBumperRight)
2689    k_EControllerElementTypeButtonBumperRight = 16,
2690    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeButtonMacro0)
2691    k_EControllerElementTypeButtonMacro0 = 17,
2692    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeButtonMacro1)
2693    k_EControllerElementTypeButtonMacro1 = 18,
2694    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeButtonMacro2)
2695    k_EControllerElementTypeButtonMacro2 = 19,
2696    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeButtonMacro3)
2697    k_EControllerElementTypeButtonMacro3 = 20,
2698    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeButtonMacro4)
2699    k_EControllerElementTypeButtonMacro4 = 21,
2700    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeButtonMacro5)
2701    k_EControllerElementTypeButtonMacro5 = 22,
2702    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeButtonMacro6)
2703    k_EControllerElementTypeButtonMacro6 = 23,
2704    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeButtonMacro7)
2705    k_EControllerElementTypeButtonMacro7 = 24,
2706    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeTrackpadCenter)
2707    k_EControllerElementTypeTrackpadCenter = 25,
2708    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeTrackpadLeft)
2709    k_EControllerElementTypeTrackpadLeft = 26,
2710    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeTrackpadRight)
2711    k_EControllerElementTypeTrackpadRight = 27,
2712    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeKeyboard)
2713    k_EControllerElementTypeKeyboard = 28,
2714    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeMagnifyingGlass)
2715    k_EControllerElementTypeMagnifyingGlass = 29,
2716    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeButtonMacro1Finger)
2717    k_EControllerElementTypeButtonMacro1Finger = 30,
2718    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeButtonMacro2Finger)
2719    k_EControllerElementTypeButtonMacro2Finger = 31,
2720    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeRecordInput)
2721    k_EControllerElementTypeRecordInput = 32,
2722    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypePlaybackInput)
2723    k_EControllerElementTypePlaybackInput = 33,
2724    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypePaste)
2725    k_EControllerElementTypePaste = 34,
2726    // @@protoc_insertion_point(enum_value:EControllerElementType.k_EControllerElementTypeMax)
2727    k_EControllerElementTypeMax = 35,
2728}
2729
2730impl ::steam_vent_proto_common::protobuf::Enum for EControllerElementType {
2731    const NAME: &'static str = "EControllerElementType";
2732
2733    fn value(&self) -> i32 {
2734        *self as i32
2735    }
2736
2737    fn from_i32(value: i32) -> ::std::option::Option<EControllerElementType> {
2738        match value {
2739            -1 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeNone),
2740            0 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeThumb),
2741            1 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonSteam),
2742            2 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeJoystickLeft),
2743            3 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonJoystickLeft),
2744            4 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeJoystickRight),
2745            5 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonJoystickRight),
2746            6 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeDPad),
2747            7 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonA),
2748            8 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonB),
2749            9 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonX),
2750            10 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonY),
2751            11 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonSelect),
2752            12 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonStart),
2753            13 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonTriggerLeft),
2754            14 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonTriggerRight),
2755            15 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonBumperLeft),
2756            16 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonBumperRight),
2757            17 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonMacro0),
2758            18 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonMacro1),
2759            19 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonMacro2),
2760            20 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonMacro3),
2761            21 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonMacro4),
2762            22 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonMacro5),
2763            23 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonMacro6),
2764            24 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonMacro7),
2765            25 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeTrackpadCenter),
2766            26 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeTrackpadLeft),
2767            27 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeTrackpadRight),
2768            28 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeKeyboard),
2769            29 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeMagnifyingGlass),
2770            30 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonMacro1Finger),
2771            31 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonMacro2Finger),
2772            32 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeRecordInput),
2773            33 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypePlaybackInput),
2774            34 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypePaste),
2775            35 => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeMax),
2776            _ => ::std::option::Option::None
2777        }
2778    }
2779
2780    fn from_str(str: &str) -> ::std::option::Option<EControllerElementType> {
2781        match str {
2782            "k_EControllerElementTypeNone" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeNone),
2783            "k_EControllerElementTypeThumb" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeThumb),
2784            "k_EControllerElementTypeButtonSteam" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonSteam),
2785            "k_EControllerElementTypeJoystickLeft" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeJoystickLeft),
2786            "k_EControllerElementTypeButtonJoystickLeft" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonJoystickLeft),
2787            "k_EControllerElementTypeJoystickRight" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeJoystickRight),
2788            "k_EControllerElementTypeButtonJoystickRight" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonJoystickRight),
2789            "k_EControllerElementTypeDPad" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeDPad),
2790            "k_EControllerElementTypeButtonA" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonA),
2791            "k_EControllerElementTypeButtonB" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonB),
2792            "k_EControllerElementTypeButtonX" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonX),
2793            "k_EControllerElementTypeButtonY" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonY),
2794            "k_EControllerElementTypeButtonSelect" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonSelect),
2795            "k_EControllerElementTypeButtonStart" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonStart),
2796            "k_EControllerElementTypeButtonTriggerLeft" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonTriggerLeft),
2797            "k_EControllerElementTypeButtonTriggerRight" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonTriggerRight),
2798            "k_EControllerElementTypeButtonBumperLeft" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonBumperLeft),
2799            "k_EControllerElementTypeButtonBumperRight" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonBumperRight),
2800            "k_EControllerElementTypeButtonMacro0" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonMacro0),
2801            "k_EControllerElementTypeButtonMacro1" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonMacro1),
2802            "k_EControllerElementTypeButtonMacro2" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonMacro2),
2803            "k_EControllerElementTypeButtonMacro3" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonMacro3),
2804            "k_EControllerElementTypeButtonMacro4" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonMacro4),
2805            "k_EControllerElementTypeButtonMacro5" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonMacro5),
2806            "k_EControllerElementTypeButtonMacro6" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonMacro6),
2807            "k_EControllerElementTypeButtonMacro7" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonMacro7),
2808            "k_EControllerElementTypeTrackpadCenter" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeTrackpadCenter),
2809            "k_EControllerElementTypeTrackpadLeft" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeTrackpadLeft),
2810            "k_EControllerElementTypeTrackpadRight" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeTrackpadRight),
2811            "k_EControllerElementTypeKeyboard" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeKeyboard),
2812            "k_EControllerElementTypeMagnifyingGlass" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeMagnifyingGlass),
2813            "k_EControllerElementTypeButtonMacro1Finger" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonMacro1Finger),
2814            "k_EControllerElementTypeButtonMacro2Finger" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeButtonMacro2Finger),
2815            "k_EControllerElementTypeRecordInput" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeRecordInput),
2816            "k_EControllerElementTypePlaybackInput" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypePlaybackInput),
2817            "k_EControllerElementTypePaste" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypePaste),
2818            "k_EControllerElementTypeMax" => ::std::option::Option::Some(EControllerElementType::k_EControllerElementTypeMax),
2819            _ => ::std::option::Option::None
2820        }
2821    }
2822
2823    const VALUES: &'static [EControllerElementType] = &[
2824        EControllerElementType::k_EControllerElementTypeNone,
2825        EControllerElementType::k_EControllerElementTypeThumb,
2826        EControllerElementType::k_EControllerElementTypeButtonSteam,
2827        EControllerElementType::k_EControllerElementTypeJoystickLeft,
2828        EControllerElementType::k_EControllerElementTypeButtonJoystickLeft,
2829        EControllerElementType::k_EControllerElementTypeJoystickRight,
2830        EControllerElementType::k_EControllerElementTypeButtonJoystickRight,
2831        EControllerElementType::k_EControllerElementTypeDPad,
2832        EControllerElementType::k_EControllerElementTypeButtonA,
2833        EControllerElementType::k_EControllerElementTypeButtonB,
2834        EControllerElementType::k_EControllerElementTypeButtonX,
2835        EControllerElementType::k_EControllerElementTypeButtonY,
2836        EControllerElementType::k_EControllerElementTypeButtonSelect,
2837        EControllerElementType::k_EControllerElementTypeButtonStart,
2838        EControllerElementType::k_EControllerElementTypeButtonTriggerLeft,
2839        EControllerElementType::k_EControllerElementTypeButtonTriggerRight,
2840        EControllerElementType::k_EControllerElementTypeButtonBumperLeft,
2841        EControllerElementType::k_EControllerElementTypeButtonBumperRight,
2842        EControllerElementType::k_EControllerElementTypeButtonMacro0,
2843        EControllerElementType::k_EControllerElementTypeButtonMacro1,
2844        EControllerElementType::k_EControllerElementTypeButtonMacro2,
2845        EControllerElementType::k_EControllerElementTypeButtonMacro3,
2846        EControllerElementType::k_EControllerElementTypeButtonMacro4,
2847        EControllerElementType::k_EControllerElementTypeButtonMacro5,
2848        EControllerElementType::k_EControllerElementTypeButtonMacro6,
2849        EControllerElementType::k_EControllerElementTypeButtonMacro7,
2850        EControllerElementType::k_EControllerElementTypeTrackpadCenter,
2851        EControllerElementType::k_EControllerElementTypeTrackpadLeft,
2852        EControllerElementType::k_EControllerElementTypeTrackpadRight,
2853        EControllerElementType::k_EControllerElementTypeKeyboard,
2854        EControllerElementType::k_EControllerElementTypeMagnifyingGlass,
2855        EControllerElementType::k_EControllerElementTypeButtonMacro1Finger,
2856        EControllerElementType::k_EControllerElementTypeButtonMacro2Finger,
2857        EControllerElementType::k_EControllerElementTypeRecordInput,
2858        EControllerElementType::k_EControllerElementTypePlaybackInput,
2859        EControllerElementType::k_EControllerElementTypePaste,
2860        EControllerElementType::k_EControllerElementTypeMax,
2861    ];
2862}
2863
2864// Note, `Default` is implemented although default value is not 0
2865impl ::std::default::Default for EControllerElementType {
2866    fn default() -> Self {
2867        EControllerElementType::k_EControllerElementTypeNone
2868    }
2869}
2870
2871
2872
2873const _VENT_PROTO_VERSION_CHECK: () = ::steam_vent_proto_common::VERSION_0_5_0;
2874
2875impl ::steam_vent_proto_common::RpcMessage for CVirtualControllerElement {
2876    fn parse(reader: &mut dyn std::io::Read) -> ::steam_vent_proto_common::protobuf::Result<Self> {
2877        <Self as ::steam_vent_proto_common::protobuf::Message>::parse_from_reader(reader)
2878    }
2879    fn write(&self, writer: &mut dyn std::io::Write) -> ::steam_vent_proto_common::protobuf::Result<()> {
2880        use ::steam_vent_proto_common::protobuf::Message;
2881        self.write_to_writer(writer)
2882    }
2883    fn encode_size(&self) -> usize {
2884        use ::steam_vent_proto_common::protobuf::Message;
2885        self.compute_size() as usize
2886    }
2887}
2888impl ::steam_vent_proto_common::RpcMessage for CVirtualControllerColor {
2889    fn parse(reader: &mut dyn std::io::Read) -> ::steam_vent_proto_common::protobuf::Result<Self> {
2890        <Self as ::steam_vent_proto_common::protobuf::Message>::parse_from_reader(reader)
2891    }
2892    fn write(&self, writer: &mut dyn std::io::Write) -> ::steam_vent_proto_common::protobuf::Result<()> {
2893        use ::steam_vent_proto_common::protobuf::Message;
2894        self.write_to_writer(writer)
2895    }
2896    fn encode_size(&self) -> usize {
2897        use ::steam_vent_proto_common::protobuf::Message;
2898        self.compute_size() as usize
2899    }
2900}
2901impl ::steam_vent_proto_common::RpcMessage for CVirtualControllerLayout {
2902    fn parse(reader: &mut dyn std::io::Read) -> ::steam_vent_proto_common::protobuf::Result<Self> {
2903        <Self as ::steam_vent_proto_common::protobuf::Message>::parse_from_reader(reader)
2904    }
2905    fn write(&self, writer: &mut dyn std::io::Write) -> ::steam_vent_proto_common::protobuf::Result<()> {
2906        use ::steam_vent_proto_common::protobuf::Message;
2907        self.write_to_writer(writer)
2908    }
2909    fn encode_size(&self) -> usize {
2910        use ::steam_vent_proto_common::protobuf::Message;
2911        self.compute_size() as usize
2912    }
2913}
2914impl ::steam_vent_proto_common::RpcMessage for CVirtualControllerLayouts {
2915    fn parse(reader: &mut dyn std::io::Read) -> ::steam_vent_proto_common::protobuf::Result<Self> {
2916        <Self as ::steam_vent_proto_common::protobuf::Message>::parse_from_reader(reader)
2917    }
2918    fn write(&self, writer: &mut dyn std::io::Write) -> ::steam_vent_proto_common::protobuf::Result<()> {
2919        use ::steam_vent_proto_common::protobuf::Message;
2920        self.write_to_writer(writer)
2921    }
2922    fn encode_size(&self) -> usize {
2923        use ::steam_vent_proto_common::protobuf::Message;
2924        self.compute_size() as usize
2925    }
2926}
2927impl ::steam_vent_proto_common::RpcMessage for CVirtualControllerConfig {
2928    fn parse(reader: &mut dyn std::io::Read) -> ::steam_vent_proto_common::protobuf::Result<Self> {
2929        <Self as ::steam_vent_proto_common::protobuf::Message>::parse_from_reader(reader)
2930    }
2931    fn write(&self, writer: &mut dyn std::io::Write) -> ::steam_vent_proto_common::protobuf::Result<()> {
2932        use ::steam_vent_proto_common::protobuf::Message;
2933        self.write_to_writer(writer)
2934    }
2935    fn encode_size(&self) -> usize {
2936        use ::steam_vent_proto_common::protobuf::Message;
2937        self.compute_size() as usize
2938    }
2939}
2940impl ::steam_vent_proto_common::RpcMessage for CVirtualControllerLayoutPackage {
2941    fn parse(reader: &mut dyn std::io::Read) -> ::steam_vent_proto_common::protobuf::Result<Self> {
2942        <Self as ::steam_vent_proto_common::protobuf::Message>::parse_from_reader(reader)
2943    }
2944    fn write(&self, writer: &mut dyn std::io::Write) -> ::steam_vent_proto_common::protobuf::Result<()> {
2945        use ::steam_vent_proto_common::protobuf::Message;
2946        self.write_to_writer(writer)
2947    }
2948    fn encode_size(&self) -> usize {
2949        use ::steam_vent_proto_common::protobuf::Message;
2950        self.compute_size() as usize
2951    }
2952}
2953impl ::steam_vent_proto_common::RpcMessage for CVirtualControllerGlobalConfig {
2954    fn parse(reader: &mut dyn std::io::Read) -> ::steam_vent_proto_common::protobuf::Result<Self> {
2955        <Self as ::steam_vent_proto_common::protobuf::Message>::parse_from_reader(reader)
2956    }
2957    fn write(&self, writer: &mut dyn std::io::Write) -> ::steam_vent_proto_common::protobuf::Result<()> {
2958        use ::steam_vent_proto_common::protobuf::Message;
2959        self.write_to_writer(writer)
2960    }
2961    fn encode_size(&self) -> usize {
2962        use ::steam_vent_proto_common::protobuf::Message;
2963        self.compute_size() as usize
2964    }
2965}