diff options
Diffstat (limited to 'example')
| -rw-r--r-- | example/fruit.proto | 3 | ||||
| -rw-r--r-- | example/fruit.proto.new | 77 |
2 files changed, 78 insertions, 2 deletions
diff --git a/example/fruit.proto b/example/fruit.proto index b119652..6df0b89 100644 --- a/example/fruit.proto +++ b/example/fruit.proto @@ -71,7 +71,6 @@ message Fruits { // `autogenpb:marshal` `autogenpb:mutex` string uuid = 1; // `autogenpb:uuid:be926ad9-f07f-484c-adf2-d96eeabf3079` string version = 2; // `autogenpb:version:v0.0.1` repeated Fruit Fruits = 3; // THIS MUST BE "Fruit" and then "Fruit" + "s" - // you can add additional things here but the three lines above must conform to the standard above - int64 cost = 4; + int64 cost = 4; // you can add additional things here but the three lines above must conform to the standard above map<string, string> junk = 5; } diff --git a/example/fruit.proto.new b/example/fruit.proto.new new file mode 100644 index 0000000..f9f39a0 --- /dev/null +++ b/example/fruit.proto.new @@ -0,0 +1,77 @@ +syntax = "proto3"; + +// this file is called "fruit.proto" +// +// for autogenpb to work, you must have: +// +// "Fruit" must exist. you can put anything in it +// +// and +// +// "Fruits" MUST EXIST and start exactly this way +// It must be "Fruit" + 's' and must match the name of this file: "fruit.proto" + +package main; + +import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp + +message Apple { + string name = 1; // `autogenpb:unique` // generates SortByxxx() and AppendUnique() functions + string genus = 2; // `autogenpb:unique` // generates same thing here but SortByGenus() + google.protobuf.Timestamp ctime = 3; // when the apple was born +} + +message Apples { + string name = 1; // `autogenpb:unique` // generates SortByxxx() and AppendUnique() functions + string genus = 2; // `autogenpb:unique` // generates same thing here but SortByGenus() + repeated Apple apples = 3; +} + +message Pear { // `autogenpb:nomutex` + string name = 1; // `autogenpb:sort` + string favorite = 2; // `autogenpb:sort` `autogenpb:unique` +} + +message Pears { // `autogenpb:nomutex` + string name = 1; // `autogenpb:sort` + string favorite = 2; // `autogenpb:sort` `autogenpb:unique` + repeated Pear pears = 3; +} + +message Banana { // `autogenpb:nomutex` + repeated string name = 1; // `autogenpb:sort` + string favorite = 2; // `autogenpb:sort` `autogenpb:unique` + string country = 3; // `autogenpb:sort` +} + +message Basket { // `autogenpb:nomutex` + repeated string name = 1; // `autogenpb:sort` `autogenpb:unique` + string favorite = 2; // `autogenpb:sort` `autogenpb:unique` + int64 price = 3; // `autogenpb:sort` + repeated Banana banna = 4; + repeated Pear pears = 5; + repeated Apple stacks = 6; +} + +// "Fruit" must exist. you can put anything in it +message Fruit { + string brand = 1; // `autogenpb:unique` `autogenpb:sort` + Apple apples = 2; + repeated Pear pears = 3; + string UPC = 4; // `autogenpb:sort` `autogenpb:unique` + string city = 5; // `autogenpb:sort` + Pears notpears = 6; + Pears fakepears = 7; + repeated Basket gifts = 8; +} + +// "Fruits" MUST EXIST and start exactly this way +// It must be "Fruit" + 's' and must match the name of this file: "fruit.proto" +message Fruits { // `autogenpb:marshal` `autogenpb:mutex` + string uuid = 1; // `autogenpb:uuid:be926ad9-f07f-484c-adf2-d96eeabf3079` + string version = 2; // `autogenpb:version:v0.0.1` + repeated Fruit Fruits = 3; // THIS MUST BE "Fruit" and then "Fruit" + "s" + int64 cost = 4; // you can add additional things here but the three lines above must conform to the standard above + map<string, string> junk = 5; +} + |
