X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvpp-api%2Fvapi%2Fvapi_json_parser.py;fp=src%2Fvpp-api%2Fvapi%2Fvapi_json_parser.py;h=4f29f95c6e91ed2b73697a774cb4cf66dea61dd9;hb=d1c75063daf9466a7ef10beed9c9e58245d3380e;hp=a323f15e7b637c012786a9c1c9a937e786aa4ee8;hpb=14bf6a8fb03545b587d99e9db36871cc62b5729d;p=vpp.git diff --git a/src/vpp-api/vapi/vapi_json_parser.py b/src/vpp-api/vapi/vapi_json_parser.py index a323f15e7b6..4f29f95c6e9 100644 --- a/src/vpp-api/vapi/vapi_json_parser.py +++ b/src/vpp-api/vapi/vapi_json_parser.py @@ -324,6 +324,7 @@ class JsonParser(object): self.services = {} self.messages = {} self.enums = {} + self.enumflags = {} self.unions = {} self.aliases = {} self.types = { @@ -391,6 +392,14 @@ class JsonParser(object): self.enums[enum.name] = enum self.logger.debug("Parsed enum: %s" % enum) self.enums_by_json[path].append(enum) + for e in j["enumflags"]: + name = e[0] + value_pairs = e[1:-1] + enumtype = self.types[e[-1]["enumtype"]] + enum = self.enum_class(name, value_pairs, enumtype) + self.enums[enum.name] = enum + self.logger.debug("Parsed enumflag: %s" % enum) + self.enums_by_json[path].append(enum) exceptions = [] progress = 0 last_progress = 0 @@ -485,6 +494,8 @@ class JsonParser(object): return self.types[name] elif name in self.enums: return self.enums[name] + elif name in self.enumflags: + return self.enumflags[name] elif name in self.unions: return self.unions[name] elif name in self.aliases: @@ -493,6 +504,8 @@ class JsonParser(object): return self.types[mundane_name] elif mundane_name in self.enums: return self.enums[mundane_name] + elif mundane_name in self.enumflags: + return self.enumflags[mundane_name] elif mundane_name in self.unions: return self.unions[mundane_name] elif mundane_name in self.aliases: