From 1732e476cde7cd74aa107c91eb93754a274612d3 Mon Sep 17 00:00:00 2001 From: Klement Sekera Date: Tue, 28 Aug 2018 17:23:18 +0200 Subject: [PATCH] VAPI: bugfixes Change-Id: I20cfbae8b704ca68fd8dda9c811dc282ce723871 Signed-off-by: Klement Sekera --- src/vpp-api/vapi/vapi_c_gen.py | 20 ++++++++------------ test/ext/fake.api.json | 14 +++++++++++++- 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/src/vpp-api/vapi/vapi_c_gen.py b/src/vpp-api/vapi/vapi_c_gen.py index 204ed86bcbd..c4c53662a82 100755 --- a/src/vpp-api/vapi/vapi_c_gen.py +++ b/src/vpp-api/vapi/vapi_c_gen.py @@ -553,24 +553,22 @@ vapi_send_with_control_ping (vapi_ctx_t ctx, void *msg, u32 context) """ -def emit_definition(parser, json_file, emitted, o, logger): +def emit_definition(parser, json_file, emitted, o): if o in emitted: return - logger.debug("emit definition for %s" % o) if o.name in ("msg_header1_t", "msg_header2_t"): return if hasattr(o, "depends"): for x in o.depends: - emit_definition(parser, json_file, emitted, x, logger) + emit_definition(parser, json_file, emitted, x) if hasattr(o, "reply"): - emit_definition(parser, json_file, emitted, o.reply, logger) + emit_definition(parser, json_file, emitted, o.reply) if hasattr(o, "get_c_def"): if (o not in parser.enums_by_json[json_file] and o not in parser.types_by_json[json_file] and o not in parser.unions_by_json[json_file] and o.name not in parser.messages_by_json[json_file]): return - logger.debug("writing def") guard = "defined_%s" % o.get_c_name() print("#ifndef %s" % guard) print("#define %s" % guard) @@ -578,9 +576,7 @@ def emit_definition(parser, json_file, emitted, o, logger): print("") function_attrs = "static inline " if o.name in parser.messages_by_json[json_file]: - logger.debug("o is %s" % o.name) if o.has_payload(): - logger.debug("o has payload ") print("%s%s" % (function_attrs, o.get_swap_payload_to_be_func_def())) print("") @@ -600,7 +596,7 @@ def emit_definition(parser, json_file, emitted, o, logger): print("") print("%s" % o.get_c_constructor()) print("") - if o.is_reply and not o.is_event: + if o.is_reply or o.is_event: print("%s%s;" % (function_attrs, o.get_event_cb_func_def())) print("") elif hasattr(o, "get_swap_to_be_func_def"): @@ -652,13 +648,13 @@ def gen_json_unified_header(parser, logger, j, io, name): print("") emitted = [] for e in parser.enums_by_json[j]: - emit_definition(parser, j, emitted, e, logger) + emit_definition(parser, j, emitted, e) for u in parser.unions_by_json[j]: - emit_definition(parser, j, emitted, u, logger) + emit_definition(parser, j, emitted, u) for t in parser.types_by_json[j]: - emit_definition(parser, j, emitted, t, logger) + emit_definition(parser, j, emitted, t) for m in parser.messages_by_json[j].values(): - emit_definition(parser, j, emitted, m, logger) + emit_definition(parser, j, emitted, m) print("") diff --git a/test/ext/fake.api.json b/test/ext/fake.api.json index 3e8d6a95a13..4a7c64e7dfd 100644 --- a/test/ext/fake.api.json +++ b/test/ext/fake.api.json @@ -1,6 +1,18 @@ { + "services": { + "test_fake_msg": { + "reply":"test_fake_msg_reply" + }, + "test_fake_dump": { + "reply":"test_fake_details", + "stream":"true" + } + }, + "enums" : [ + ], + "unions" : [ + ], "types" : [ - ], "messages" : [ ["test_fake_msg", -- 2.16.6