Home | History | Annotate | Download | only in mem_release
      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     repeated SubMessage static_rep_submsg = 4 [(nanopb).type = FT_STATIC, (nanopb).max_count=2];
     17     extensions 100 to 200;
     18 }
     19 
     20 extend TestMessage
     21 {
     22     optional SubMessage dynamic_ext = 100 [(nanopb).type = FT_POINTER];
     23     optional SubMessage static_ext = 101 [(nanopb).type = FT_STATIC];
     24 }
     25 
     26 message OneofMessage
     27 {
     28     required int32 first = 1;
     29     oneof msgs
     30     {
     31         TestMessage msg1 = 2;
     32         SubMessage msg2 = 3;
     33     }
     34     required int32 last = 4;
     35 }
     36