From a50674ee95b607067ac992abfdd16adbce5416cb Mon Sep 17 00:00:00 2001 From: Philippe Proulx Date: Wed, 6 Apr 2016 19:32:43 -0400 Subject: [PATCH] gen, templates: generate default stream trace definitions Signed-off-by: Philippe Proulx --- barectf/gen.py | 19 ++++++++++++++++++- barectf/templates.py | 4 ++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/barectf/gen.py b/barectf/gen.py index 6d136e1..4b9bb9d 100644 --- a/barectf/gen.py +++ b/barectf/gen.py @@ -353,13 +353,30 @@ class CCodeGenerator: s_name = self._cfg.options.gen_default_stream_def default_stream_def = '#define _BARECTF_DEFAULT_STREAM {}'.format(s_name) + default_stream_trace_defs = '' + default_stream_name = self._cfg.metadata.default_stream_name + + if default_stream_name is not None: + default_stream = self._cfg.metadata.streams[default_stream_name] + lines = [] + + for ev_name in default_stream.events.keys(): + tmpl = templates._DEFINE_DEFAULT_STREAM_TRACE + define = tmpl.format(prefix=self._cfg.prefix, + sname=default_stream_name, + evname=ev_name) + lines.append(define) + + default_stream_trace_defs = '\n'.join(lines) + tmpl = templates._HEADER_BEGIN self._cg.add_lines(tmpl.format(prefix=self._cfg.prefix, ucprefix=self._cfg.prefix.upper(), bitfield_header_filename=bh_filename, version=barectf.__version__, date=dt, prefix_def=prefix_def, - default_stream_def=default_stream_def)) + default_stream_def=default_stream_def, + default_stream_trace_defs=default_stream_trace_defs)) self._cg.add_empty_line() # platform callbacks structure diff --git a/barectf/templates.py b/barectf/templates.py index 1a242fd..5229668 100644 --- a/barectf/templates.py +++ b/barectf/templates.py @@ -139,6 +139,9 @@ _FUNC_CLOSE_BODY_END = ''' }''' +_DEFINE_DEFAULT_STREAM_TRACE = '#define {prefix}trace_{evname} {prefix}{sname}_trace_{evname}' + + _FUNC_TRACE_PROTO_BEGIN = '''/* trace (stream "{sname}", event "{evname}") */ void {prefix}{sname}_trace_{evname}( struct {prefix}{sname}_ctx *ctx''' @@ -238,6 +241,7 @@ _HEADER_BEGIN = '''#ifndef _{ucprefix}H {prefix_def} {default_stream_def} +{default_stream_trace_defs} struct {prefix}ctx; -- 2.34.1