Extend 'alltypes' testcase to cover repeated fields.
[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     Zero = 0;
10     First = 1;
11     Second = 2;
12     Truth = 42;
13 }
14
15 message AllTypes {
16     required int32      req_int32   = 1;
17     required int64      req_int64   = 2;
18     required uint32     req_uint32  = 3;
19     required uint64     req_uint64  = 4;
20     required sint32     req_sint32  = 5;
21     required sint64     req_sint64  = 6;
22     required bool       req_bool    = 7;
23     
24     required fixed32    req_fixed32 = 8;
25     required sfixed32   req_sfixed32= 9;
26     required float      req_float   = 10;
27     
28     required fixed64    req_fixed64 = 11;
29     required sfixed64   req_sfixed64= 12;
30     required double     req_double  = 13;
31     
32     required string     req_string  = 14 [(nanopb).max_size = 16];
33     required bytes      req_bytes   = 15 [(nanopb).max_size = 16];
34     required SubMessage req_submsg  = 16;
35     required MyEnum     req_enum    = 17;
36     
37     
38     repeated int32      rep_int32   = 21 [(nanopb).max_count = 5];
39     repeated int64      rep_int64   = 22 [(nanopb).max_count = 5];
40     repeated uint32     rep_uint32  = 23 [(nanopb).max_count = 5];
41     repeated uint64     rep_uint64  = 24 [(nanopb).max_count = 5];
42     repeated sint32     rep_sint32  = 25 [(nanopb).max_count = 5];
43     repeated sint64     rep_sint64  = 26 [(nanopb).max_count = 5];
44     repeated bool       rep_bool    = 27 [(nanopb).max_count = 5];
45     
46     repeated fixed32    rep_fixed32 = 28 [(nanopb).max_count = 5];
47     repeated sfixed32   rep_sfixed32= 29 [(nanopb).max_count = 5];
48     repeated float      rep_float   = 30 [(nanopb).max_count = 5];
49     
50     repeated fixed64    rep_fixed64 = 31 [(nanopb).max_count = 5];
51     repeated sfixed64   rep_sfixed64= 32 [(nanopb).max_count = 5];
52     repeated double     rep_double  = 33 [(nanopb).max_count = 5];
53     
54     repeated string     rep_string  = 34 [(nanopb).max_size = 16, (nanopb).max_count = 5];
55     repeated bytes      rep_bytes   = 35 [(nanopb).max_size = 16, (nanopb).max_count = 5];
56     repeated SubMessage rep_submsg  = 36 [(nanopb).max_count = 5];
57     repeated MyEnum     rep_enum    = 37 [(nanopb).max_count = 5];
58     
59     
60     // Just to make sure that the size of the fields has been calculated
61     // properly, i.e. otherwise a bug in last field might not be detected.
62     required int32      end = 99;
63 }
64