summaryrefslogtreecommitdiffstats
path: root/libs/nanopb/tests/mem_release/mem_release.proto
blob: 0816dc22d61aea10bdd4c70dbe005ebcdfd65902 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
syntax = "proto2";
import "nanopb.proto";

message SubMessage
{
    optional string dynamic_str = 1 [(nanopb).type = FT_POINTER];
    repeated string dynamic_str_arr = 2 [(nanopb).type = FT_POINTER];
    repeated SubMessage dynamic_submsg = 3 [(nanopb).type = FT_POINTER];
}

message TestMessage
{
    required SubMessage static_req_submsg = 1 [(nanopb).type = FT_STATIC];
    optional SubMessage dynamic_submsg = 2 [(nanopb).type = FT_POINTER];
    optional SubMessage static_opt_submsg = 3 [(nanopb).type = FT_STATIC];
    repeated SubMessage static_rep_submsg = 4 [(nanopb).type = FT_STATIC, (nanopb).max_count=2];
    extensions 100 to 200;
}

extend TestMessage
{
    optional SubMessage dynamic_ext = 100 [(nanopb).type = FT_POINTER];
    optional SubMessage static_ext = 101 [(nanopb).type = FT_STATIC];
}

message OneofMessage
{
    required int32 first = 1;
    oneof msgs
    {
        TestMessage msg1 = 2;
        SubMessage msg2 = 3;
    }
    required int32 last = 4;
}