Added an encode/decode test for 'required' fields of all types.
[apps/agl-service-can-low-level.git] / tests / alltypes.proto
1 import "nanopb.proto";
2
3 message SubMessage {
4     required string substuff1 = 1 [(nanopb).max_size = 16];
5     required int32 substuff2 = 2;
6 }
7
8 enum MyEnum {
9     First = 1;
10     Second = 2;
11     Truth = 42;
12 }
13
14 message AllTypes {
15     required int32      req_int32   = 1;
16     required int64      req_int64   = 2;
17     required uint32     req_uint32  = 3;
18     required uint64     req_uint64  = 4;
19     required sint32     req_sint32  = 5;
20     required sint64     req_sint64  = 6;
21     required bool       req_bool    = 7;
22     
23     required fixed32    req_fixed32 = 8;
24     required sfixed32   req_sfixed32= 9;
25     required float      req_float   = 10;
26     
27     required fixed64    req_fixed64 = 11;
28     required sfixed64   req_sfixed64= 12;
29     required double     req_double  = 13;
30     
31     required string     req_string  = 14 [(nanopb).max_size = 16];
32     required bytes      req_bytes   = 15 [(nanopb).max_size = 16];
33     required SubMessage req_submsg  = 16;
34     required MyEnum     req_enum    = 17;
35     
36     // Just to make sure that the size of the fields has been calculated
37     // properly, i.e. otherwise a bug in last field might not be detected.
38     required int32      end = 99;
39 }
40