Setting version to 0.3.6-dev
[apps/low-level-can-service.git] / generator / nanopb_generator.py
index 62ee41b..bc9e9da 100755 (executable)
@@ -3,7 +3,7 @@
 from __future__ import unicode_literals
 
 '''Generate header file for nanopb from a ProtoBuf FileDescriptorSet.'''
-nanopb_version = "nanopb-0.3.5-dev"
+nanopb_version = "nanopb-0.3.6-dev"
 
 import sys
 import re
@@ -730,10 +730,11 @@ class OneOf(Field):
         return largest
 
     def encoded_size(self, dependencies):
+        '''Returns the size of the largest oneof field.'''
         largest = EncodedSize(0)
         for f in self.fields:
             size = EncodedSize(f.encoded_size(dependencies))
-            if size is None:
+            if size.value is None:
                 return None
             elif size.symbols:
                 return None # Cannot resolve maximum of symbols
@@ -808,9 +809,10 @@ class Message:
         if not self.ordered_fields:
             # Empty structs are not allowed in C standard.
             # Therefore add a dummy field if an empty message occurs.
-            result += '    uint8_t dummy_field;'
+            result += '    char dummy_field;'
 
         result += '\n'.join([str(f) for f in self.ordered_fields])
+        result += '\n/* @@protoc_insertion_point(struct:%s) */' % self.name
         result += '\n}'
 
         if self.packed:
@@ -1053,6 +1055,8 @@ class ProtoFile:
             noext = os.path.splitext(incfile)[0]
             yield options.genformat % (noext + options.extension + '.h')
             yield '\n'
+            
+        yield '/* @@protoc_insertion_point(includes) */\n'
 
         yield '#if PB_PROTO_HEADER_VERSION != 30\n'
         yield '#error Regenerate this file with the current version of nanopb generator.\n'
@@ -1148,6 +1152,7 @@ class ProtoFile:
         yield '#endif\n'
 
         # End of header
+        yield '/* @@protoc_insertion_point(eof) */\n'
         yield '\n#endif\n'
 
     def generate_source(self, headername, options):
@@ -1160,6 +1165,7 @@ class ProtoFile:
             yield '/* Generated by %s at %s. */\n\n' % (nanopb_version, time.asctime())
         yield options.genformat % (headername)
         yield '\n'
+        yield '/* @@protoc_insertion_point(includes) */\n'
 
         yield '#if PB_PROTO_HEADER_VERSION != 30\n'
         yield '#error Regenerate this file with the current version of nanopb generator.\n'
@@ -1252,6 +1258,7 @@ class ProtoFile:
             yield 'PB_STATIC_ASSERT(sizeof(double) == 8, DOUBLE_MUST_BE_8_BYTES)\n'
 
         yield '\n'
+        yield '/* @@protoc_insertion_point(eof) */\n'
 
 # ---------------------------------------------------------------------------
 #                    Options parsing for the .proto files