xref: /aosp_15_r20/external/nanopb-c/tests/mem_release/mem_release.proto (revision c8d645cafcee3f91213d30caa0fe303887010b9b)
1*c8d645caSAndroid Build Coastguard Workersyntax = "proto2";
2*c8d645caSAndroid Build Coastguard Workerimport "nanopb.proto";
3*c8d645caSAndroid Build Coastguard Worker
4*c8d645caSAndroid Build Coastguard Workermessage SubMessage
5*c8d645caSAndroid Build Coastguard Worker{
6*c8d645caSAndroid Build Coastguard Worker    optional string dynamic_str = 1 [(nanopb).type = FT_POINTER];
7*c8d645caSAndroid Build Coastguard Worker    repeated string dynamic_str_arr = 2 [(nanopb).type = FT_POINTER];
8*c8d645caSAndroid Build Coastguard Worker    repeated SubMessage dynamic_submsg = 3 [(nanopb).type = FT_POINTER];
9*c8d645caSAndroid Build Coastguard Worker}
10*c8d645caSAndroid Build Coastguard Worker
11*c8d645caSAndroid Build Coastguard Workermessage TestMessage
12*c8d645caSAndroid Build Coastguard Worker{
13*c8d645caSAndroid Build Coastguard Worker    required SubMessage static_req_submsg = 1 [(nanopb).type = FT_STATIC];
14*c8d645caSAndroid Build Coastguard Worker    optional SubMessage dynamic_submsg = 2 [(nanopb).type = FT_POINTER];
15*c8d645caSAndroid Build Coastguard Worker    optional SubMessage static_opt_submsg = 3 [(nanopb).type = FT_STATIC];
16*c8d645caSAndroid Build Coastguard Worker    repeated SubMessage static_rep_submsg = 4 [(nanopb).type = FT_STATIC, (nanopb).max_count=2];
17*c8d645caSAndroid Build Coastguard Worker    extensions 100 to 200;
18*c8d645caSAndroid Build Coastguard Worker}
19*c8d645caSAndroid Build Coastguard Worker
20*c8d645caSAndroid Build Coastguard Workerextend TestMessage
21*c8d645caSAndroid Build Coastguard Worker{
22*c8d645caSAndroid Build Coastguard Worker    optional SubMessage dynamic_ext = 100 [(nanopb).type = FT_POINTER];
23*c8d645caSAndroid Build Coastguard Worker    optional SubMessage static_ext = 101 [(nanopb).type = FT_STATIC];
24*c8d645caSAndroid Build Coastguard Worker}
25*c8d645caSAndroid Build Coastguard Worker
26*c8d645caSAndroid Build Coastguard Workermessage OneofMessage
27*c8d645caSAndroid Build Coastguard Worker{
28*c8d645caSAndroid Build Coastguard Worker    required int32 first = 1;
29*c8d645caSAndroid Build Coastguard Worker    oneof msgs
30*c8d645caSAndroid Build Coastguard Worker    {
31*c8d645caSAndroid Build Coastguard Worker        TestMessage msg1 = 2;
32*c8d645caSAndroid Build Coastguard Worker        SubMessage msg2 = 3;
33*c8d645caSAndroid Build Coastguard Worker    }
34*c8d645caSAndroid Build Coastguard Worker    required int32 last = 4;
35*c8d645caSAndroid Build Coastguard Worker}
36*c8d645caSAndroid Build Coastguard Worker
37*c8d645caSAndroid Build Coastguard Workermessage RepeatedMessage
38*c8d645caSAndroid Build Coastguard Worker{
39*c8d645caSAndroid Build Coastguard Worker    required int32 first = 1;
40*c8d645caSAndroid Build Coastguard Worker    repeated SubMessage subs = 2;
41*c8d645caSAndroid Build Coastguard Worker}
42