summaryrefslogtreecommitdiff
path: root/grc/core/generator/Generator.py
diff options
context:
space:
mode:
authorHåkon Vågsether <haakonsv@gmail.com>2017-07-24 19:54:26 +0200
committerAndrej Rode <mail@andrejro.de>2018-11-23 00:51:15 +0100
commitbac53b29f7008b33667a7c2c481ace02d73f3264 (patch)
tree409803943b08f5ff7d85e567c49ab94e6f545174 /grc/core/generator/Generator.py
parent8dc5fa49dc4c669c28ffb1216625ae92475c4ec9 (diff)
Add C++ generation
Diffstat (limited to 'grc/core/generator/Generator.py')
-rw-r--r--grc/core/generator/Generator.py26
1 files changed, 20 insertions, 6 deletions
diff --git a/grc/core/generator/Generator.py b/grc/core/generator/Generator.py
index 62dc26b8a8..91526d8714 100644
--- a/grc/core/generator/Generator.py
+++ b/grc/core/generator/Generator.py
@@ -24,6 +24,7 @@ from mako.template import Template
from .hier_block import HierBlockGenerator, QtHierBlockGenerator
from .top_block import TopBlockGenerator
+from .cpp_top_block import CppTopBlockGenerator
DATA_DIR = os.path.dirname(__file__)
FLOW_GRAPH_TEMPLATE = os.path.join(DATA_DIR, 'flow_graph.py.mako')
@@ -43,12 +44,25 @@ class Generator(object):
file_path: the path to the grc file
"""
self.generate_options = flow_graph.get_option('generate_options')
- if self.generate_options == 'hb':
- generator_cls = HierBlockGenerator
- elif self.generate_options == 'hb_qt_gui':
- generator_cls = QtHierBlockGenerator
- else:
- generator_cls = TopBlockGenerator
+ self.output_language = flow_graph.get_option('output_language')
+
+ if self.output_language == 'python':
+
+ if self.generate_options == 'hb':
+ generator_cls = HierBlockGenerator
+ elif self.generate_options == 'hb_qt_gui':
+ generator_cls = QtHierBlockGenerator
+ else:
+ generator_cls = TopBlockGenerator
+
+ elif self.output_language == 'cpp':
+
+ if self.generate_options == 'hb':
+ pass
+ elif self.generate_options == 'hb_qt_gui':
+ pass
+ else:
+ generator_cls = CppTopBlockGenerator
self._generator = generator_cls(flow_graph, file_path)