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