| /* |
| * Copyright (C) 2019 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| syntax = "proto3"; |
| |
| package android.jsonpb; |
| |
| // Note: this file explicitly uses names that does NOT follow the Protobuf Style |
| // Guide for testing purposes. When writing a .proto file as a JSON schema, you |
| // should: |
| // - Follow the Protobuf Style Guide for field names / enum value names |
| // - If the JSON file is going to have field names that does not conform to the |
| // Protobuf Style Guide (a.k.a lower_snake_case), use json_name option to |
| // indicate an alternative name. |
| // - If the JSON file is going to have enum value names that does not conform to |
| // the Protobuf Style Guide (a.k.a CAPITALIZED_SNAKE_CASE), use strings. |
| |
| message WithJsonName { |
| string foo_bar = 1 [json_name = "FOOBAR"]; |
| string barBaz = 2 [json_name = "BarBaz"]; |
| string BazQux = 3 [json_name = "baz_qux"]; |
| string QUX_QUUX = 4 [json_name = "quxQuux"]; |
| } |
| |
| message NoJsonName { |
| string foo_bar = 1; |
| string barBaz = 2; |
| string BazQux = 3; |
| string QUX_QUUX = 4; |
| } |
| |
| message Parent { |
| repeated WithJsonName repeated_with_json_name = 1; |
| WithJsonName with_json_name = 2; |
| repeated NoJsonName repeated_no_json_name = 3; |
| NoJsonName no_json_name = 4; |
| } |
| |
| message Scalar { |
| int32 i32 = 1; |
| sint32 si32 = 2; |
| int64 i64 = 3; |
| sint64 si64 = 4; |
| float f = 5; |
| double d = 6; |
| |
| enum Enum { |
| DEFAULT = 0; |
| FOO = 1; |
| } |
| Enum e = 7; |
| } |