1syntax = "proto3";
2
3import 'nanopb.proto';
4
5// Repeated callback inside submessage inside oneof
6message SubMsg1
7{
8    repeated int32 array = 1;
9}
10
11// String callback inside submessage inside oneof
12message SubMsg2
13{
14    string strvalue = 1;
15}
16
17// String callback directly inside oneof
18message SubMsg3
19{
20    oneof values
21    {
22        int32 intvalue = 1;
23        string strvalue = 2 [(nanopb).callback_datatype = "const char*"];
24    }
25}
26
27message OneOfMessage
28{
29    option (nanopb_msgopt).submsg_callback = true;
30
31    int32 prefix = 1;
32    oneof values
33    {
34        int32 intvalue = 5;
35        string strvalue = 6 [(nanopb).max_size = 8];
36        SubMsg1 submsg1 = 7;
37        SubMsg2 submsg2 = 8;
38        SubMsg3 submsg3 = 9;
39    }
40    int32 suffix = 99;
41}
42