1*1b3f573fSAndroid Build Coastguard Workersyntax = "proto2"; 2*1b3f573fSAndroid Build Coastguard Worker 3*1b3f573fSAndroid Build Coastguard Workerpackage basic_test_proto2; 4*1b3f573fSAndroid Build Coastguard Worker 5*1b3f573fSAndroid Build Coastguard Workerimport "google/protobuf/wrappers.proto"; 6*1b3f573fSAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto"; 7*1b3f573fSAndroid Build Coastguard Workerimport "google/protobuf/duration.proto"; 8*1b3f573fSAndroid Build Coastguard Workerimport "google/protobuf/struct.proto"; 9*1b3f573fSAndroid Build Coastguard Worker 10*1b3f573fSAndroid Build Coastguard Workermessage Foo { 11*1b3f573fSAndroid Build Coastguard Worker optional Bar bar = 1; 12*1b3f573fSAndroid Build Coastguard Worker repeated Baz baz = 2; 13*1b3f573fSAndroid Build Coastguard Worker} 14*1b3f573fSAndroid Build Coastguard Worker 15*1b3f573fSAndroid Build Coastguard Workermessage Bar { 16*1b3f573fSAndroid Build Coastguard Worker optional string msg = 1; 17*1b3f573fSAndroid Build Coastguard Worker} 18*1b3f573fSAndroid Build Coastguard Worker 19*1b3f573fSAndroid Build Coastguard Workermessage Baz { 20*1b3f573fSAndroid Build Coastguard Worker optional string msg = 1; 21*1b3f573fSAndroid Build Coastguard Worker} 22*1b3f573fSAndroid Build Coastguard Worker 23*1b3f573fSAndroid Build Coastguard Workermessage TestMessage { 24*1b3f573fSAndroid Build Coastguard Worker optional int32 optional_int32 = 1; 25*1b3f573fSAndroid Build Coastguard Worker optional int64 optional_int64 = 2; 26*1b3f573fSAndroid Build Coastguard Worker optional uint32 optional_uint32 = 3; 27*1b3f573fSAndroid Build Coastguard Worker optional uint64 optional_uint64 = 4; 28*1b3f573fSAndroid Build Coastguard Worker optional bool optional_bool = 5; 29*1b3f573fSAndroid Build Coastguard Worker optional float optional_float = 6; 30*1b3f573fSAndroid Build Coastguard Worker optional double optional_double = 7; 31*1b3f573fSAndroid Build Coastguard Worker optional string optional_string = 8; 32*1b3f573fSAndroid Build Coastguard Worker optional bytes optional_bytes = 9; 33*1b3f573fSAndroid Build Coastguard Worker optional TestMessage2 optional_msg = 10; 34*1b3f573fSAndroid Build Coastguard Worker optional TestEnum optional_enum = 11; 35*1b3f573fSAndroid Build Coastguard Worker 36*1b3f573fSAndroid Build Coastguard Worker repeated int32 repeated_int32 = 12; 37*1b3f573fSAndroid Build Coastguard Worker repeated int64 repeated_int64 = 13; 38*1b3f573fSAndroid Build Coastguard Worker repeated uint32 repeated_uint32 = 14; 39*1b3f573fSAndroid Build Coastguard Worker repeated uint64 repeated_uint64 = 15; 40*1b3f573fSAndroid Build Coastguard Worker repeated bool repeated_bool = 16; 41*1b3f573fSAndroid Build Coastguard Worker repeated float repeated_float = 17; 42*1b3f573fSAndroid Build Coastguard Worker repeated double repeated_double = 18; 43*1b3f573fSAndroid Build Coastguard Worker repeated string repeated_string = 19; 44*1b3f573fSAndroid Build Coastguard Worker repeated bytes repeated_bytes = 20; 45*1b3f573fSAndroid Build Coastguard Worker repeated TestMessage2 repeated_msg = 21; 46*1b3f573fSAndroid Build Coastguard Worker repeated TestEnum repeated_enum = 22; 47*1b3f573fSAndroid Build Coastguard Worker} 48*1b3f573fSAndroid Build Coastguard Worker 49*1b3f573fSAndroid Build Coastguard Workermessage TestMessage2 { 50*1b3f573fSAndroid Build Coastguard Worker optional int32 foo = 1; 51*1b3f573fSAndroid Build Coastguard Worker} 52*1b3f573fSAndroid Build Coastguard Worker 53*1b3f573fSAndroid Build Coastguard Workermessage TestMessageDefaults { 54*1b3f573fSAndroid Build Coastguard Worker optional int32 optional_int32 = 1 [default = 1]; 55*1b3f573fSAndroid Build Coastguard Worker optional int64 optional_int64 = 2 [default = 2]; 56*1b3f573fSAndroid Build Coastguard Worker optional uint32 optional_uint32 = 3 [default = 3]; 57*1b3f573fSAndroid Build Coastguard Worker optional uint64 optional_uint64 = 4 [default = 4]; 58*1b3f573fSAndroid Build Coastguard Worker optional bool optional_bool = 5 [default = true]; 59*1b3f573fSAndroid Build Coastguard Worker optional float optional_float = 6 [default = 6]; 60*1b3f573fSAndroid Build Coastguard Worker optional double optional_double = 7 [default = 7]; 61*1b3f573fSAndroid Build Coastguard Worker optional string optional_string = 8 [default = "Default Str"]; 62*1b3f573fSAndroid Build Coastguard Worker optional bytes optional_bytes = 9 [default = "\xCF\xA5s\xBD\xBA\xE6fubar"]; 63*1b3f573fSAndroid Build Coastguard Worker optional TestMessage2 optional_msg = 10; 64*1b3f573fSAndroid Build Coastguard Worker optional TestNonZeroEnum optional_enum = 11 [default = B2]; 65*1b3f573fSAndroid Build Coastguard Worker} 66*1b3f573fSAndroid Build Coastguard Worker 67*1b3f573fSAndroid Build Coastguard Workerenum TestEnum { 68*1b3f573fSAndroid Build Coastguard Worker Default = 0; 69*1b3f573fSAndroid Build Coastguard Worker A = 1; 70*1b3f573fSAndroid Build Coastguard Worker B = 2; 71*1b3f573fSAndroid Build Coastguard Worker C = 3; 72*1b3f573fSAndroid Build Coastguard Worker v0 = 4; 73*1b3f573fSAndroid Build Coastguard Worker} 74*1b3f573fSAndroid Build Coastguard Worker 75*1b3f573fSAndroid Build Coastguard Workerenum TestNonZeroEnum { 76*1b3f573fSAndroid Build Coastguard Worker A2 = 1; 77*1b3f573fSAndroid Build Coastguard Worker B2 = 2; 78*1b3f573fSAndroid Build Coastguard Worker C2 = 3; 79*1b3f573fSAndroid Build Coastguard Worker} 80*1b3f573fSAndroid Build Coastguard Worker 81*1b3f573fSAndroid Build Coastguard Workermessage TestEmbeddedMessageParent { 82*1b3f573fSAndroid Build Coastguard Worker optional TestEmbeddedMessageChild child_msg = 1; 83*1b3f573fSAndroid Build Coastguard Worker optional int32 number = 2; 84*1b3f573fSAndroid Build Coastguard Worker 85*1b3f573fSAndroid Build Coastguard Worker repeated TestEmbeddedMessageChild repeated_msg = 3; 86*1b3f573fSAndroid Build Coastguard Worker repeated int32 repeated_number = 4; 87*1b3f573fSAndroid Build Coastguard Worker} 88*1b3f573fSAndroid Build Coastguard Worker 89*1b3f573fSAndroid Build Coastguard Workermessage TestEmbeddedMessageChild { 90*1b3f573fSAndroid Build Coastguard Worker optional TestMessage sub_child = 1; 91*1b3f573fSAndroid Build Coastguard Worker} 92*1b3f573fSAndroid Build Coastguard Worker 93*1b3f573fSAndroid Build Coastguard Workermessage Recursive1 { 94*1b3f573fSAndroid Build Coastguard Worker optional Recursive2 foo = 1; 95*1b3f573fSAndroid Build Coastguard Worker} 96*1b3f573fSAndroid Build Coastguard Worker 97*1b3f573fSAndroid Build Coastguard Workermessage Recursive2 { 98*1b3f573fSAndroid Build Coastguard Worker optional Recursive1 foo = 1; 99*1b3f573fSAndroid Build Coastguard Worker} 100*1b3f573fSAndroid Build Coastguard Worker 101*1b3f573fSAndroid Build Coastguard Workermessage MapMessageWireEquiv { 102*1b3f573fSAndroid Build Coastguard Worker repeated MapMessageWireEquiv_entry1 map_string_int32 = 1; 103*1b3f573fSAndroid Build Coastguard Worker repeated MapMessageWireEquiv_entry2 map_string_msg = 2; 104*1b3f573fSAndroid Build Coastguard Worker} 105*1b3f573fSAndroid Build Coastguard Worker 106*1b3f573fSAndroid Build Coastguard Workermessage MapMessageWireEquiv_entry1 { 107*1b3f573fSAndroid Build Coastguard Worker optional string key = 1; 108*1b3f573fSAndroid Build Coastguard Worker optional int32 value = 2; 109*1b3f573fSAndroid Build Coastguard Worker} 110*1b3f573fSAndroid Build Coastguard Worker 111*1b3f573fSAndroid Build Coastguard Workermessage MapMessageWireEquiv_entry2 { 112*1b3f573fSAndroid Build Coastguard Worker optional string key = 1; 113*1b3f573fSAndroid Build Coastguard Worker optional TestMessage2 value = 2; 114*1b3f573fSAndroid Build Coastguard Worker} 115*1b3f573fSAndroid Build Coastguard Worker 116*1b3f573fSAndroid Build Coastguard Workermessage OneofMessage { 117*1b3f573fSAndroid Build Coastguard Worker oneof my_oneof { 118*1b3f573fSAndroid Build Coastguard Worker string a = 1; 119*1b3f573fSAndroid Build Coastguard Worker int32 b = 2; 120*1b3f573fSAndroid Build Coastguard Worker TestMessage2 c = 3; 121*1b3f573fSAndroid Build Coastguard Worker TestEnum d = 4; 122*1b3f573fSAndroid Build Coastguard Worker } 123*1b3f573fSAndroid Build Coastguard Worker} 124*1b3f573fSAndroid Build Coastguard Worker 125*1b3f573fSAndroid Build Coastguard Workermessage Wrapper { 126*1b3f573fSAndroid Build Coastguard Worker optional google.protobuf.DoubleValue double = 1; 127*1b3f573fSAndroid Build Coastguard Worker optional google.protobuf.FloatValue float = 2; 128*1b3f573fSAndroid Build Coastguard Worker optional google.protobuf.Int32Value int32 = 3; 129*1b3f573fSAndroid Build Coastguard Worker optional google.protobuf.Int64Value int64 = 4; 130*1b3f573fSAndroid Build Coastguard Worker optional google.protobuf.UInt32Value uint32 = 5; 131*1b3f573fSAndroid Build Coastguard Worker optional google.protobuf.UInt64Value uint64 = 6; 132*1b3f573fSAndroid Build Coastguard Worker optional google.protobuf.BoolValue bool = 7; 133*1b3f573fSAndroid Build Coastguard Worker optional google.protobuf.StringValue string = 8; 134*1b3f573fSAndroid Build Coastguard Worker optional google.protobuf.BytesValue bytes = 9; 135*1b3f573fSAndroid Build Coastguard Worker optional string real_string = 100; 136*1b3f573fSAndroid Build Coastguard Worker oneof a_oneof { 137*1b3f573fSAndroid Build Coastguard Worker string string_in_oneof = 10; 138*1b3f573fSAndroid Build Coastguard Worker } 139*1b3f573fSAndroid Build Coastguard Worker 140*1b3f573fSAndroid Build Coastguard Worker // Repeated wrappers don't really make sense, but we still need to make sure 141*1b3f573fSAndroid Build Coastguard Worker // they work and don't crash. 142*1b3f573fSAndroid Build Coastguard Worker repeated google.protobuf.DoubleValue repeated_double = 11; 143*1b3f573fSAndroid Build Coastguard Worker repeated google.protobuf.FloatValue repeated_float = 12; 144*1b3f573fSAndroid Build Coastguard Worker repeated google.protobuf.Int32Value repeated_int32 = 13; 145*1b3f573fSAndroid Build Coastguard Worker repeated google.protobuf.Int64Value repeated_int64 = 14; 146*1b3f573fSAndroid Build Coastguard Worker repeated google.protobuf.UInt32Value repeated_uint32 = 15; 147*1b3f573fSAndroid Build Coastguard Worker repeated google.protobuf.UInt64Value repeated_uint64 = 16; 148*1b3f573fSAndroid Build Coastguard Worker repeated google.protobuf.BoolValue repeated_bool = 17; 149*1b3f573fSAndroid Build Coastguard Worker repeated google.protobuf.StringValue repeated_string = 18; 150*1b3f573fSAndroid Build Coastguard Worker repeated google.protobuf.BytesValue repeated_bytes = 19; 151*1b3f573fSAndroid Build Coastguard Worker 152*1b3f573fSAndroid Build Coastguard Worker // Wrappers in oneofs don't make sense, but we still need to make sure they 153*1b3f573fSAndroid Build Coastguard Worker // work and don't crash. 154*1b3f573fSAndroid Build Coastguard Worker oneof wrapper_oneof { 155*1b3f573fSAndroid Build Coastguard Worker google.protobuf.DoubleValue oneof_double = 31; 156*1b3f573fSAndroid Build Coastguard Worker google.protobuf.FloatValue oneof_float = 32; 157*1b3f573fSAndroid Build Coastguard Worker google.protobuf.Int32Value oneof_int32 = 33; 158*1b3f573fSAndroid Build Coastguard Worker google.protobuf.Int64Value oneof_int64 = 34; 159*1b3f573fSAndroid Build Coastguard Worker google.protobuf.UInt32Value oneof_uint32 = 35; 160*1b3f573fSAndroid Build Coastguard Worker google.protobuf.UInt64Value oneof_uint64 = 36; 161*1b3f573fSAndroid Build Coastguard Worker google.protobuf.BoolValue oneof_bool = 37; 162*1b3f573fSAndroid Build Coastguard Worker google.protobuf.StringValue oneof_string = 38; 163*1b3f573fSAndroid Build Coastguard Worker google.protobuf.BytesValue oneof_bytes = 39; 164*1b3f573fSAndroid Build Coastguard Worker string oneof_plain_string = 101; 165*1b3f573fSAndroid Build Coastguard Worker } 166*1b3f573fSAndroid Build Coastguard Worker} 167*1b3f573fSAndroid Build Coastguard Worker 168*1b3f573fSAndroid Build Coastguard Workermessage TimeMessage { 169*1b3f573fSAndroid Build Coastguard Worker optional google.protobuf.Timestamp timestamp = 1; 170*1b3f573fSAndroid Build Coastguard Worker optional google.protobuf.Duration duration = 2; 171*1b3f573fSAndroid Build Coastguard Worker} 172*1b3f573fSAndroid Build Coastguard Worker 173*1b3f573fSAndroid Build Coastguard Workermessage Enumer { 174*1b3f573fSAndroid Build Coastguard Worker optional TestEnum optional_enum = 11; 175*1b3f573fSAndroid Build Coastguard Worker repeated TestEnum repeated_enum = 22; 176*1b3f573fSAndroid Build Coastguard Worker optional string a_const = 3; 177*1b3f573fSAndroid Build Coastguard Worker oneof a_oneof { 178*1b3f573fSAndroid Build Coastguard Worker string str = 100; 179*1b3f573fSAndroid Build Coastguard Worker TestEnum const = 101; 180*1b3f573fSAndroid Build Coastguard Worker } 181*1b3f573fSAndroid Build Coastguard Worker} 182*1b3f573fSAndroid Build Coastguard Worker 183*1b3f573fSAndroid Build Coastguard Workermessage MyRepeatedStruct { 184*1b3f573fSAndroid Build Coastguard Worker repeated MyStruct structs = 1; 185*1b3f573fSAndroid Build Coastguard Worker} 186*1b3f573fSAndroid Build Coastguard Worker 187*1b3f573fSAndroid Build Coastguard Workermessage MyStruct { 188*1b3f573fSAndroid Build Coastguard Worker optional string string = 1; 189*1b3f573fSAndroid Build Coastguard Worker optional google.protobuf.Struct struct = 2; 190*1b3f573fSAndroid Build Coastguard Worker} 191