Преглед на файлове

Stopped using pragma once and added ifndef statements in the template.

Bart Hertog преди 6 години
родител
ревизия
95fbaa211c
променени са 3 файла, в които са добавени 13 реда и са изтрити 10 реда
  1. 5 5
      generator/Header_Template.h
  2. 5 2
      generator/protoc-gen-eams.py
  3. 3 3
      src/ReadBufferSection.h

+ 5 - 5
generator/Header_Template.h

@@ -116,10 +116,7 @@ class {{ msg.name }} final: public ::EmbeddedProto::MessageInterface
             {% if field.is_repeated_field %}
             if(::EmbeddedProto::WireFormatter::WireType::LENGTH_DELIMITED == wire_type)
             {
-              uint32_t size;
-              result = ::EmbeddedProto::WireFormatter::DeserializeVarint(buffer, size);
-              ::EmbeddedProto::ReadBufferSection bufferSection(buffer, size);
-              result = result && {{field.variable_name}}.deserialize(bufferSection);
+              result = {{field.variable_name}}.deserialize(buffer);
             }
             {% else %}
             if(::EmbeddedProto::WireFormatter::WireType::{{field.wire_type}} == wire_type)
@@ -176,7 +173,8 @@ class {{ msg.name }} final: public ::EmbeddedProto::MessageInterface
 };
 {% endmacro %}
 // This file is generated. Please do not edit!
-#pragma once
+#ifndef _{{filename.upper()}}_H_
+#define _{{filename.upper()}}_H_
 
 #include <cstdint>
 {% if messages %}
@@ -201,3 +199,5 @@ namespace {{ namespace }}
 {% if namespace %}
 } // End of namespace {{ namespace }}
 {% endif %}
+#endif // _{{filename.upper()}}_H_
+

+ 5 - 2
generator/protoc-gen-eams.py

@@ -150,8 +150,11 @@ def generate_code(request, respones):
         messages_generator = generate_messages(proto_file.message_type)
         enums_generator = generate_enums(proto_file.enum_type)
 
+        filename_str = os.path.splitext(proto_file.name)[0]
+
         try:
-            file_str = template.render(namespace=proto_file.package, messages=messages_generator, enums=enums_generator)
+            file_str = template.render(filename=filename_str, namespace=proto_file.package, messages=messages_generator,
+                                       enums=enums_generator)
         except jinja2.TemplateError as e:
             print("TemplateError exception: " + str(e))
         except jinja2.UndefinedError as e:
@@ -166,7 +169,7 @@ def generate_code(request, respones):
             print("Template renderer exception: " + str(e))
         else:
             f = respones.file.add()
-            f.name = os.path.splitext(proto_file.name)[0] + ".h"
+            f.name = filename_str + ".h"
             f.content = file_str
 
 

+ 3 - 3
src/ReadBufferSection.h

@@ -1,6 +1,6 @@
 
-#ifndef _MESSAGE_BUFFER_SECTIOn_H_
-#define _MESSAGE_BUFFER_SECTION_H_
+#ifndef _READ_BUFFER_SECTION_H_
+#define _READ_BUFFER_SECTION_H_
 
 #include <cstdint>
 
@@ -80,4 +80,4 @@ namespace EmbeddedProto
 
 } // End of namespace EmbeddedProto
 
-#endif 
+#endif // _READ_BUFFER_SECTION_H_