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 8message MsgType1 9{ 10 required int32 value = 1; 11} 12 13message MsgType2 14{ 15 required bool value = 1; 16} 17 18message MsgType3 19{ 20 required int32 value1 = 1; 21 required int32 value2 = 2; 22} 23 24message UnionMessage 25{ 26 optional MsgType1 msg1 = 1; 27 optional MsgType2 msg2 = 2; 28 optional MsgType3 msg3 = 3; 29} 30 31