basic_test_proto2.proto 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. syntax = "proto2";
  2. package basic_test_proto2;
  3. import "google/protobuf/struct.proto";
  4. message Foo {
  5. optional Bar bar = 1;
  6. repeated Baz baz = 2;
  7. }
  8. message Bar {
  9. optional string msg = 1;
  10. }
  11. message Baz {
  12. optional string msg = 1;
  13. }
  14. message TestMessage {
  15. optional int32 optional_int32 = 1;
  16. optional int64 optional_int64 = 2;
  17. optional uint32 optional_uint32 = 3;
  18. optional uint64 optional_uint64 = 4;
  19. optional bool optional_bool = 5;
  20. optional float optional_float = 6;
  21. optional double optional_double = 7;
  22. optional string optional_string = 8;
  23. optional bytes optional_bytes = 9;
  24. optional TestMessage2 optional_msg = 10;
  25. optional TestEnum optional_enum = 11;
  26. repeated int32 repeated_int32 = 12;
  27. repeated int64 repeated_int64 = 13;
  28. repeated uint32 repeated_uint32 = 14;
  29. repeated uint64 repeated_uint64 = 15;
  30. repeated bool repeated_bool = 16;
  31. repeated float repeated_float = 17;
  32. repeated double repeated_double = 18;
  33. repeated string repeated_string = 19;
  34. repeated bytes repeated_bytes = 20;
  35. repeated TestMessage2 repeated_msg = 21;
  36. repeated TestEnum repeated_enum = 22;
  37. }
  38. message TestMessage2 {
  39. optional int32 foo = 1;
  40. }
  41. message TestMessageDefaults {
  42. optional int32 optional_int32 = 1 [default = 1];
  43. optional int64 optional_int64 = 2 [default = 2];
  44. optional uint32 optional_uint32 = 3 [default = 3];
  45. optional uint64 optional_uint64 = 4 [default = 4];
  46. optional bool optional_bool = 5 [default = true];
  47. optional float optional_float = 6 [default = 6];
  48. optional double optional_double = 7 [default = 7];
  49. optional string optional_string = 8 [default = "Default Str"];
  50. optional bytes optional_bytes = 9 [default = "\xCF\xA5s\xBD\xBA\xE6fubar"];
  51. optional TestMessage2 optional_msg = 10;
  52. optional TestNonZeroEnum optional_enum = 11 [default = B2];
  53. }
  54. enum TestEnum {
  55. Default = 0;
  56. A = 1;
  57. B = 2;
  58. C = 3;
  59. }
  60. enum TestNonZeroEnum {
  61. A2 = 1;
  62. B2 = 2;
  63. C2 = 3;
  64. }
  65. message TestEmbeddedMessageParent {
  66. optional TestEmbeddedMessageChild child_msg = 1;
  67. optional int32 number = 2;
  68. repeated TestEmbeddedMessageChild repeated_msg = 3;
  69. repeated int32 repeated_number = 4;
  70. }
  71. message TestEmbeddedMessageChild {
  72. optional TestMessage sub_child = 1;
  73. }
  74. message Recursive1 {
  75. optional Recursive2 foo = 1;
  76. }
  77. message Recursive2 {
  78. optional Recursive1 foo = 1;
  79. }
  80. message MapMessageWireEquiv {
  81. repeated MapMessageWireEquiv_entry1 map_string_int32 = 1;
  82. repeated MapMessageWireEquiv_entry2 map_string_msg = 2;
  83. }
  84. message MapMessageWireEquiv_entry1 {
  85. optional string key = 1;
  86. optional int32 value = 2;
  87. }
  88. message MapMessageWireEquiv_entry2 {
  89. optional string key = 1;
  90. optional TestMessage2 value = 2;
  91. }
  92. message OneofMessage {
  93. oneof my_oneof {
  94. string a = 1;
  95. int32 b = 2;
  96. TestMessage2 c = 3;
  97. TestEnum d = 4;
  98. }
  99. }
  100. message MyRepeatedStruct {
  101. repeated MyStruct structs = 1;
  102. }
  103. message MyStruct {
  104. optional string string = 1;
  105. optional google.protobuf.Struct struct = 2;
  106. }