1 // Copyright 2019-2023:
2 // GobySoft, LLC (2013-)
3 // Community contributors (see AUTHORS file)
5 // Toby Schneider <toby@gobysoft.org>
8 // This file is part of the Dynamic Compact Control Language Library
11 // DCCL is free software: you can redistribute it and/or modify
12 // it under the terms of the GNU Lesser General Public License as published by
13 // the Free Software Foundation, either version 2.1 of the License, or
14 // (at your option) any later version.
16 // DCCL is distributed in the hope that it will be useful,
17 // but WITHOUT ANY WARRANTY; without even the implied warranty of
18 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 // GNU Lesser General Public License for more details.
21 // You should have received a copy of the GNU Lesser General Public License
22 // along with DCCL. If not, see <http://www.gnu.org/licenses/>.
24 import "dccl/option_extensions.proto";
34 message NativeProtobufTest
36 option (dccl.msg).id = 1;
37 option (dccl.msg).max_bytes = 1024;
39 option (dccl.msg).codec_version = 4;
40 option (dccl.msg).codec_group = "dccl.native_protobuf";
42 optional double double_default_optional = 1;
43 optional float float_default_optional = 2;
44 optional int32 int32_default_optional = 3;
45 optional int64 int64_default_optional = 4;
46 optional uint32 uint32_default_optional = 5;
47 optional uint64 uint64_default_optional = 6;
48 optional sint32 sint32_default_optional = 7;
49 optional sint64 sint64_default_optional = 8;
50 optional fixed32 fixed32_default_optional = 9;
51 optional fixed64 fixed64_default_optional = 10;
52 optional sfixed32 sfixed32_default_optional = 11;
53 optional sfixed64 sfixed64_default_optional = 12;
55 optional bool bool_default_optional = 13;
56 optional Enum1 enum_default_optional = 16;
58 required double double_default_required = 21;
59 required float float_default_required = 22;
60 required int32 int32_default_required = 23;
61 required int64 int64_default_required = 24;
62 required uint32 uint32_default_required = 25;
63 required uint64 uint64_default_required = 26;
64 required sint32 sint32_default_required = 27;
65 required sint64 sint64_default_required = 28;
66 required fixed32 fixed32_default_required = 29;
67 required fixed64 fixed64_default_required = 30;
68 required sfixed32 sfixed32_default_required = 31;
69 required sfixed64 sfixed64_default_required = 32;
71 required bool bool_default_required = 33;
72 optional Enum1 enum_default_required = 34;
74 repeated double double_default_repeat = 101 [(dccl.field).max_repeat = 4];
75 repeated int32 int32_default_repeat = 103 [(dccl.field).max_repeat = 4];