| // This is an example of how to handle 'union' style messages | |
| // with nanopb, without allocating memory for all the message types. | |
| // | |
| // There is no official type in Protocol Buffers for describing unions, | |
| // but they are commonly implemented by filling out exactly one of | |
| // several optional fields. | |
| syntax = "proto2"; | |
| message MsgType1 | |
| { | |
| required int32 value = 1; | |
| } | |
| message MsgType2 | |
| { | |
| required bool value = 1; | |
| } | |
| message MsgType3 | |
| { | |
| required int32 value1 = 1; | |
| required int32 value2 = 2; | |
| } | |
| message UnionMessage | |
| { | |
| optional MsgType1 msg1 = 1; | |
| optional MsgType2 msg2 = 2; | |
| optional MsgType3 msg3 = 3; | |
| } | |