Home | History | Annotate | Download | only in using_union_messages
      1 // This is an example of how to handle 'union' style messages
      2 // with nanopb, without allocating memory for all the message types.
      3 //
      4 // There is no official type in Protocol Buffers for describing unions,
      5 // but they are commonly implemented by filling out exactly one of
      6 // several optional fields.
      7 
      8 syntax = "proto2";
      9 
     10 message MsgType1
     11 {
     12     required int32 value = 1;
     13 }
     14 
     15 message MsgType2
     16 {
     17     required bool value = 1;
     18 }
     19 
     20 message MsgType3
     21 {
     22     required int32 value1 = 1;
     23     required int32 value2 = 2;
     24 }
     25 
     26 message UnionMessage
     27 {
     28     optional MsgType1 msg1 = 1;
     29     optional MsgType2 msg2 = 2;
     30     optional MsgType3 msg3 = 3;
     31 }
     32 
     33