| // Additional options required for C# generation. File from copyright |
| // line onwards is as per original distribution. |
| import "google/protobuf/csharp_options.proto"; |
| option (google.protobuf.csharp_file_options).namespace = "Google.ProtocolBuffers.TestProtos"; |
| option (google.protobuf.csharp_file_options).umbrella_classname = "UnitTestExtrasFullProtoFile"; |
| |
| package protobuf_unittest_extra; |
| |
| option optimize_for = CODE_SIZE; |
| |
| option java_package = "com.google.protobuf"; |
| |
| message TestInteropPerson { |
| required string name = 1; |
| required int32 id = 2; |
| optional string email = 3; |
| repeated int32 codes = 10 [packed=true]; |
| |
| enum PhoneType { |
| MOBILE = 0; |
| HOME = 1; |
| WORK = 2; |
| } |
| |
| message PhoneNumber { |
| required string number = 1; |
| optional PhoneType type = 2 [default = HOME]; |
| } |
| |
| repeated PhoneNumber phone = 4; |
| |
| repeated group Addresses = 5 { |
| required string address = 1; |
| optional string address2 = 2; |
| required string city = 3; |
| required string state = 4; |
| required fixed32 zip = 5; |
| } |
| |
| extensions 100 to 199; |
| } |
| |
| message TestInteropEmployeeId { |
| required string number = 1; |
| } |
| |
| extend TestInteropPerson { |
| required TestInteropEmployeeId employee_id = 126; |
| } |
| |
| message TestMissingFieldsA { |
| required string name = 1; |
| required int32 id = 2; |
| optional string email = 3; |
| |
| message SubA { |
| required int32 count = 5; |
| repeated string values = 6; |
| } |
| optional SubA testA = 11; |
| } |
| |
| message TestMissingFieldsB { |
| required string name = 1; |
| required int32 id = 2; |
| optional string website = 4; |
| |
| message SubB { |
| repeated string values = 7; |
| } |
| optional SubB testB = 12; |
| } |