xref: /aosp_15_r20/external/kotlinx.serialization/formats/protobuf/testProto/test_data.proto (revision 57b5a4a64c534cf7f27ac9427ceab07f3d8ed3d8)
1syntax = "proto2";
2option java_package = "kotlinx.serialization.protobuf";
3
4message TestInt32 {
5    required int32 a = 1;
6}
7
8message TestSignedInt {
9    required sint32 a = 1;
10}
11
12message TestSignedLong {
13    required sint64 a = 1;
14}
15
16message TestFixedInt {
17    required fixed32 a = 1;
18}
19
20message TestDouble {
21    required double a = 1;
22}
23
24message TestBoolean {
25    required bool a = 1;
26}
27
28message TestAllTypes {
29    required int32 i32 = 1;
30    required sint32 si32 = 2;
31    required fixed32 f32 = 3;
32    required int64 i64 = 10;
33    required sint64 si64 = 11;
34    required fixed64 f64 = 12;
35    required float f = 21;
36    required double d = 22;
37    required bool b = 41;
38    required string s = 51;
39}
40
41message TestOuterMessage {
42    required int32 a = 1;
43    required double b = 2;
44    required TestAllTypes inner = 10;
45    required string s = 20;
46}
47
48message TestRepeatedIntMessage {
49    required int32 s = 1;
50    repeated int32 b = 10;
51}
52
53message TestRepeatedObjectMessage {
54    repeated TestAllTypes inner = 1;
55}
56
57message TestEnum {
58    enum Coffee {
59        Americano = 0;
60        Latte = 1;
61        Capuccino = 2;
62        NoCoffee = -1;
63    }
64    required Coffee a = 1;
65}
66
67enum TestEnumWithIds {
68    First = 10;
69    Second = 20;
70}
71
72message EnumHolder {
73    required TestEnumWithIds a = 5;
74}
75
76message TestMap {
77    map<string, string> stringMap = 1;
78    map<int32, TestAllTypes> intObjectMap = 2;
79}
80
81message MessageWithOptionals {
82    optional int32 a = 1;
83    optional string b = 2;
84    optional Position c = 3;
85    optional int32 d = 4 [default = 99];
86    repeated int32 e = 5;
87
88    enum Position {
89        FIRST = 0;
90        SECOND = 1;
91    }
92}
93