Publishing nanopb-0.3.5
[apps/agl-service-can-low-level.git] / tests / mem_release / mem_release.proto
1 syntax = "proto2";
2 import "nanopb.proto";
3
4 message SubMessage
5 {
6     optional string dynamic_str = 1 [(nanopb).type = FT_POINTER];
7     repeated string dynamic_str_arr = 2 [(nanopb).type = FT_POINTER];
8     repeated SubMessage dynamic_submsg = 3 [(nanopb).type = FT_POINTER];
9 }
10
11 message TestMessage
12 {
13     required SubMessage static_req_submsg = 1 [(nanopb).type = FT_STATIC];
14     optional SubMessage dynamic_submsg = 2 [(nanopb).type = FT_POINTER];
15     optional SubMessage static_opt_submsg = 3 [(nanopb).type = FT_STATIC];
16     extensions 100 to 200;
17 }
18
19 extend TestMessage
20 {
21     optional SubMessage dynamic_ext = 100 [(nanopb).type = FT_POINTER];
22     optional SubMessage static_ext = 101 [(nanopb).type = FT_STATIC];
23 }
24
25 message OneofMessage
26 {
27     required int32 first = 1;
28     oneof msgs
29     {
30         TestMessage msg1 = 2;
31         SubMessage msg2 = 3;
32     }
33     required int32 last = 4;
34 }