summaryrefslogtreecommitdiff
path: root/grc/core/generator/Generator.py
diff options
context:
space:
mode:
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)