361 lines
7.8 KiB
Protocol Buffer
361 lines
7.8 KiB
Protocol Buffer
// Protocol Buffers - Google's data interchange format
|
|
// Copyright 2008 Google Inc. All rights reserved.
|
|
// https://developers.google.com/protocol-buffers/
|
|
//
|
|
// Redistribution and use in source and binary forms, with or without
|
|
// modification, are permitted provided that the following conditions are
|
|
// met:
|
|
//
|
|
// * Redistributions of source code must retain the above copyright
|
|
// notice, this list of conditions and the following disclaimer.
|
|
// * Redistributions in binary form must reproduce the above
|
|
// copyright notice, this list of conditions and the following disclaimer
|
|
// in the documentation and/or other materials provided with the
|
|
// distribution.
|
|
// * Neither the name of Google Inc. nor the names of its
|
|
// contributors may be used to endorse or promote products derived from
|
|
// this software without specific prior written permission.
|
|
//
|
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
// Author: robinson@google.com (Will Robinson)
|
|
|
|
// LINT: LEGACY_NAMES
|
|
|
|
syntax = "proto2";
|
|
|
|
package google.protobuf.internal;
|
|
|
|
// A message where tag numbers are listed out of order, to allow us to test our
|
|
// canonicalization of serialized output, which should always be in tag order.
|
|
// We also mix in some extensions for extra fun.
|
|
message OutOfOrderFields {
|
|
optional sint32 optional_sint32 = 5;
|
|
extensions 4 to 4;
|
|
optional uint32 optional_uint32 = 3;
|
|
extensions 2 to 2;
|
|
optional int32 optional_int32 = 1;
|
|
}
|
|
|
|
extend OutOfOrderFields {
|
|
optional uint64 optional_uint64 = 4;
|
|
optional int64 optional_int64 = 2;
|
|
}
|
|
|
|
enum is { // top level enum keyword
|
|
default = 0;
|
|
else = 1; // top level enum value keyword
|
|
}
|
|
|
|
message class { // message keyword
|
|
optional int32 int_field = 1 [json_name = "json_int"];
|
|
optional int32 if = 2; // field keyword
|
|
optional is as = 3; // enum field keyword
|
|
optional is enum_field = 4;
|
|
enum for { // nested enum keyword
|
|
default = 0;
|
|
True = 1; // nested enum value keyword
|
|
}
|
|
optional for nested_enum_field = 5;
|
|
message try {
|
|
optional int32 field = 1;
|
|
extensions 999 to 9999;
|
|
}
|
|
optional try
|
|
nested_message = 6;
|
|
extensions 999 to 9999;
|
|
}
|
|
|
|
extend class {
|
|
optional int32 continue = 1001; // top level extension keyword
|
|
}
|
|
|
|
extend class.try {
|
|
optional int32 with = 1001;
|
|
}
|
|
|
|
message ExtendClass {
|
|
extend class {
|
|
optional int32 return = 1002; // nested extension keyword
|
|
}
|
|
}
|
|
|
|
message TestFullKeyword {
|
|
optional google.protobuf.internal.OutOfOrderFields field1 = 1;
|
|
optional google.protobuf.internal.class field2 = 2;
|
|
}
|
|
|
|
// TODO(jieluo): Add keyword support for service.
|
|
// service False {
|
|
// rpc Bar(class) returns (class);
|
|
// }
|
|
|
|
message LotsNestedMessage {
|
|
message B0 {}
|
|
message B1 {}
|
|
message B2 {}
|
|
message B3 {}
|
|
message B4 {}
|
|
message B5 {}
|
|
message B6 {}
|
|
message B7 {}
|
|
message B8 {}
|
|
message B9 {}
|
|
message B10 {}
|
|
message B11 {}
|
|
message B12 {}
|
|
message B13 {}
|
|
message B14 {}
|
|
message B15 {}
|
|
message B16 {}
|
|
message B17 {}
|
|
message B18 {}
|
|
message B19 {}
|
|
message B20 {}
|
|
message B21 {}
|
|
message B22 {}
|
|
message B23 {}
|
|
message B24 {}
|
|
message B25 {}
|
|
message B26 {}
|
|
message B27 {}
|
|
message B28 {}
|
|
message B29 {}
|
|
message B30 {}
|
|
message B31 {}
|
|
message B32 {}
|
|
message B33 {}
|
|
message B34 {}
|
|
message B35 {}
|
|
message B36 {}
|
|
message B37 {}
|
|
message B38 {}
|
|
message B39 {}
|
|
message B40 {}
|
|
message B41 {}
|
|
message B42 {}
|
|
message B43 {}
|
|
message B44 {}
|
|
message B45 {}
|
|
message B46 {}
|
|
message B47 {}
|
|
message B48 {}
|
|
message B49 {}
|
|
message B50 {}
|
|
message B51 {}
|
|
message B52 {}
|
|
message B53 {}
|
|
message B54 {}
|
|
message B55 {}
|
|
message B56 {}
|
|
message B57 {}
|
|
message B58 {}
|
|
message B59 {}
|
|
message B60 {}
|
|
message B61 {}
|
|
message B62 {}
|
|
message B63 {}
|
|
message B64 {}
|
|
message B65 {}
|
|
message B66 {}
|
|
message B67 {}
|
|
message B68 {}
|
|
message B69 {}
|
|
message B70 {}
|
|
message B71 {}
|
|
message B72 {}
|
|
message B73 {}
|
|
message B74 {}
|
|
message B75 {}
|
|
message B76 {}
|
|
message B77 {}
|
|
message B78 {}
|
|
message B79 {}
|
|
message B80 {}
|
|
message B81 {}
|
|
message B82 {}
|
|
message B83 {}
|
|
message B84 {}
|
|
message B85 {}
|
|
message B86 {}
|
|
message B87 {}
|
|
message B88 {}
|
|
message B89 {}
|
|
message B90 {}
|
|
message B91 {}
|
|
message B92 {}
|
|
message B93 {}
|
|
message B94 {}
|
|
message B95 {}
|
|
message B96 {}
|
|
message B97 {}
|
|
message B98 {}
|
|
message B99 {}
|
|
message B100 {}
|
|
message B101 {}
|
|
message B102 {}
|
|
message B103 {}
|
|
message B104 {}
|
|
message B105 {}
|
|
message B106 {}
|
|
message B107 {}
|
|
message B108 {}
|
|
message B109 {}
|
|
message B110 {}
|
|
message B111 {}
|
|
message B112 {}
|
|
message B113 {}
|
|
message B114 {}
|
|
message B115 {}
|
|
message B116 {}
|
|
message B117 {}
|
|
message B118 {}
|
|
message B119 {}
|
|
message B120 {}
|
|
message B121 {}
|
|
message B122 {}
|
|
message B123 {}
|
|
message B124 {}
|
|
message B125 {}
|
|
message B126 {}
|
|
message B127 {}
|
|
message B128 {}
|
|
message B129 {}
|
|
message B130 {}
|
|
message B131 {}
|
|
message B132 {}
|
|
message B133 {}
|
|
message B134 {}
|
|
message B135 {}
|
|
message B136 {}
|
|
message B137 {}
|
|
message B138 {}
|
|
message B139 {}
|
|
message B140 {}
|
|
message B141 {}
|
|
message B142 {}
|
|
message B143 {}
|
|
message B144 {}
|
|
message B145 {}
|
|
message B146 {}
|
|
message B147 {}
|
|
message B148 {}
|
|
message B149 {}
|
|
message B150 {}
|
|
message B151 {}
|
|
message B152 {}
|
|
message B153 {}
|
|
message B154 {}
|
|
message B155 {}
|
|
message B156 {}
|
|
message B157 {}
|
|
message B158 {}
|
|
message B159 {}
|
|
message B160 {}
|
|
message B161 {}
|
|
message B162 {}
|
|
message B163 {}
|
|
message B164 {}
|
|
message B165 {}
|
|
message B166 {}
|
|
message B167 {}
|
|
message B168 {}
|
|
message B169 {}
|
|
message B170 {}
|
|
message B171 {}
|
|
message B172 {}
|
|
message B173 {}
|
|
message B174 {}
|
|
message B175 {}
|
|
message B176 {}
|
|
message B177 {}
|
|
message B178 {}
|
|
message B179 {}
|
|
message B180 {}
|
|
message B181 {}
|
|
message B182 {}
|
|
message B183 {}
|
|
message B184 {}
|
|
message B185 {}
|
|
message B186 {}
|
|
message B187 {}
|
|
message B188 {}
|
|
message B189 {}
|
|
message B190 {}
|
|
message B191 {}
|
|
message B192 {}
|
|
message B193 {}
|
|
message B194 {}
|
|
message B195 {}
|
|
message B196 {}
|
|
message B197 {}
|
|
message B198 {}
|
|
message B199 {}
|
|
message B200 {}
|
|
message B201 {}
|
|
message B202 {}
|
|
message B203 {}
|
|
message B204 {}
|
|
message B205 {}
|
|
message B206 {}
|
|
message B207 {}
|
|
message B208 {}
|
|
message B209 {}
|
|
message B210 {}
|
|
message B211 {}
|
|
message B212 {}
|
|
message B213 {}
|
|
message B214 {}
|
|
message B215 {}
|
|
message B216 {}
|
|
message B217 {}
|
|
message B218 {}
|
|
message B219 {}
|
|
message B220 {}
|
|
message B221 {}
|
|
message B222 {}
|
|
message B223 {}
|
|
message B224 {}
|
|
message B225 {}
|
|
message B226 {}
|
|
message B227 {}
|
|
message B228 {}
|
|
message B229 {}
|
|
message B230 {}
|
|
message B231 {}
|
|
message B232 {}
|
|
message B233 {}
|
|
message B234 {}
|
|
message B235 {}
|
|
message B236 {}
|
|
message B237 {}
|
|
message B238 {}
|
|
message B239 {}
|
|
message B240 {}
|
|
message B241 {}
|
|
message B242 {}
|
|
message B243 {}
|
|
message B244 {}
|
|
message B245 {}
|
|
message B246 {}
|
|
message B247 {}
|
|
message B248 {}
|
|
message B249 {}
|
|
message B250 {}
|
|
message B251 {}
|
|
message B252 {}
|
|
message B253 {}
|
|
message B254 {}
|
|
message B255 {}
|
|
}
|