nanopb 0.4.9.dev1485__tar.gz → 0.4.9.dev1492__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. {nanopb-0.4.9.dev1485 → nanopb-0.4.9.dev1492}/PKG-INFO +1 -1
  2. {nanopb-0.4.9.dev1485 → nanopb-0.4.9.dev1492}/nanopb/generator/nanopb_generator.py +38 -10
  3. {nanopb-0.4.9.dev1485 → nanopb-0.4.9.dev1492}/nanopb/generator/proto/__pycache__/__init__.cpython-38.pyc +0 -0
  4. {nanopb-0.4.9.dev1485 → nanopb-0.4.9.dev1492}/nanopb/generator/proto/__pycache__/_utils.cpython-38.pyc +0 -0
  5. {nanopb-0.4.9.dev1485 → nanopb-0.4.9.dev1492}/nanopb/generator/proto/nanopb.proto +21 -5
  6. nanopb-0.4.9.dev1492/nanopb/generator/proto/nanopb_pb2.py +46 -0
  7. {nanopb-0.4.9.dev1485 → nanopb-0.4.9.dev1492}/pyproject.toml +1 -1
  8. nanopb-0.4.9.dev1485/nanopb/generator/proto/nanopb_pb2.py +0 -46
  9. {nanopb-0.4.9.dev1485 → nanopb-0.4.9.dev1492}/README.md +0 -0
  10. {nanopb-0.4.9.dev1485 → nanopb-0.4.9.dev1492}/nanopb/__init__.py +0 -0
  11. {nanopb-0.4.9.dev1485 → nanopb-0.4.9.dev1492}/nanopb/generator/__init__.py +0 -0
  12. {nanopb-0.4.9.dev1485 → nanopb-0.4.9.dev1492}/nanopb/generator/nanopb_generator +0 -0
  13. {nanopb-0.4.9.dev1485 → nanopb-0.4.9.dev1492}/nanopb/generator/nanopb_generator.bat +0 -0
  14. {nanopb-0.4.9.dev1485 → nanopb-0.4.9.dev1492}/nanopb/generator/nanopb_generator.py2 +0 -0
  15. {nanopb-0.4.9.dev1485 → nanopb-0.4.9.dev1492}/nanopb/generator/platformio_generator.py +0 -0
  16. {nanopb-0.4.9.dev1485 → nanopb-0.4.9.dev1492}/nanopb/generator/proto/Makefile +0 -0
  17. {nanopb-0.4.9.dev1485 → nanopb-0.4.9.dev1492}/nanopb/generator/proto/__init__.py +0 -0
  18. {nanopb-0.4.9.dev1485 → nanopb-0.4.9.dev1492}/nanopb/generator/proto/_utils.py +0 -0
  19. {nanopb-0.4.9.dev1485 → nanopb-0.4.9.dev1492}/nanopb/generator/proto/google/protobuf/descriptor.proto +0 -0
  20. {nanopb-0.4.9.dev1485 → nanopb-0.4.9.dev1492}/nanopb/generator/protoc +0 -0
  21. {nanopb-0.4.9.dev1485 → nanopb-0.4.9.dev1492}/nanopb/generator/protoc-gen-nanopb +0 -0
  22. {nanopb-0.4.9.dev1485 → nanopb-0.4.9.dev1492}/nanopb/generator/protoc-gen-nanopb-py2 +0 -0
  23. {nanopb-0.4.9.dev1485 → nanopb-0.4.9.dev1492}/nanopb/generator/protoc-gen-nanopb.bat +0 -0
  24. {nanopb-0.4.9.dev1485 → nanopb-0.4.9.dev1492}/nanopb/generator/protoc.bat +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: nanopb
3
- Version: 0.4.9.dev1485
3
+ Version: 0.4.9.dev1492
4
4
  Summary: Nanopb is a small code-size Protocol Buffers implementation in ansi C. It is especially suitable for use in microcontrollers, but fits any memory restricted system.
5
5
  Home-page: https://jpa.kapsi.fi/nanopb/
6
6
  License: Zlib
@@ -437,14 +437,11 @@ class Enum(ProtoElement):
437
437
  result += 'typedef enum %s' % Globals.naming_style.enum_name(self.names)
438
438
 
439
439
  # Override the enum size if user wants to use smaller integers
440
- if (FieldD.TYPE_ENUM, self.options.int_size) in datatypes:
441
- self.ctype, self.pbtype, self.enc_size, self.data_item_size = datatypes[(FieldD.TYPE_ENUM, self.options.int_size)]
442
- result += '\n#ifdef __cplusplus\n'
443
- result += ' : ' + self.ctype + '\n'
444
- result += '#endif\n'
445
- result += '{'
446
- else:
447
- result += ' {'
440
+ if (FieldD.TYPE_ENUM, self.options.enum_intsize) in datatypes:
441
+ self.ctype, self.pbtype, self.enc_size, self.data_item_size = datatypes[(FieldD.TYPE_ENUM, self.options.enum_intsize)]
442
+ result += ': ' + self.ctype
443
+
444
+ result += ' {'
448
445
 
449
446
  if trailing_comment:
450
447
  result += " " + trailing_comment
@@ -1345,9 +1342,13 @@ class Message(ProtoElement):
1345
1342
 
1346
1343
  for index, f in enumerate(desc.field):
1347
1344
  field_options = get_nanopb_suboptions(f, message_options, self.name + f.name)
1345
+
1348
1346
  if field_options.type == nanopb_pb2.FT_IGNORE:
1349
1347
  continue
1350
1348
 
1349
+ if field_options.discard_deprecated and f.options.deprecated:
1350
+ continue
1351
+
1351
1352
  if field_options.descriptorsize > self.descriptorsize:
1352
1353
  self.descriptorsize = field_options.descriptorsize
1353
1354
 
@@ -1886,6 +1887,7 @@ class ProtoFile:
1886
1887
  self.dependencies = {}
1887
1888
  self.math_include_required = False
1888
1889
  self.parse()
1890
+ self.discard_unused_automatic_types()
1889
1891
  for message in self.messages:
1890
1892
  if message.math_include_required:
1891
1893
  self.math_include_required = True
@@ -1922,6 +1924,9 @@ class ProtoFile:
1922
1924
  if message_options.skip_message:
1923
1925
  continue
1924
1926
 
1927
+ if message_options.discard_deprecated and message.options.deprecated:
1928
+ continue
1929
+
1925
1930
  # Apply any configured typename mangling options
1926
1931
  message = copy.deepcopy(message)
1927
1932
  for field in message.field:
@@ -1931,8 +1936,9 @@ class ProtoFile:
1931
1936
  # Check for circular dependencies
1932
1937
  msgobject = Message(name, message, message_options, comment_path, self.comment_locations)
1933
1938
  if check_recursive_dependencies(msgobject, self.messages):
1934
- sys.stderr.write('Breaking circular dependency at message %s by converting to callback\n' % msgobject.name)
1935
- message_options.type = nanopb_pb2.FT_CALLBACK
1939
+ message_options.type = message_options.fallback_type
1940
+ sys.stderr.write('Breaking circular dependency at message %s by converting to %s\n'
1941
+ % (msgobject.name, nanopb_pb2.FieldType.Name(message_options.type)))
1936
1942
  msgobject = Message(name, message, message_options, comment_path, self.comment_locations)
1937
1943
  self.messages.append(msgobject)
1938
1944
 
@@ -1954,6 +1960,28 @@ class ProtoFile:
1954
1960
  if field_options.type != nanopb_pb2.FT_IGNORE:
1955
1961
  self.extensions.append(ExtensionField(name, extension, field_options))
1956
1962
 
1963
+ def discard_unused_automatic_types(self):
1964
+ '''Discard unused types that are automatically generated by protoc if they are not actually
1965
+ needed. Currently this applies to map< > types when the field is ignored by options.
1966
+ '''
1967
+
1968
+ if not self.file_options.discard_unused_automatic_types:
1969
+ return
1970
+
1971
+ map_entries = {}
1972
+ types_used = set()
1973
+ for msg in self.messages:
1974
+ if msg.desc.options.map_entry:
1975
+ map_entries[str(msg.name)] = msg
1976
+
1977
+ for field in msg.all_fields():
1978
+ if field.pbtype == 'MESSAGE':
1979
+ types_used.add(str(field.submsgname))
1980
+
1981
+ for name, msg in map_entries.items():
1982
+ if name not in types_used:
1983
+ self.messages.remove(msg)
1984
+
1957
1985
  def add_dependency(self, other):
1958
1986
  for enum in other.enums:
1959
1987
  self.dependencies[str(enum.names)] = enum
@@ -1,9 +1,15 @@
1
- // Custom options for defining:
2
- // - Maximum size of string/bytes
3
- // - Maximum number of elements in array
1
+ // This file contains definitions of custom options used to control the
2
+ // code generator in nanopb protocol buffers library.
4
3
  //
5
- // These are used by nanopb to generate statically allocable structures
6
- // for memory-limited environments.
4
+ // Most commonly used options are max_count and max_size, which allow
5
+ // the generator to allocate static arrays for repeated and string fields.
6
+ //
7
+ // There are three ways to use these options:
8
+ // 1. Use a separate <protofile>.options file
9
+ // 2. Use command line switches to nanopb_generator.py
10
+ // 3. Use [(nanopb).option = value] in your <protofile>.proto file
11
+ //
12
+ // For detailed documentation, refer to "Generator options" in docs/reference.md
7
13
 
8
14
  syntax = "proto2";
9
15
  import "google/protobuf/descriptor.proto";
@@ -61,6 +67,9 @@ message NanoPBOptions {
61
67
  // full 32 bits for the value.
62
68
  optional IntSize int_size = 7 [default = IS_DEFAULT];
63
69
 
70
+ // Size for enum fields. Supported by C++11 and C23 standards.
71
+ optional IntSize enum_intsize = 34 [default = IS_DEFAULT];
72
+
64
73
  // Force type of field (callback or static allocation)
65
74
  optional FieldType type = 3 [default = FT_DEFAULT];
66
75
 
@@ -165,6 +174,13 @@ message NanoPBOptions {
165
174
  // Override initializer used in generated MyMessage_init_zero and MyMessage_init_default macros
166
175
  // By default decided automatically based on field default value and datatype.
167
176
  optional string initializer = 30;
177
+
178
+ // Discard unused types that are automatically generated by protoc if they are not actually
179
+ // needed. Currently this applies to map< > types when the field is ignored by options.
180
+ optional bool discard_unused_automatic_types = 33 [default = true];
181
+
182
+ // Discard messages and fields marked with [deprecated = true] in the proto file.
183
+ optional bool discard_deprecated = 35 [default = false];
168
184
  }
169
185
 
170
186
  // Extensions to protoc 'Descriptor' type in order to define options
@@ -0,0 +1,46 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: nanopb.proto
5
+ # Protobuf Python Version: 5.27.2
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 5,
15
+ 27,
16
+ 2,
17
+ '',
18
+ 'nanopb.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2
26
+
27
+
28
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0cnanopb.proto\x1a google/protobuf/descriptor.proto\"\x99\t\n\rNanoPBOptions\x12\x10\n\x08max_size\x18\x01 \x01(\x05\x12\x12\n\nmax_length\x18\x0e \x01(\x05\x12\x11\n\tmax_count\x18\x02 \x01(\x05\x12&\n\x08int_size\x18\x07 \x01(\x0e\x32\x08.IntSize:\nIS_DEFAULT\x12*\n\x0c\x65num_intsize\x18\" \x01(\x0e\x32\x08.IntSize:\nIS_DEFAULT\x12$\n\x04type\x18\x03 \x01(\x0e\x32\n.FieldType:\nFT_DEFAULT\x12\x18\n\nlong_names\x18\x04 \x01(\x08:\x04true\x12\x1c\n\rpacked_struct\x18\x05 \x01(\x08:\x05\x66\x61lse\x12\x1a\n\x0bpacked_enum\x18\n \x01(\x08:\x05\x66\x61lse\x12\x1b\n\x0cskip_message\x18\x06 \x01(\x08:\x05\x66\x61lse\x12\x18\n\tno_unions\x18\x08 \x01(\x08:\x05\x66\x61lse\x12\r\n\x05msgid\x18\t \x01(\r\x12\x1e\n\x0f\x61nonymous_oneof\x18\x0b \x01(\x08:\x05\x66\x61lse\x12\x15\n\x06proto3\x18\x0c \x01(\x08:\x05\x66\x61lse\x12#\n\x14proto3_singular_msgs\x18\x15 \x01(\x08:\x05\x66\x61lse\x12\x1d\n\x0e\x65num_to_string\x18\r \x01(\x08:\x05\x66\x61lse\x12\x1c\n\renum_validate\x18 \x01(\x08:\x05\x66\x61lse\x12\x1b\n\x0c\x66ixed_length\x18\x0f \x01(\x08:\x05\x66\x61lse\x12\x1a\n\x0b\x66ixed_count\x18\x10 \x01(\x08:\x05\x66\x61lse\x12\x1e\n\x0fsubmsg_callback\x18\x16 \x01(\x08:\x05\x66\x61lse\x12/\n\x0cmangle_names\x18\x11 \x01(\x0e\x32\x11.TypenameMangling:\x06M_NONE\x12(\n\x11\x63\x61llback_datatype\x18\x12 \x01(\t:\rpb_callback_t\x12\x34\n\x11\x63\x61llback_function\x18\x13 \x01(\t:\x19pb_default_field_callback\x12\x30\n\x0e\x64\x65scriptorsize\x18\x14 \x01(\x0e\x32\x0f.DescriptorSize:\x07\x44S_AUTO\x12\x1a\n\x0b\x64\x65\x66\x61ult_has\x18\x17 \x01(\x08:\x05\x66\x61lse\x12\x0f\n\x07include\x18\x18 \x03(\t\x12\x0f\n\x07\x65xclude\x18\x1a \x03(\t\x12\x0f\n\x07package\x18\x19 \x01(\t\x12\x41\n\rtype_override\x18\x1b \x01(\x0e\x32*.google.protobuf.FieldDescriptorProto.Type\x12\x43\n\x0elabel_override\x18\x1f \x01(\x0e\x32+.google.protobuf.FieldDescriptorProto.Label\x12\x19\n\x0bsort_by_tag\x18\x1c \x01(\x08:\x04true\x12.\n\rfallback_type\x18\x1d \x01(\x0e\x32\n.FieldType:\x0b\x46T_CALLBACK\x12\x13\n\x0binitializer\x18\x1e \x01(\t\x12,\n\x1e\x64iscard_unused_automatic_types\x18! \x01(\x08:\x04true\x12!\n\x12\x64iscard_deprecated\x18# \x01(\x08:\x05\x66\x61lse*i\n\tFieldType\x12\x0e\n\nFT_DEFAULT\x10\x00\x12\x0f\n\x0b\x46T_CALLBACK\x10\x01\x12\x0e\n\nFT_POINTER\x10\x04\x12\r\n\tFT_STATIC\x10\x02\x12\r\n\tFT_IGNORE\x10\x03\x12\r\n\tFT_INLINE\x10\x05*D\n\x07IntSize\x12\x0e\n\nIS_DEFAULT\x10\x00\x12\x08\n\x04IS_8\x10\x08\x12\t\n\x05IS_16\x10\x10\x12\t\n\x05IS_32\x10 \x12\t\n\x05IS_64\x10@*Z\n\x10TypenameMangling\x12\n\n\x06M_NONE\x10\x00\x12\x13\n\x0fM_STRIP_PACKAGE\x10\x01\x12\r\n\tM_FLATTEN\x10\x02\x12\x16\n\x12M_PACKAGE_INITIALS\x10\x03*E\n\x0e\x44\x65scriptorSize\x12\x0b\n\x07\x44S_AUTO\x10\x00\x12\x08\n\x04\x44S_1\x10\x01\x12\x08\n\x04\x44S_2\x10\x02\x12\x08\n\x04\x44S_4\x10\x04\x12\x08\n\x04\x44S_8\x10\x08:E\n\x0enanopb_fileopt\x12\x1c.google.protobuf.FileOptions\x18\xf2\x07 \x01(\x0b\x32\x0e.NanoPBOptions:G\n\rnanopb_msgopt\x12\x1f.google.protobuf.MessageOptions\x18\xf2\x07 \x01(\x0b\x32\x0e.NanoPBOptions:E\n\x0enanopb_enumopt\x12\x1c.google.protobuf.EnumOptions\x18\xf2\x07 \x01(\x0b\x32\x0e.NanoPBOptions:>\n\x06nanopb\x12\x1d.google.protobuf.FieldOptions\x18\xf2\x07 \x01(\x0b\x32\x0e.NanoPBOptionsB\x1a\n\x18\x66i.kapsi.koti.jpa.nanopb')
29
+
30
+ _globals = globals()
31
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
32
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'nanopb_pb2', _globals)
33
+ if not _descriptor._USE_C_DESCRIPTORS:
34
+ _globals['DESCRIPTOR']._loaded_options = None
35
+ _globals['DESCRIPTOR']._serialized_options = b'\n\030fi.kapsi.koti.jpa.nanopb'
36
+ _globals['_FIELDTYPE']._serialized_start=1230
37
+ _globals['_FIELDTYPE']._serialized_end=1335
38
+ _globals['_INTSIZE']._serialized_start=1337
39
+ _globals['_INTSIZE']._serialized_end=1405
40
+ _globals['_TYPENAMEMANGLING']._serialized_start=1407
41
+ _globals['_TYPENAMEMANGLING']._serialized_end=1497
42
+ _globals['_DESCRIPTORSIZE']._serialized_start=1499
43
+ _globals['_DESCRIPTORSIZE']._serialized_end=1568
44
+ _globals['_NANOPBOPTIONS']._serialized_start=51
45
+ _globals['_NANOPBOPTIONS']._serialized_end=1228
46
+ # @@protoc_insertion_point(module_scope)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "nanopb"
3
- version = "0.4.9-dev1485"
3
+ version = "0.4.9-dev1492"
4
4
  description = "Nanopb is a small code-size Protocol Buffers implementation in ansi C. It is especially suitable for use in microcontrollers, but fits any memory restricted system."
5
5
  authors = ["Petteri Aimonen <jpa@npb.mail.kapsi.fi>"]
6
6
  license = "Zlib"
@@ -1,46 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # Generated by the protocol buffer compiler. DO NOT EDIT!
3
- # NO CHECKED-IN PROTOBUF GENCODE
4
- # source: nanopb.proto
5
- # Protobuf Python Version: 5.27.2
6
- """Generated protocol buffer code."""
7
- from google.protobuf import descriptor as _descriptor
8
- from google.protobuf import descriptor_pool as _descriptor_pool
9
- from google.protobuf import runtime_version as _runtime_version
10
- from google.protobuf import symbol_database as _symbol_database
11
- from google.protobuf.internal import builder as _builder
12
- _runtime_version.ValidateProtobufRuntimeVersion(
13
- _runtime_version.Domain.PUBLIC,
14
- 5,
15
- 27,
16
- 2,
17
- '',
18
- 'nanopb.proto'
19
- )
20
- # @@protoc_insertion_point(imports)
21
-
22
- _sym_db = _symbol_database.Default()
23
-
24
-
25
- from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2
26
-
27
-
28
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0cnanopb.proto\x1a google/protobuf/descriptor.proto\"\x9c\x08\n\rNanoPBOptions\x12\x10\n\x08max_size\x18\x01 \x01(\x05\x12\x12\n\nmax_length\x18\x0e \x01(\x05\x12\x11\n\tmax_count\x18\x02 \x01(\x05\x12&\n\x08int_size\x18\x07 \x01(\x0e\x32\x08.IntSize:\nIS_DEFAULT\x12$\n\x04type\x18\x03 \x01(\x0e\x32\n.FieldType:\nFT_DEFAULT\x12\x18\n\nlong_names\x18\x04 \x01(\x08:\x04true\x12\x1c\n\rpacked_struct\x18\x05 \x01(\x08:\x05\x66\x61lse\x12\x1a\n\x0bpacked_enum\x18\n \x01(\x08:\x05\x66\x61lse\x12\x1b\n\x0cskip_message\x18\x06 \x01(\x08:\x05\x66\x61lse\x12\x18\n\tno_unions\x18\x08 \x01(\x08:\x05\x66\x61lse\x12\r\n\x05msgid\x18\t \x01(\r\x12\x1e\n\x0f\x61nonymous_oneof\x18\x0b \x01(\x08:\x05\x66\x61lse\x12\x15\n\x06proto3\x18\x0c \x01(\x08:\x05\x66\x61lse\x12#\n\x14proto3_singular_msgs\x18\x15 \x01(\x08:\x05\x66\x61lse\x12\x1d\n\x0e\x65num_to_string\x18\r \x01(\x08:\x05\x66\x61lse\x12\x1c\n\renum_validate\x18 \x01(\x08:\x05\x66\x61lse\x12\x1b\n\x0c\x66ixed_length\x18\x0f \x01(\x08:\x05\x66\x61lse\x12\x1a\n\x0b\x66ixed_count\x18\x10 \x01(\x08:\x05\x66\x61lse\x12\x1e\n\x0fsubmsg_callback\x18\x16 \x01(\x08:\x05\x66\x61lse\x12/\n\x0cmangle_names\x18\x11 \x01(\x0e\x32\x11.TypenameMangling:\x06M_NONE\x12(\n\x11\x63\x61llback_datatype\x18\x12 \x01(\t:\rpb_callback_t\x12\x34\n\x11\x63\x61llback_function\x18\x13 \x01(\t:\x19pb_default_field_callback\x12\x30\n\x0e\x64\x65scriptorsize\x18\x14 \x01(\x0e\x32\x0f.DescriptorSize:\x07\x44S_AUTO\x12\x1a\n\x0b\x64\x65\x66\x61ult_has\x18\x17 \x01(\x08:\x05\x66\x61lse\x12\x0f\n\x07include\x18\x18 \x03(\t\x12\x0f\n\x07\x65xclude\x18\x1a \x03(\t\x12\x0f\n\x07package\x18\x19 \x01(\t\x12\x41\n\rtype_override\x18\x1b \x01(\x0e\x32*.google.protobuf.FieldDescriptorProto.Type\x12\x43\n\x0elabel_override\x18\x1f \x01(\x0e\x32+.google.protobuf.FieldDescriptorProto.Label\x12\x19\n\x0bsort_by_tag\x18\x1c \x01(\x08:\x04true\x12.\n\rfallback_type\x18\x1d \x01(\x0e\x32\n.FieldType:\x0b\x46T_CALLBACK\x12\x13\n\x0binitializer\x18\x1e \x01(\t*i\n\tFieldType\x12\x0e\n\nFT_DEFAULT\x10\x00\x12\x0f\n\x0b\x46T_CALLBACK\x10\x01\x12\x0e\n\nFT_POINTER\x10\x04\x12\r\n\tFT_STATIC\x10\x02\x12\r\n\tFT_IGNORE\x10\x03\x12\r\n\tFT_INLINE\x10\x05*D\n\x07IntSize\x12\x0e\n\nIS_DEFAULT\x10\x00\x12\x08\n\x04IS_8\x10\x08\x12\t\n\x05IS_16\x10\x10\x12\t\n\x05IS_32\x10 \x12\t\n\x05IS_64\x10@*Z\n\x10TypenameMangling\x12\n\n\x06M_NONE\x10\x00\x12\x13\n\x0fM_STRIP_PACKAGE\x10\x01\x12\r\n\tM_FLATTEN\x10\x02\x12\x16\n\x12M_PACKAGE_INITIALS\x10\x03*E\n\x0e\x44\x65scriptorSize\x12\x0b\n\x07\x44S_AUTO\x10\x00\x12\x08\n\x04\x44S_1\x10\x01\x12\x08\n\x04\x44S_2\x10\x02\x12\x08\n\x04\x44S_4\x10\x04\x12\x08\n\x04\x44S_8\x10\x08:E\n\x0enanopb_fileopt\x12\x1c.google.protobuf.FileOptions\x18\xf2\x07 \x01(\x0b\x32\x0e.NanoPBOptions:G\n\rnanopb_msgopt\x12\x1f.google.protobuf.MessageOptions\x18\xf2\x07 \x01(\x0b\x32\x0e.NanoPBOptions:E\n\x0enanopb_enumopt\x12\x1c.google.protobuf.EnumOptions\x18\xf2\x07 \x01(\x0b\x32\x0e.NanoPBOptions:>\n\x06nanopb\x12\x1d.google.protobuf.FieldOptions\x18\xf2\x07 \x01(\x0b\x32\x0e.NanoPBOptionsB\x1a\n\x18\x66i.kapsi.koti.jpa.nanopb')
29
-
30
- _globals = globals()
31
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
32
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'nanopb_pb2', _globals)
33
- if not _descriptor._USE_C_DESCRIPTORS:
34
- _globals['DESCRIPTOR']._loaded_options = None
35
- _globals['DESCRIPTOR']._serialized_options = b'\n\030fi.kapsi.koti.jpa.nanopb'
36
- _globals['_FIELDTYPE']._serialized_start=1105
37
- _globals['_FIELDTYPE']._serialized_end=1210
38
- _globals['_INTSIZE']._serialized_start=1212
39
- _globals['_INTSIZE']._serialized_end=1280
40
- _globals['_TYPENAMEMANGLING']._serialized_start=1282
41
- _globals['_TYPENAMEMANGLING']._serialized_end=1372
42
- _globals['_DESCRIPTORSIZE']._serialized_start=1374
43
- _globals['_DESCRIPTORSIZE']._serialized_end=1443
44
- _globals['_NANOPBOPTIONS']._serialized_start=51
45
- _globals['_NANOPBOPTIONS']._serialized_end=1103
46
- # @@protoc_insertion_point(module_scope)
File without changes