import "data_types_import.proto";
enum FooEnum {
FIRST_VALUE = 1;
SECOND_VALUE = 2;
}
message BarMessage {
required int32 b_required_int32 = 1;
}
message FooMessage {
optional int32 f_int32 = 1;
optional int64 f_int64 = 2;
optional uint32 f_uint32 = 3;
optional uint64 f_uint64 = 4;
optional sint32 f_sint32 = 5;
optional sint64 f_sint64 = 6 [default=4];
optional bool f_bool = 7 [default=true];
optional FooEnum f_FooEnum = 8;
optional fixed64 f_fixed64 = 9;
optional sfixed64 f_sfixed64 = 10;
optional fixed32 f_fixed32 = 11 [default=0];
optional sfixed32 f_sfixed32 = 12;
optional double f_double = 13;
optional float f_float = 14;
optional bytes f_bytes = 15;
optional string f_string = 16;
optional FooMessage f_self_message = 17;
optional BarMessage f_bar_message = 18;
repeated int32 f_repeated_int32 = 19;
repeated int32 f_repeated_packed_int32 = 20 [ packed = true ];
repeated float f_repeated_packed_float = 21 [ packed = true ];
optional a.b.ImportedMessage f_imported = 22;
optional BazMessage f_baz = 23;
optional BazMessage.Nested f_nested = 24;
optional BazMessage.Nested.NestedEnum f_nested_enum = 25;
map<string, int32> f_map = 26;
oneof test_oneof {
int32 f1 = 27;
bool f2 = 28;
string f3 = 29;
}
}
message BazMessage {
message Nested {
message NestedMessage {
required int32 f_nested = 1;
}
enum NestedEnum {
Foo = 0;
Bar = 1;
Baz = 2;
}
required NestedMessage f_nested = 1;
}
optional Nested nested = 1;
}