1#![allow(unknown_lints)]
6#![allow(clippy::all)]
7
8#![allow(unused_attributes)]
9#![cfg_attr(rustfmt, rustfmt::skip)]
10
11#![allow(box_pointers)]
12#![allow(dead_code)]
13#![allow(missing_docs)]
14#![allow(non_camel_case_types)]
15#![allow(non_snake_case)]
16#![allow(non_upper_case_globals)]
17#![allow(trivial_casts)]
18#![allow(unused_imports)]
19#![allow(unused_results)]
20#[derive(PartialEq,Clone,Default)]
23#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))]
24pub struct Api {
25 pub name: ::std::string::String,
27 pub methods: crate::RepeatedField<Method>,
28 pub options: crate::RepeatedField<crate::well_known_types::Option>,
29 pub version: ::std::string::String,
30 pub source_context: crate::SingularPtrField<crate::well_known_types::SourceContext>,
31 pub mixins: crate::RepeatedField<Mixin>,
32 pub syntax: crate::well_known_types::Syntax,
33 #[cfg_attr(feature = "with-serde", serde(skip))]
35 pub unknown_fields: crate::UnknownFields,
36 #[cfg_attr(feature = "with-serde", serde(skip))]
37 pub cached_size: crate::CachedSize,
38}
39
40impl<'a> ::std::default::Default for &'a Api {
41 fn default() -> &'a Api {
42 <Api as crate::Message>::default_instance()
43 }
44}
45
46impl Api {
47 pub fn new() -> Api {
48 ::std::default::Default::default()
49 }
50
51 pub fn get_name(&self) -> &str {
55 &self.name
56 }
57 pub fn clear_name(&mut self) {
58 self.name.clear();
59 }
60
61 pub fn set_name(&mut self, v: ::std::string::String) {
63 self.name = v;
64 }
65
66 pub fn mut_name(&mut self) -> &mut ::std::string::String {
69 &mut self.name
70 }
71
72 pub fn take_name(&mut self) -> ::std::string::String {
74 ::std::mem::replace(&mut self.name, ::std::string::String::new())
75 }
76
77 pub fn get_methods(&self) -> &[Method] {
81 &self.methods
82 }
83 pub fn clear_methods(&mut self) {
84 self.methods.clear();
85 }
86
87 pub fn set_methods(&mut self, v: crate::RepeatedField<Method>) {
89 self.methods = v;
90 }
91
92 pub fn mut_methods(&mut self) -> &mut crate::RepeatedField<Method> {
94 &mut self.methods
95 }
96
97 pub fn take_methods(&mut self) -> crate::RepeatedField<Method> {
99 ::std::mem::replace(&mut self.methods, crate::RepeatedField::new())
100 }
101
102 pub fn get_options(&self) -> &[crate::well_known_types::Option] {
106 &self.options
107 }
108 pub fn clear_options(&mut self) {
109 self.options.clear();
110 }
111
112 pub fn set_options(&mut self, v: crate::RepeatedField<crate::well_known_types::Option>) {
114 self.options = v;
115 }
116
117 pub fn mut_options(&mut self) -> &mut crate::RepeatedField<crate::well_known_types::Option> {
119 &mut self.options
120 }
121
122 pub fn take_options(&mut self) -> crate::RepeatedField<crate::well_known_types::Option> {
124 ::std::mem::replace(&mut self.options, crate::RepeatedField::new())
125 }
126
127 pub fn get_version(&self) -> &str {
131 &self.version
132 }
133 pub fn clear_version(&mut self) {
134 self.version.clear();
135 }
136
137 pub fn set_version(&mut self, v: ::std::string::String) {
139 self.version = v;
140 }
141
142 pub fn mut_version(&mut self) -> &mut ::std::string::String {
145 &mut self.version
146 }
147
148 pub fn take_version(&mut self) -> ::std::string::String {
150 ::std::mem::replace(&mut self.version, ::std::string::String::new())
151 }
152
153 pub fn get_source_context(&self) -> &crate::well_known_types::SourceContext {
157 self.source_context.as_ref().unwrap_or_else(|| <crate::well_known_types::SourceContext as crate::Message>::default_instance())
158 }
159 pub fn clear_source_context(&mut self) {
160 self.source_context.clear();
161 }
162
163 pub fn has_source_context(&self) -> bool {
164 self.source_context.is_some()
165 }
166
167 pub fn set_source_context(&mut self, v: crate::well_known_types::SourceContext) {
169 self.source_context = crate::SingularPtrField::some(v);
170 }
171
172 pub fn mut_source_context(&mut self) -> &mut crate::well_known_types::SourceContext {
175 if self.source_context.is_none() {
176 self.source_context.set_default();
177 }
178 self.source_context.as_mut().unwrap()
179 }
180
181 pub fn take_source_context(&mut self) -> crate::well_known_types::SourceContext {
183 self.source_context.take().unwrap_or_else(|| crate::well_known_types::SourceContext::new())
184 }
185
186 pub fn get_mixins(&self) -> &[Mixin] {
190 &self.mixins
191 }
192 pub fn clear_mixins(&mut self) {
193 self.mixins.clear();
194 }
195
196 pub fn set_mixins(&mut self, v: crate::RepeatedField<Mixin>) {
198 self.mixins = v;
199 }
200
201 pub fn mut_mixins(&mut self) -> &mut crate::RepeatedField<Mixin> {
203 &mut self.mixins
204 }
205
206 pub fn take_mixins(&mut self) -> crate::RepeatedField<Mixin> {
208 ::std::mem::replace(&mut self.mixins, crate::RepeatedField::new())
209 }
210
211 pub fn get_syntax(&self) -> crate::well_known_types::Syntax {
215 self.syntax
216 }
217 pub fn clear_syntax(&mut self) {
218 self.syntax = crate::well_known_types::Syntax::SYNTAX_PROTO2;
219 }
220
221 pub fn set_syntax(&mut self, v: crate::well_known_types::Syntax) {
223 self.syntax = v;
224 }
225}
226
227impl crate::Message for Api {
228 fn is_initialized(&self) -> bool {
229 for v in &self.methods {
230 if !v.is_initialized() {
231 return false;
232 }
233 };
234 for v in &self.options {
235 if !v.is_initialized() {
236 return false;
237 }
238 };
239 for v in &self.source_context {
240 if !v.is_initialized() {
241 return false;
242 }
243 };
244 for v in &self.mixins {
245 if !v.is_initialized() {
246 return false;
247 }
248 };
249 true
250 }
251
252 fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::ProtobufResult<()> {
253 while !is.eof()? {
254 let (field_number, wire_type) = is.read_tag_unpack()?;
255 match field_number {
256 1 => {
257 crate::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
258 },
259 2 => {
260 crate::rt::read_repeated_message_into(wire_type, is, &mut self.methods)?;
261 },
262 3 => {
263 crate::rt::read_repeated_message_into(wire_type, is, &mut self.options)?;
264 },
265 4 => {
266 crate::rt::read_singular_proto3_string_into(wire_type, is, &mut self.version)?;
267 },
268 5 => {
269 crate::rt::read_singular_message_into(wire_type, is, &mut self.source_context)?;
270 },
271 6 => {
272 crate::rt::read_repeated_message_into(wire_type, is, &mut self.mixins)?;
273 },
274 7 => {
275 crate::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.syntax, 7, &mut self.unknown_fields)?
276 },
277 _ => {
278 crate::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
279 },
280 };
281 }
282 ::std::result::Result::Ok(())
283 }
284
285 #[allow(unused_variables)]
287 fn compute_size(&self) -> u32 {
288 let mut my_size = 0;
289 if !self.name.is_empty() {
290 my_size += crate::rt::string_size(1, &self.name);
291 }
292 for value in &self.methods {
293 let len = value.compute_size();
294 my_size += 1 + crate::rt::compute_raw_varint32_size(len) + len;
295 };
296 for value in &self.options {
297 let len = value.compute_size();
298 my_size += 1 + crate::rt::compute_raw_varint32_size(len) + len;
299 };
300 if !self.version.is_empty() {
301 my_size += crate::rt::string_size(4, &self.version);
302 }
303 if let Some(ref v) = self.source_context.as_ref() {
304 let len = v.compute_size();
305 my_size += 1 + crate::rt::compute_raw_varint32_size(len) + len;
306 }
307 for value in &self.mixins {
308 let len = value.compute_size();
309 my_size += 1 + crate::rt::compute_raw_varint32_size(len) + len;
310 };
311 if self.syntax != crate::well_known_types::Syntax::SYNTAX_PROTO2 {
312 my_size += crate::rt::enum_size(7, self.syntax);
313 }
314 my_size += crate::rt::unknown_fields_size(self.get_unknown_fields());
315 self.cached_size.set(my_size);
316 my_size
317 }
318
319 fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::ProtobufResult<()> {
320 if !self.name.is_empty() {
321 os.write_string(1, &self.name)?;
322 }
323 for v in &self.methods {
324 os.write_tag(2, crate::wire_format::WireTypeLengthDelimited)?;
325 os.write_raw_varint32(v.get_cached_size())?;
326 v.write_to_with_cached_sizes(os)?;
327 };
328 for v in &self.options {
329 os.write_tag(3, crate::wire_format::WireTypeLengthDelimited)?;
330 os.write_raw_varint32(v.get_cached_size())?;
331 v.write_to_with_cached_sizes(os)?;
332 };
333 if !self.version.is_empty() {
334 os.write_string(4, &self.version)?;
335 }
336 if let Some(ref v) = self.source_context.as_ref() {
337 os.write_tag(5, crate::wire_format::WireTypeLengthDelimited)?;
338 os.write_raw_varint32(v.get_cached_size())?;
339 v.write_to_with_cached_sizes(os)?;
340 }
341 for v in &self.mixins {
342 os.write_tag(6, crate::wire_format::WireTypeLengthDelimited)?;
343 os.write_raw_varint32(v.get_cached_size())?;
344 v.write_to_with_cached_sizes(os)?;
345 };
346 if self.syntax != crate::well_known_types::Syntax::SYNTAX_PROTO2 {
347 os.write_enum(7, crate::ProtobufEnum::value(&self.syntax))?;
348 }
349 os.write_unknown_fields(self.get_unknown_fields())?;
350 ::std::result::Result::Ok(())
351 }
352
353 fn get_cached_size(&self) -> u32 {
354 self.cached_size.get()
355 }
356
357 fn get_unknown_fields(&self) -> &crate::UnknownFields {
358 &self.unknown_fields
359 }
360
361 fn mut_unknown_fields(&mut self) -> &mut crate::UnknownFields {
362 &mut self.unknown_fields
363 }
364
365 fn as_any(&self) -> &dyn (::std::any::Any) {
366 self as &dyn (::std::any::Any)
367 }
368 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
369 self as &mut dyn (::std::any::Any)
370 }
371 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
372 self
373 }
374
375 fn descriptor(&self) -> &'static crate::reflect::MessageDescriptor {
376 Self::descriptor_static()
377 }
378
379 fn new() -> Api {
380 Api::new()
381 }
382
383 fn descriptor_static() -> &'static crate::reflect::MessageDescriptor {
384 static descriptor: crate::rt::LazyV2<crate::reflect::MessageDescriptor> = crate::rt::LazyV2::INIT;
385 descriptor.get(|| {
386 let mut fields = ::std::vec::Vec::new();
387 fields.push(crate::reflect::accessor::make_simple_field_accessor::<_, crate::types::ProtobufTypeString>(
388 "name",
389 |m: &Api| { &m.name },
390 |m: &mut Api| { &mut m.name },
391 ));
392 fields.push(crate::reflect::accessor::make_repeated_field_accessor::<_, crate::types::ProtobufTypeMessage<Method>>(
393 "methods",
394 |m: &Api| { &m.methods },
395 |m: &mut Api| { &mut m.methods },
396 ));
397 fields.push(crate::reflect::accessor::make_repeated_field_accessor::<_, crate::types::ProtobufTypeMessage<crate::well_known_types::Option>>(
398 "options",
399 |m: &Api| { &m.options },
400 |m: &mut Api| { &mut m.options },
401 ));
402 fields.push(crate::reflect::accessor::make_simple_field_accessor::<_, crate::types::ProtobufTypeString>(
403 "version",
404 |m: &Api| { &m.version },
405 |m: &mut Api| { &mut m.version },
406 ));
407 fields.push(crate::reflect::accessor::make_singular_ptr_field_accessor::<_, crate::types::ProtobufTypeMessage<crate::well_known_types::SourceContext>>(
408 "source_context",
409 |m: &Api| { &m.source_context },
410 |m: &mut Api| { &mut m.source_context },
411 ));
412 fields.push(crate::reflect::accessor::make_repeated_field_accessor::<_, crate::types::ProtobufTypeMessage<Mixin>>(
413 "mixins",
414 |m: &Api| { &m.mixins },
415 |m: &mut Api| { &mut m.mixins },
416 ));
417 fields.push(crate::reflect::accessor::make_simple_field_accessor::<_, crate::types::ProtobufTypeEnum<crate::well_known_types::Syntax>>(
418 "syntax",
419 |m: &Api| { &m.syntax },
420 |m: &mut Api| { &mut m.syntax },
421 ));
422 crate::reflect::MessageDescriptor::new_pb_name::<Api>(
423 "Api",
424 fields,
425 file_descriptor_proto()
426 )
427 })
428 }
429
430 fn default_instance() -> &'static Api {
431 static instance: crate::rt::LazyV2<Api> = crate::rt::LazyV2::INIT;
432 instance.get(Api::new)
433 }
434}
435
436impl crate::Clear for Api {
437 fn clear(&mut self) {
438 self.name.clear();
439 self.methods.clear();
440 self.options.clear();
441 self.version.clear();
442 self.source_context.clear();
443 self.mixins.clear();
444 self.syntax = crate::well_known_types::Syntax::SYNTAX_PROTO2;
445 self.unknown_fields.clear();
446 }
447}
448
449impl ::std::fmt::Debug for Api {
450 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
451 crate::text_format::fmt(self, f)
452 }
453}
454
455impl crate::reflect::ProtobufValue for Api {
456 fn as_ref(&self) -> crate::reflect::ReflectValueRef {
457 crate::reflect::ReflectValueRef::Message(self)
458 }
459}
460
461#[derive(PartialEq,Clone,Default)]
462#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))]
463pub struct Method {
464 pub name: ::std::string::String,
466 pub request_type_url: ::std::string::String,
467 pub request_streaming: bool,
468 pub response_type_url: ::std::string::String,
469 pub response_streaming: bool,
470 pub options: crate::RepeatedField<crate::well_known_types::Option>,
471 pub syntax: crate::well_known_types::Syntax,
472 #[cfg_attr(feature = "with-serde", serde(skip))]
474 pub unknown_fields: crate::UnknownFields,
475 #[cfg_attr(feature = "with-serde", serde(skip))]
476 pub cached_size: crate::CachedSize,
477}
478
479impl<'a> ::std::default::Default for &'a Method {
480 fn default() -> &'a Method {
481 <Method as crate::Message>::default_instance()
482 }
483}
484
485impl Method {
486 pub fn new() -> Method {
487 ::std::default::Default::default()
488 }
489
490 pub fn get_name(&self) -> &str {
494 &self.name
495 }
496 pub fn clear_name(&mut self) {
497 self.name.clear();
498 }
499
500 pub fn set_name(&mut self, v: ::std::string::String) {
502 self.name = v;
503 }
504
505 pub fn mut_name(&mut self) -> &mut ::std::string::String {
508 &mut self.name
509 }
510
511 pub fn take_name(&mut self) -> ::std::string::String {
513 ::std::mem::replace(&mut self.name, ::std::string::String::new())
514 }
515
516 pub fn get_request_type_url(&self) -> &str {
520 &self.request_type_url
521 }
522 pub fn clear_request_type_url(&mut self) {
523 self.request_type_url.clear();
524 }
525
526 pub fn set_request_type_url(&mut self, v: ::std::string::String) {
528 self.request_type_url = v;
529 }
530
531 pub fn mut_request_type_url(&mut self) -> &mut ::std::string::String {
534 &mut self.request_type_url
535 }
536
537 pub fn take_request_type_url(&mut self) -> ::std::string::String {
539 ::std::mem::replace(&mut self.request_type_url, ::std::string::String::new())
540 }
541
542 pub fn get_request_streaming(&self) -> bool {
546 self.request_streaming
547 }
548 pub fn clear_request_streaming(&mut self) {
549 self.request_streaming = false;
550 }
551
552 pub fn set_request_streaming(&mut self, v: bool) {
554 self.request_streaming = v;
555 }
556
557 pub fn get_response_type_url(&self) -> &str {
561 &self.response_type_url
562 }
563 pub fn clear_response_type_url(&mut self) {
564 self.response_type_url.clear();
565 }
566
567 pub fn set_response_type_url(&mut self, v: ::std::string::String) {
569 self.response_type_url = v;
570 }
571
572 pub fn mut_response_type_url(&mut self) -> &mut ::std::string::String {
575 &mut self.response_type_url
576 }
577
578 pub fn take_response_type_url(&mut self) -> ::std::string::String {
580 ::std::mem::replace(&mut self.response_type_url, ::std::string::String::new())
581 }
582
583 pub fn get_response_streaming(&self) -> bool {
587 self.response_streaming
588 }
589 pub fn clear_response_streaming(&mut self) {
590 self.response_streaming = false;
591 }
592
593 pub fn set_response_streaming(&mut self, v: bool) {
595 self.response_streaming = v;
596 }
597
598 pub fn get_options(&self) -> &[crate::well_known_types::Option] {
602 &self.options
603 }
604 pub fn clear_options(&mut self) {
605 self.options.clear();
606 }
607
608 pub fn set_options(&mut self, v: crate::RepeatedField<crate::well_known_types::Option>) {
610 self.options = v;
611 }
612
613 pub fn mut_options(&mut self) -> &mut crate::RepeatedField<crate::well_known_types::Option> {
615 &mut self.options
616 }
617
618 pub fn take_options(&mut self) -> crate::RepeatedField<crate::well_known_types::Option> {
620 ::std::mem::replace(&mut self.options, crate::RepeatedField::new())
621 }
622
623 pub fn get_syntax(&self) -> crate::well_known_types::Syntax {
627 self.syntax
628 }
629 pub fn clear_syntax(&mut self) {
630 self.syntax = crate::well_known_types::Syntax::SYNTAX_PROTO2;
631 }
632
633 pub fn set_syntax(&mut self, v: crate::well_known_types::Syntax) {
635 self.syntax = v;
636 }
637}
638
639impl crate::Message for Method {
640 fn is_initialized(&self) -> bool {
641 for v in &self.options {
642 if !v.is_initialized() {
643 return false;
644 }
645 };
646 true
647 }
648
649 fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::ProtobufResult<()> {
650 while !is.eof()? {
651 let (field_number, wire_type) = is.read_tag_unpack()?;
652 match field_number {
653 1 => {
654 crate::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
655 },
656 2 => {
657 crate::rt::read_singular_proto3_string_into(wire_type, is, &mut self.request_type_url)?;
658 },
659 3 => {
660 if wire_type != crate::wire_format::WireTypeVarint {
661 return ::std::result::Result::Err(crate::rt::unexpected_wire_type(wire_type));
662 }
663 let tmp = is.read_bool()?;
664 self.request_streaming = tmp;
665 },
666 4 => {
667 crate::rt::read_singular_proto3_string_into(wire_type, is, &mut self.response_type_url)?;
668 },
669 5 => {
670 if wire_type != crate::wire_format::WireTypeVarint {
671 return ::std::result::Result::Err(crate::rt::unexpected_wire_type(wire_type));
672 }
673 let tmp = is.read_bool()?;
674 self.response_streaming = tmp;
675 },
676 6 => {
677 crate::rt::read_repeated_message_into(wire_type, is, &mut self.options)?;
678 },
679 7 => {
680 crate::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.syntax, 7, &mut self.unknown_fields)?
681 },
682 _ => {
683 crate::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
684 },
685 };
686 }
687 ::std::result::Result::Ok(())
688 }
689
690 #[allow(unused_variables)]
692 fn compute_size(&self) -> u32 {
693 let mut my_size = 0;
694 if !self.name.is_empty() {
695 my_size += crate::rt::string_size(1, &self.name);
696 }
697 if !self.request_type_url.is_empty() {
698 my_size += crate::rt::string_size(2, &self.request_type_url);
699 }
700 if self.request_streaming != false {
701 my_size += 2;
702 }
703 if !self.response_type_url.is_empty() {
704 my_size += crate::rt::string_size(4, &self.response_type_url);
705 }
706 if self.response_streaming != false {
707 my_size += 2;
708 }
709 for value in &self.options {
710 let len = value.compute_size();
711 my_size += 1 + crate::rt::compute_raw_varint32_size(len) + len;
712 };
713 if self.syntax != crate::well_known_types::Syntax::SYNTAX_PROTO2 {
714 my_size += crate::rt::enum_size(7, self.syntax);
715 }
716 my_size += crate::rt::unknown_fields_size(self.get_unknown_fields());
717 self.cached_size.set(my_size);
718 my_size
719 }
720
721 fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::ProtobufResult<()> {
722 if !self.name.is_empty() {
723 os.write_string(1, &self.name)?;
724 }
725 if !self.request_type_url.is_empty() {
726 os.write_string(2, &self.request_type_url)?;
727 }
728 if self.request_streaming != false {
729 os.write_bool(3, self.request_streaming)?;
730 }
731 if !self.response_type_url.is_empty() {
732 os.write_string(4, &self.response_type_url)?;
733 }
734 if self.response_streaming != false {
735 os.write_bool(5, self.response_streaming)?;
736 }
737 for v in &self.options {
738 os.write_tag(6, crate::wire_format::WireTypeLengthDelimited)?;
739 os.write_raw_varint32(v.get_cached_size())?;
740 v.write_to_with_cached_sizes(os)?;
741 };
742 if self.syntax != crate::well_known_types::Syntax::SYNTAX_PROTO2 {
743 os.write_enum(7, crate::ProtobufEnum::value(&self.syntax))?;
744 }
745 os.write_unknown_fields(self.get_unknown_fields())?;
746 ::std::result::Result::Ok(())
747 }
748
749 fn get_cached_size(&self) -> u32 {
750 self.cached_size.get()
751 }
752
753 fn get_unknown_fields(&self) -> &crate::UnknownFields {
754 &self.unknown_fields
755 }
756
757 fn mut_unknown_fields(&mut self) -> &mut crate::UnknownFields {
758 &mut self.unknown_fields
759 }
760
761 fn as_any(&self) -> &dyn (::std::any::Any) {
762 self as &dyn (::std::any::Any)
763 }
764 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
765 self as &mut dyn (::std::any::Any)
766 }
767 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
768 self
769 }
770
771 fn descriptor(&self) -> &'static crate::reflect::MessageDescriptor {
772 Self::descriptor_static()
773 }
774
775 fn new() -> Method {
776 Method::new()
777 }
778
779 fn descriptor_static() -> &'static crate::reflect::MessageDescriptor {
780 static descriptor: crate::rt::LazyV2<crate::reflect::MessageDescriptor> = crate::rt::LazyV2::INIT;
781 descriptor.get(|| {
782 let mut fields = ::std::vec::Vec::new();
783 fields.push(crate::reflect::accessor::make_simple_field_accessor::<_, crate::types::ProtobufTypeString>(
784 "name",
785 |m: &Method| { &m.name },
786 |m: &mut Method| { &mut m.name },
787 ));
788 fields.push(crate::reflect::accessor::make_simple_field_accessor::<_, crate::types::ProtobufTypeString>(
789 "request_type_url",
790 |m: &Method| { &m.request_type_url },
791 |m: &mut Method| { &mut m.request_type_url },
792 ));
793 fields.push(crate::reflect::accessor::make_simple_field_accessor::<_, crate::types::ProtobufTypeBool>(
794 "request_streaming",
795 |m: &Method| { &m.request_streaming },
796 |m: &mut Method| { &mut m.request_streaming },
797 ));
798 fields.push(crate::reflect::accessor::make_simple_field_accessor::<_, crate::types::ProtobufTypeString>(
799 "response_type_url",
800 |m: &Method| { &m.response_type_url },
801 |m: &mut Method| { &mut m.response_type_url },
802 ));
803 fields.push(crate::reflect::accessor::make_simple_field_accessor::<_, crate::types::ProtobufTypeBool>(
804 "response_streaming",
805 |m: &Method| { &m.response_streaming },
806 |m: &mut Method| { &mut m.response_streaming },
807 ));
808 fields.push(crate::reflect::accessor::make_repeated_field_accessor::<_, crate::types::ProtobufTypeMessage<crate::well_known_types::Option>>(
809 "options",
810 |m: &Method| { &m.options },
811 |m: &mut Method| { &mut m.options },
812 ));
813 fields.push(crate::reflect::accessor::make_simple_field_accessor::<_, crate::types::ProtobufTypeEnum<crate::well_known_types::Syntax>>(
814 "syntax",
815 |m: &Method| { &m.syntax },
816 |m: &mut Method| { &mut m.syntax },
817 ));
818 crate::reflect::MessageDescriptor::new_pb_name::<Method>(
819 "Method",
820 fields,
821 file_descriptor_proto()
822 )
823 })
824 }
825
826 fn default_instance() -> &'static Method {
827 static instance: crate::rt::LazyV2<Method> = crate::rt::LazyV2::INIT;
828 instance.get(Method::new)
829 }
830}
831
832impl crate::Clear for Method {
833 fn clear(&mut self) {
834 self.name.clear();
835 self.request_type_url.clear();
836 self.request_streaming = false;
837 self.response_type_url.clear();
838 self.response_streaming = false;
839 self.options.clear();
840 self.syntax = crate::well_known_types::Syntax::SYNTAX_PROTO2;
841 self.unknown_fields.clear();
842 }
843}
844
845impl ::std::fmt::Debug for Method {
846 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
847 crate::text_format::fmt(self, f)
848 }
849}
850
851impl crate::reflect::ProtobufValue for Method {
852 fn as_ref(&self) -> crate::reflect::ReflectValueRef {
853 crate::reflect::ReflectValueRef::Message(self)
854 }
855}
856
857#[derive(PartialEq,Clone,Default)]
858#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))]
859pub struct Mixin {
860 pub name: ::std::string::String,
862 pub root: ::std::string::String,
863 #[cfg_attr(feature = "with-serde", serde(skip))]
865 pub unknown_fields: crate::UnknownFields,
866 #[cfg_attr(feature = "with-serde", serde(skip))]
867 pub cached_size: crate::CachedSize,
868}
869
870impl<'a> ::std::default::Default for &'a Mixin {
871 fn default() -> &'a Mixin {
872 <Mixin as crate::Message>::default_instance()
873 }
874}
875
876impl Mixin {
877 pub fn new() -> Mixin {
878 ::std::default::Default::default()
879 }
880
881 pub fn get_name(&self) -> &str {
885 &self.name
886 }
887 pub fn clear_name(&mut self) {
888 self.name.clear();
889 }
890
891 pub fn set_name(&mut self, v: ::std::string::String) {
893 self.name = v;
894 }
895
896 pub fn mut_name(&mut self) -> &mut ::std::string::String {
899 &mut self.name
900 }
901
902 pub fn take_name(&mut self) -> ::std::string::String {
904 ::std::mem::replace(&mut self.name, ::std::string::String::new())
905 }
906
907 pub fn get_root(&self) -> &str {
911 &self.root
912 }
913 pub fn clear_root(&mut self) {
914 self.root.clear();
915 }
916
917 pub fn set_root(&mut self, v: ::std::string::String) {
919 self.root = v;
920 }
921
922 pub fn mut_root(&mut self) -> &mut ::std::string::String {
925 &mut self.root
926 }
927
928 pub fn take_root(&mut self) -> ::std::string::String {
930 ::std::mem::replace(&mut self.root, ::std::string::String::new())
931 }
932}
933
934impl crate::Message for Mixin {
935 fn is_initialized(&self) -> bool {
936 true
937 }
938
939 fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::ProtobufResult<()> {
940 while !is.eof()? {
941 let (field_number, wire_type) = is.read_tag_unpack()?;
942 match field_number {
943 1 => {
944 crate::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
945 },
946 2 => {
947 crate::rt::read_singular_proto3_string_into(wire_type, is, &mut self.root)?;
948 },
949 _ => {
950 crate::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
951 },
952 };
953 }
954 ::std::result::Result::Ok(())
955 }
956
957 #[allow(unused_variables)]
959 fn compute_size(&self) -> u32 {
960 let mut my_size = 0;
961 if !self.name.is_empty() {
962 my_size += crate::rt::string_size(1, &self.name);
963 }
964 if !self.root.is_empty() {
965 my_size += crate::rt::string_size(2, &self.root);
966 }
967 my_size += crate::rt::unknown_fields_size(self.get_unknown_fields());
968 self.cached_size.set(my_size);
969 my_size
970 }
971
972 fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::ProtobufResult<()> {
973 if !self.name.is_empty() {
974 os.write_string(1, &self.name)?;
975 }
976 if !self.root.is_empty() {
977 os.write_string(2, &self.root)?;
978 }
979 os.write_unknown_fields(self.get_unknown_fields())?;
980 ::std::result::Result::Ok(())
981 }
982
983 fn get_cached_size(&self) -> u32 {
984 self.cached_size.get()
985 }
986
987 fn get_unknown_fields(&self) -> &crate::UnknownFields {
988 &self.unknown_fields
989 }
990
991 fn mut_unknown_fields(&mut self) -> &mut crate::UnknownFields {
992 &mut self.unknown_fields
993 }
994
995 fn as_any(&self) -> &dyn (::std::any::Any) {
996 self as &dyn (::std::any::Any)
997 }
998 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
999 self as &mut dyn (::std::any::Any)
1000 }
1001 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1002 self
1003 }
1004
1005 fn descriptor(&self) -> &'static crate::reflect::MessageDescriptor {
1006 Self::descriptor_static()
1007 }
1008
1009 fn new() -> Mixin {
1010 Mixin::new()
1011 }
1012
1013 fn descriptor_static() -> &'static crate::reflect::MessageDescriptor {
1014 static descriptor: crate::rt::LazyV2<crate::reflect::MessageDescriptor> = crate::rt::LazyV2::INIT;
1015 descriptor.get(|| {
1016 let mut fields = ::std::vec::Vec::new();
1017 fields.push(crate::reflect::accessor::make_simple_field_accessor::<_, crate::types::ProtobufTypeString>(
1018 "name",
1019 |m: &Mixin| { &m.name },
1020 |m: &mut Mixin| { &mut m.name },
1021 ));
1022 fields.push(crate::reflect::accessor::make_simple_field_accessor::<_, crate::types::ProtobufTypeString>(
1023 "root",
1024 |m: &Mixin| { &m.root },
1025 |m: &mut Mixin| { &mut m.root },
1026 ));
1027 crate::reflect::MessageDescriptor::new_pb_name::<Mixin>(
1028 "Mixin",
1029 fields,
1030 file_descriptor_proto()
1031 )
1032 })
1033 }
1034
1035 fn default_instance() -> &'static Mixin {
1036 static instance: crate::rt::LazyV2<Mixin> = crate::rt::LazyV2::INIT;
1037 instance.get(Mixin::new)
1038 }
1039}
1040
1041impl crate::Clear for Mixin {
1042 fn clear(&mut self) {
1043 self.name.clear();
1044 self.root.clear();
1045 self.unknown_fields.clear();
1046 }
1047}
1048
1049impl ::std::fmt::Debug for Mixin {
1050 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1051 crate::text_format::fmt(self, f)
1052 }
1053}
1054
1055impl crate::reflect::ProtobufValue for Mixin {
1056 fn as_ref(&self) -> crate::reflect::ReflectValueRef {
1057 crate::reflect::ReflectValueRef::Message(self)
1058 }
1059}
1060
1061static file_descriptor_proto_data: &'static [u8] = b"\
1062 \n\x19google/protobuf/api.proto\x12\x0fgoogle.protobuf\x1a$google/protob\
1063 uf/source_context.proto\x1a\x1agoogle/protobuf/type.proto\"\xc1\x02\n\
1064 \x03Api\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\x121\n\x07methods\
1065 \x18\x02\x20\x03(\x0b2\x17.google.protobuf.MethodR\x07methods\x121\n\x07\
1066 options\x18\x03\x20\x03(\x0b2\x17.google.protobuf.OptionR\x07options\x12\
1067 \x18\n\x07version\x18\x04\x20\x01(\tR\x07version\x12E\n\x0esource_contex\
1068 t\x18\x05\x20\x01(\x0b2\x1e.google.protobuf.SourceContextR\rsourceContex\
1069 t\x12.\n\x06mixins\x18\x06\x20\x03(\x0b2\x16.google.protobuf.MixinR\x06m\
1070 ixins\x12/\n\x06syntax\x18\x07\x20\x01(\x0e2\x17.google.protobuf.SyntaxR\
1071 \x06syntax\"\xb2\x02\n\x06Method\x12\x12\n\x04name\x18\x01\x20\x01(\tR\
1072 \x04name\x12(\n\x10request_type_url\x18\x02\x20\x01(\tR\x0erequestTypeUr\
1073 l\x12+\n\x11request_streaming\x18\x03\x20\x01(\x08R\x10requestStreaming\
1074 \x12*\n\x11response_type_url\x18\x04\x20\x01(\tR\x0fresponseTypeUrl\x12-\
1075 \n\x12response_streaming\x18\x05\x20\x01(\x08R\x11responseStreaming\x121\
1076 \n\x07options\x18\x06\x20\x03(\x0b2\x17.google.protobuf.OptionR\x07optio\
1077 ns\x12/\n\x06syntax\x18\x07\x20\x01(\x0e2\x17.google.protobuf.SyntaxR\
1078 \x06syntax\"/\n\x05Mixin\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\
1079 \x12\x12\n\x04root\x18\x02\x20\x01(\tR\x04rootBv\n\x13com.google.protobu\
1080 fB\x08ApiProtoP\x01Z,google.golang.org/protobuf/types/known/apipb\xa2\
1081 \x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesJ\x81<\n\x07\x12\
1082 \x05\x1e\0\xcf\x01\x01\n\xcc\x0c\n\x01\x0c\x12\x03\x1e\0\x122\xc1\x0c\
1083 \x20Protocol\x20Buffers\x20-\x20Google's\x20data\x20interchange\x20forma\
1084 t\n\x20Copyright\x202008\x20Google\x20Inc.\x20\x20All\x20rights\x20reser\
1085 ved.\n\x20https://developers.google.com/protocol-buffers/\n\n\x20Redistr\
1086 ibution\x20and\x20use\x20in\x20source\x20and\x20binary\x20forms,\x20with\
1087 \x20or\x20without\n\x20modification,\x20are\x20permitted\x20provided\x20\
1088 that\x20the\x20following\x20conditions\x20are\n\x20met:\n\n\x20\x20\x20\
1089 \x20\x20*\x20Redistributions\x20of\x20source\x20code\x20must\x20retain\
1090 \x20the\x20above\x20copyright\n\x20notice,\x20this\x20list\x20of\x20cond\
1091 itions\x20and\x20the\x20following\x20disclaimer.\n\x20\x20\x20\x20\x20*\
1092 \x20Redistributions\x20in\x20binary\x20form\x20must\x20reproduce\x20the\
1093 \x20above\n\x20copyright\x20notice,\x20this\x20list\x20of\x20conditions\
1094 \x20and\x20the\x20following\x20disclaimer\n\x20in\x20the\x20documentatio\
1095 n\x20and/or\x20other\x20materials\x20provided\x20with\x20the\n\x20distri\
1096 bution.\n\x20\x20\x20\x20\x20*\x20Neither\x20the\x20name\x20of\x20Google\
1097 \x20Inc.\x20nor\x20the\x20names\x20of\x20its\n\x20contributors\x20may\
1098 \x20be\x20used\x20to\x20endorse\x20or\x20promote\x20products\x20derived\
1099 \x20from\n\x20this\x20software\x20without\x20specific\x20prior\x20writte\
1100 n\x20permission.\n\n\x20THIS\x20SOFTWARE\x20IS\x20PROVIDED\x20BY\x20THE\
1101 \x20COPYRIGHT\x20HOLDERS\x20AND\x20CONTRIBUTORS\n\x20\"AS\x20IS\"\x20AND\
1102 \x20ANY\x20EXPRESS\x20OR\x20IMPLIED\x20WARRANTIES,\x20INCLUDING,\x20BUT\
1103 \x20NOT\n\x20LIMITED\x20TO,\x20THE\x20IMPLIED\x20WARRANTIES\x20OF\x20MER\
1104 CHANTABILITY\x20AND\x20FITNESS\x20FOR\n\x20A\x20PARTICULAR\x20PURPOSE\
1105 \x20ARE\x20DISCLAIMED.\x20IN\x20NO\x20EVENT\x20SHALL\x20THE\x20COPYRIGHT\
1106 \n\x20OWNER\x20OR\x20CONTRIBUTORS\x20BE\x20LIABLE\x20FOR\x20ANY\x20DIREC\
1107 T,\x20INDIRECT,\x20INCIDENTAL,\n\x20SPECIAL,\x20EXEMPLARY,\x20OR\x20CONS\
1108 EQUENTIAL\x20DAMAGES\x20(INCLUDING,\x20BUT\x20NOT\n\x20LIMITED\x20TO,\
1109 \x20PROCUREMENT\x20OF\x20SUBSTITUTE\x20GOODS\x20OR\x20SERVICES;\x20LOSS\
1110 \x20OF\x20USE,\n\x20DATA,\x20OR\x20PROFITS;\x20OR\x20BUSINESS\x20INTERRU\
1111 PTION)\x20HOWEVER\x20CAUSED\x20AND\x20ON\x20ANY\n\x20THEORY\x20OF\x20LIA\
1112 BILITY,\x20WHETHER\x20IN\x20CONTRACT,\x20STRICT\x20LIABILITY,\x20OR\x20T\
1113 ORT\n\x20(INCLUDING\x20NEGLIGENCE\x20OR\x20OTHERWISE)\x20ARISING\x20IN\
1114 \x20ANY\x20WAY\x20OUT\x20OF\x20THE\x20USE\n\x20OF\x20THIS\x20SOFTWARE,\
1115 \x20EVEN\x20IF\x20ADVISED\x20OF\x20THE\x20POSSIBILITY\x20OF\x20SUCH\x20D\
1116 AMAGE.\n\n\x08\n\x01\x02\x12\x03\x20\0\x18\n\t\n\x02\x03\0\x12\x03\"\0.\
1117 \n\t\n\x02\x03\x01\x12\x03#\0$\n\x08\n\x01\x08\x12\x03%\0;\n\t\n\x02\x08\
1118 %\x12\x03%\0;\n\x08\n\x01\x08\x12\x03&\0,\n\t\n\x02\x08\x01\x12\x03&\0,\
1119 \n\x08\n\x01\x08\x12\x03'\0)\n\t\n\x02\x08\x08\x12\x03'\0)\n\x08\n\x01\
1120 \x08\x12\x03(\0\"\n\t\n\x02\x08\n\x12\x03(\0\"\n\x08\n\x01\x08\x12\x03)\
1121 \0!\n\t\n\x02\x08$\x12\x03)\0!\n\x08\n\x01\x08\x12\x03*\0C\n\t\n\x02\x08\
1122 \x0b\x12\x03*\0C\n\xab\x04\n\x02\x04\0\x12\x045\0`\x01\x1a\x9e\x04\x20Ap\
1123 i\x20is\x20a\x20light-weight\x20descriptor\x20for\x20an\x20API\x20Interf\
1124 ace.\n\n\x20Interfaces\x20are\x20also\x20described\x20as\x20\"protocol\
1125 \x20buffer\x20services\"\x20in\x20some\x20contexts,\n\x20such\x20as\x20b\
1126 y\x20the\x20\"service\"\x20keyword\x20in\x20a\x20.proto\x20file,\x20but\
1127 \x20they\x20are\x20different\n\x20from\x20API\x20Services,\x20which\x20r\
1128 epresent\x20a\x20concrete\x20implementation\x20of\x20an\x20interface\n\
1129 \x20as\x20opposed\x20to\x20simply\x20a\x20description\x20of\x20methods\
1130 \x20and\x20bindings.\x20They\x20are\x20also\n\x20sometimes\x20simply\x20\
1131 referred\x20to\x20as\x20\"APIs\"\x20in\x20other\x20contexts,\x20such\x20\
1132 as\x20the\x20name\x20of\n\x20this\x20message\x20itself.\x20See\x20https:\
1133 //cloud.google.com/apis/design/glossary\x20for\n\x20detailed\x20terminol\
1134 ogy.\n\n\n\n\x03\x04\0\x01\x12\x035\x08\x0b\n{\n\x04\x04\0\x02\0\x12\x03\
1135 8\x02\x12\x1an\x20The\x20fully\x20qualified\x20name\x20of\x20this\x20int\
1136 erface,\x20including\x20package\x20name\n\x20followed\x20by\x20the\x20in\
1137 terface's\x20simple\x20name.\n\n\x0c\n\x05\x04\0\x02\0\x05\x12\x038\x02\
1138 \x08\n\x0c\n\x05\x04\0\x02\0\x01\x12\x038\t\r\n\x0c\n\x05\x04\0\x02\0\
1139 \x03\x12\x038\x10\x11\nC\n\x04\x04\0\x02\x01\x12\x03;\x02\x1e\x1a6\x20Th\
1140 e\x20methods\x20of\x20this\x20interface,\x20in\x20unspecified\x20order.\
1141 \n\n\x0c\n\x05\x04\0\x02\x01\x04\x12\x03;\x02\n\n\x0c\n\x05\x04\0\x02\
1142 \x01\x06\x12\x03;\x0b\x11\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03;\x12\x19\
1143 \n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03;\x1c\x1d\n6\n\x04\x04\0\x02\x02\
1144 \x12\x03>\x02\x1e\x1a)\x20Any\x20metadata\x20attached\x20to\x20the\x20in\
1145 terface.\n\n\x0c\n\x05\x04\0\x02\x02\x04\x12\x03>\x02\n\n\x0c\n\x05\x04\
1146 \0\x02\x02\x06\x12\x03>\x0b\x11\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x03>\
1147 \x12\x19\n\x0c\n\x05\x04\0\x02\x02\x03\x12\x03>\x1c\x1d\n\x82\x08\n\x04\
1148 \x04\0\x02\x03\x12\x03U\x02\x15\x1a\xf4\x07\x20A\x20version\x20string\
1149 \x20for\x20this\x20interface.\x20If\x20specified,\x20must\x20have\x20the\
1150 \x20form\n\x20`major-version.minor-version`,\x20as\x20in\x20`1.10`.\x20I\
1151 f\x20the\x20minor\x20version\x20is\n\x20omitted,\x20it\x20defaults\x20to\
1152 \x20zero.\x20If\x20the\x20entire\x20version\x20field\x20is\x20empty,\x20\
1153 the\n\x20major\x20version\x20is\x20derived\x20from\x20the\x20package\x20\
1154 name,\x20as\x20outlined\x20below.\x20If\x20the\n\x20field\x20is\x20not\
1155 \x20empty,\x20the\x20version\x20in\x20the\x20package\x20name\x20will\x20\
1156 be\x20verified\x20to\x20be\n\x20consistent\x20with\x20what\x20is\x20prov\
1157 ided\x20here.\n\n\x20The\x20versioning\x20schema\x20uses\x20[semantic\n\
1158 \x20versioning](http://semver.org)\x20where\x20the\x20major\x20version\
1159 \x20number\n\x20indicates\x20a\x20breaking\x20change\x20and\x20the\x20mi\
1160 nor\x20version\x20an\x20additive,\n\x20non-breaking\x20change.\x20Both\
1161 \x20version\x20numbers\x20are\x20signals\x20to\x20users\n\x20what\x20to\
1162 \x20expect\x20from\x20different\x20versions,\x20and\x20should\x20be\x20c\
1163 arefully\n\x20chosen\x20based\x20on\x20the\x20product\x20plan.\n\n\x20Th\
1164 e\x20major\x20version\x20is\x20also\x20reflected\x20in\x20the\x20package\
1165 \x20name\x20of\x20the\n\x20interface,\x20which\x20must\x20end\x20in\x20`\
1166 v<major-version>`,\x20as\x20in\n\x20`google.feature.v1`.\x20For\x20major\
1167 \x20versions\x200\x20and\x201,\x20the\x20suffix\x20can\n\x20be\x20omitte\
1168 d.\x20Zero\x20major\x20versions\x20must\x20only\x20be\x20used\x20for\n\
1169 \x20experimental,\x20non-GA\x20interfaces.\n\n\n\n\x0c\n\x05\x04\0\x02\
1170 \x03\x05\x12\x03U\x02\x08\n\x0c\n\x05\x04\0\x02\x03\x01\x12\x03U\t\x10\n\
1171 \x0c\n\x05\x04\0\x02\x03\x03\x12\x03U\x13\x14\n[\n\x04\x04\0\x02\x04\x12\
1172 \x03Y\x02#\x1aN\x20Source\x20context\x20for\x20the\x20protocol\x20buffer\
1173 \x20service\x20represented\x20by\x20this\n\x20message.\n\n\x0c\n\x05\x04\
1174 \0\x02\x04\x06\x12\x03Y\x02\x0f\n\x0c\n\x05\x04\0\x02\x04\x01\x12\x03Y\
1175 \x10\x1e\n\x0c\n\x05\x04\0\x02\x04\x03\x12\x03Y!\"\n2\n\x04\x04\0\x02\
1176 \x05\x12\x03\\\x02\x1c\x1a%\x20Included\x20interfaces.\x20See\x20[Mixin]\
1177 [].\n\n\x0c\n\x05\x04\0\x02\x05\x04\x12\x03\\\x02\n\n\x0c\n\x05\x04\0\
1178 \x02\x05\x06\x12\x03\\\x0b\x10\n\x0c\n\x05\x04\0\x02\x05\x01\x12\x03\\\
1179 \x11\x17\n\x0c\n\x05\x04\0\x02\x05\x03\x12\x03\\\x1a\x1b\n0\n\x04\x04\0\
1180 \x02\x06\x12\x03_\x02\x14\x1a#\x20The\x20source\x20syntax\x20of\x20the\
1181 \x20service.\n\n\x0c\n\x05\x04\0\x02\x06\x06\x12\x03_\x02\x08\n\x0c\n\
1182 \x05\x04\0\x02\x06\x01\x12\x03_\t\x0f\n\x0c\n\x05\x04\0\x02\x06\x03\x12\
1183 \x03_\x12\x13\n=\n\x02\x04\x01\x12\x04c\0x\x01\x1a1\x20Method\x20represe\
1184 nts\x20a\x20method\x20of\x20an\x20API\x20interface.\n\n\n\n\x03\x04\x01\
1185 \x01\x12\x03c\x08\x0e\n.\n\x04\x04\x01\x02\0\x12\x03e\x02\x12\x1a!\x20Th\
1186 e\x20simple\x20name\x20of\x20this\x20method.\n\n\x0c\n\x05\x04\x01\x02\0\
1187 \x05\x12\x03e\x02\x08\n\x0c\n\x05\x04\x01\x02\0\x01\x12\x03e\t\r\n\x0c\n\
1188 \x05\x04\x01\x02\0\x03\x12\x03e\x10\x11\n/\n\x04\x04\x01\x02\x01\x12\x03\
1189 h\x02\x1e\x1a\"\x20A\x20URL\x20of\x20the\x20input\x20message\x20type.\n\
1190 \n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03h\x02\x08\n\x0c\n\x05\x04\x01\
1191 \x02\x01\x01\x12\x03h\t\x19\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03h\x1c\
1192 \x1d\n0\n\x04\x04\x01\x02\x02\x12\x03k\x02\x1d\x1a#\x20If\x20true,\x20th\
1193 e\x20request\x20is\x20streamed.\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\
1194 \x03k\x02\x06\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03k\x07\x18\n\x0c\n\
1195 \x05\x04\x01\x02\x02\x03\x12\x03k\x1b\x1c\n2\n\x04\x04\x01\x02\x03\x12\
1196 \x03n\x02\x1f\x1a%\x20The\x20URL\x20of\x20the\x20output\x20message\x20ty\
1197 pe.\n\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\x03n\x02\x08\n\x0c\n\x05\x04\
1198 \x01\x02\x03\x01\x12\x03n\t\x1a\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03n\
1199 \x1d\x1e\n1\n\x04\x04\x01\x02\x04\x12\x03q\x02\x1e\x1a$\x20If\x20true,\
1200 \x20the\x20response\x20is\x20streamed.\n\n\x0c\n\x05\x04\x01\x02\x04\x05\
1201 \x12\x03q\x02\x06\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x03q\x07\x19\n\x0c\
1202 \n\x05\x04\x01\x02\x04\x03\x12\x03q\x1c\x1d\n3\n\x04\x04\x01\x02\x05\x12\
1203 \x03t\x02\x1e\x1a&\x20Any\x20metadata\x20attached\x20to\x20the\x20method\
1204 .\n\n\x0c\n\x05\x04\x01\x02\x05\x04\x12\x03t\x02\n\n\x0c\n\x05\x04\x01\
1205 \x02\x05\x06\x12\x03t\x0b\x11\n\x0c\n\x05\x04\x01\x02\x05\x01\x12\x03t\
1206 \x12\x19\n\x0c\n\x05\x04\x01\x02\x05\x03\x12\x03t\x1c\x1d\n0\n\x04\x04\
1207 \x01\x02\x06\x12\x03w\x02\x14\x1a#\x20The\x20source\x20syntax\x20of\x20t\
1208 his\x20method.\n\n\x0c\n\x05\x04\x01\x02\x06\x06\x12\x03w\x02\x08\n\x0c\
1209 \n\x05\x04\x01\x02\x06\x01\x12\x03w\t\x0f\n\x0c\n\x05\x04\x01\x02\x06\
1210 \x03\x12\x03w\x12\x13\n\xca\x13\n\x02\x04\x02\x12\x06\xc8\x01\0\xcf\x01\
1211 \x01\x1a\xbb\x13\x20Declares\x20an\x20API\x20Interface\x20to\x20be\x20in\
1212 cluded\x20in\x20this\x20interface.\x20The\x20including\n\x20interface\
1213 \x20must\x20redeclare\x20all\x20the\x20methods\x20from\x20the\x20include\
1214 d\x20interface,\x20but\n\x20documentation\x20and\x20options\x20are\x20in\
1215 herited\x20as\x20follows:\n\n\x20-\x20If\x20after\x20comment\x20and\x20w\
1216 hitespace\x20stripping,\x20the\x20documentation\n\x20\x20\x20string\x20o\
1217 f\x20the\x20redeclared\x20method\x20is\x20empty,\x20it\x20will\x20be\x20\
1218 inherited\n\x20\x20\x20from\x20the\x20original\x20method.\n\n\x20-\x20Ea\
1219 ch\x20annotation\x20belonging\x20to\x20the\x20service\x20config\x20(http\
1220 ,\n\x20\x20\x20visibility)\x20which\x20is\x20not\x20set\x20in\x20the\x20\
1221 redeclared\x20method\x20will\x20be\n\x20\x20\x20inherited.\n\n\x20-\x20I\
1222 f\x20an\x20http\x20annotation\x20is\x20inherited,\x20the\x20path\x20patt\
1223 ern\x20will\x20be\n\x20\x20\x20modified\x20as\x20follows.\x20Any\x20vers\
1224 ion\x20prefix\x20will\x20be\x20replaced\x20by\x20the\n\x20\x20\x20versio\
1225 n\x20of\x20the\x20including\x20interface\x20plus\x20the\x20[root][]\x20p\
1226 ath\x20if\n\x20\x20\x20specified.\n\n\x20Example\x20of\x20a\x20simple\
1227 \x20mixin:\n\n\x20\x20\x20\x20\x20package\x20google.acl.v1;\n\x20\x20\
1228 \x20\x20\x20service\x20AccessControl\x20{\n\x20\x20\x20\x20\x20\x20\x20/\
1229 /\x20Get\x20the\x20underlying\x20ACL\x20object.\n\x20\x20\x20\x20\x20\
1230 \x20\x20rpc\x20GetAcl(GetAclRequest)\x20returns\x20(Acl)\x20{\n\x20\x20\
1231 \x20\x20\x20\x20\x20\x20\x20option\x20(google.api.http).get\x20=\x20\"/v\
1232 1/{resource=**}:getAcl\";\n\x20\x20\x20\x20\x20\x20\x20}\n\x20\x20\x20\
1233 \x20\x20}\n\n\x20\x20\x20\x20\x20package\x20google.storage.v2;\n\x20\x20\
1234 \x20\x20\x20service\x20Storage\x20{\n\x20\x20\x20\x20\x20\x20\x20rpc\x20\
1235 GetAcl(GetAclRequest)\x20returns\x20(Acl);\n\n\x20\x20\x20\x20\x20\x20\
1236 \x20//\x20Get\x20a\x20data\x20record.\n\x20\x20\x20\x20\x20\x20\x20rpc\
1237 \x20GetData(GetDataRequest)\x20returns\x20(Data)\x20{\n\x20\x20\x20\x20\
1238 \x20\x20\x20\x20\x20option\x20(google.api.http).get\x20=\x20\"/v2/{resou\
1239 rce=**}\";\n\x20\x20\x20\x20\x20\x20\x20}\n\x20\x20\x20\x20\x20}\n\n\x20\
1240 Example\x20of\x20a\x20mixin\x20configuration:\n\n\x20\x20\x20\x20\x20api\
1241 s:\n\x20\x20\x20\x20\x20-\x20name:\x20google.storage.v2.Storage\n\x20\
1242 \x20\x20\x20\x20\x20\x20mixins:\n\x20\x20\x20\x20\x20\x20\x20-\x20name:\
1243 \x20google.acl.v1.AccessControl\n\n\x20The\x20mixin\x20construct\x20impl\
1244 ies\x20that\x20all\x20methods\x20in\x20`AccessControl`\x20are\n\x20also\
1245 \x20declared\x20with\x20same\x20name\x20and\x20request/response\x20types\
1246 \x20in\n\x20`Storage`.\x20A\x20documentation\x20generator\x20or\x20annot\
1247 ation\x20processor\x20will\n\x20see\x20the\x20effective\x20`Storage.GetA\
1248 cl`\x20method\x20after\x20inheriting\n\x20documentation\x20and\x20annota\
1249 tions\x20as\x20follows:\n\n\x20\x20\x20\x20\x20service\x20Storage\x20{\n\
1250 \x20\x20\x20\x20\x20\x20\x20//\x20Get\x20the\x20underlying\x20ACL\x20obj\
1251 ect.\n\x20\x20\x20\x20\x20\x20\x20rpc\x20GetAcl(GetAclRequest)\x20return\
1252 s\x20(Acl)\x20{\n\x20\x20\x20\x20\x20\x20\x20\x20\x20option\x20(google.a\
1253 pi.http).get\x20=\x20\"/v2/{resource=**}:getAcl\";\n\x20\x20\x20\x20\x20\
1254 \x20\x20}\n\x20\x20\x20\x20\x20\x20\x20...\n\x20\x20\x20\x20\x20}\n\n\
1255 \x20Note\x20how\x20the\x20version\x20in\x20the\x20path\x20pattern\x20cha\
1256 nged\x20from\x20`v1`\x20to\x20`v2`.\n\n\x20If\x20the\x20`root`\x20field\
1257 \x20in\x20the\x20mixin\x20is\x20specified,\x20it\x20should\x20be\x20a\n\
1258 \x20relative\x20path\x20under\x20which\x20inherited\x20HTTP\x20paths\x20\
1259 are\x20placed.\x20Example:\n\n\x20\x20\x20\x20\x20apis:\n\x20\x20\x20\
1260 \x20\x20-\x20name:\x20google.storage.v2.Storage\n\x20\x20\x20\x20\x20\
1261 \x20\x20mixins:\n\x20\x20\x20\x20\x20\x20\x20-\x20name:\x20google.acl.v1\
1262 .AccessControl\n\x20\x20\x20\x20\x20\x20\x20\x20\x20root:\x20acls\n\n\
1263 \x20This\x20implies\x20the\x20following\x20inherited\x20HTTP\x20annotati\
1264 on:\n\n\x20\x20\x20\x20\x20service\x20Storage\x20{\n\x20\x20\x20\x20\x20\
1265 \x20\x20//\x20Get\x20the\x20underlying\x20ACL\x20object.\n\x20\x20\x20\
1266 \x20\x20\x20\x20rpc\x20GetAcl(GetAclRequest)\x20returns\x20(Acl)\x20{\n\
1267 \x20\x20\x20\x20\x20\x20\x20\x20\x20option\x20(google.api.http).get\x20=\
1268 \x20\"/v2/acls/{resource=**}:getAcl\";\n\x20\x20\x20\x20\x20\x20\x20}\n\
1269 \x20\x20\x20\x20\x20\x20\x20...\n\x20\x20\x20\x20\x20}\n\n\x0b\n\x03\x04\
1270 \x02\x01\x12\x04\xc8\x01\x08\r\nL\n\x04\x04\x02\x02\0\x12\x04\xca\x01\
1271 \x02\x12\x1a>\x20The\x20fully\x20qualified\x20name\x20of\x20the\x20inter\
1272 face\x20which\x20is\x20included.\n\n\r\n\x05\x04\x02\x02\0\x05\x12\x04\
1273 \xca\x01\x02\x08\n\r\n\x05\x04\x02\x02\0\x01\x12\x04\xca\x01\t\r\n\r\n\
1274 \x05\x04\x02\x02\0\x03\x12\x04\xca\x01\x10\x11\n[\n\x04\x04\x02\x02\x01\
1275 \x12\x04\xce\x01\x02\x12\x1aM\x20If\x20non-empty\x20specifies\x20a\x20pa\
1276 th\x20under\x20which\x20inherited\x20HTTP\x20paths\n\x20are\x20rooted.\n\
1277 \n\r\n\x05\x04\x02\x02\x01\x05\x12\x04\xce\x01\x02\x08\n\r\n\x05\x04\x02\
1278 \x02\x01\x01\x12\x04\xce\x01\t\r\n\r\n\x05\x04\x02\x02\x01\x03\x12\x04\
1279 \xce\x01\x10\x11b\x06proto3\
1280";
1281
1282static file_descriptor_proto_lazy: crate::rt::LazyV2<crate::descriptor::FileDescriptorProto> = crate::rt::LazyV2::INIT;
1283
1284fn parse_descriptor_proto() -> crate::descriptor::FileDescriptorProto {
1285 crate::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
1286}
1287
1288pub fn file_descriptor_proto() -> &'static crate::descriptor::FileDescriptorProto {
1289 file_descriptor_proto_lazy.get(|| {
1290 parse_descriptor_proto()
1291 })
1292}