[PATCH v6 08/42] codegen: Allows to specify descriptions for enumerations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



These descriptions will be shown in wireshark dissector.

Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx>
---
 python_modules/ptypes.py       | 16 ++++++++++++----
 python_modules/spice_parser.py |  2 +-
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/python_modules/ptypes.py b/python_modules/ptypes.py
index 7216b17..589b577 100644
--- a/python_modules/ptypes.py
+++ b/python_modules/ptypes.py
@@ -371,20 +371,24 @@ class EnumType(EnumBaseType):
         last = -1
         names = {}
         values = {}
+        descs = {}
         for v in enums:
             name = v[0]
-            if len(v) > 1:
-                value = v[1]
+            desc = v[1][1]
+            if len(v) > 2:
+                value = v[2]
             else:
                 value = last + 1
             last = value
 
             assert value not in names
             names[value] = name
+            descs[value] = desc
             values[name] = value
 
         self.names = names
         self.values = values
+        self.descs = descs
 
         self.attributes = fix_attributes(attribute_list)
 
@@ -423,20 +427,24 @@ class FlagsType(EnumBaseType):
         last = -1
         names = {}
         values = {}
+        descs = {}
         for v in flags:
             name = v[0]
-            if len(v) > 1:
-                value = v[1]
+            desc = v[1][1]
+            if len(v) > 2:
+                value = v[2]
             else:
                 value = last + 1
             last = value
 
             assert value not in names
             names[value] = name
+            descs[value] = desc
             values[name] = value
 
         self.names = names
         self.values = values
+        self.descs = descs
 
         self.attributes = fix_attributes(attribute_list)
 
diff --git a/python_modules/spice_parser.py b/python_modules/spice_parser.py
index a0f969a..06000a4 100644
--- a/python_modules/spice_parser.py
+++ b/python_modules/spice_parser.py
@@ -120,7 +120,7 @@ def SPICE_BNF():
                      int32_ ^ uint32_ ^ int64_ ^ uint64_ ^
                      typename).setName("type")
 
-        flagsBody = enumBody = Group(lbrace + delimitedList(Group (enumname + Optional(equals + integer))) + Optional(comma) + rbrace)
+        flagsBody = enumBody = Group(lbrace + delimitedList(Group (enumname + Optional(Group(ws_desc), default=[None,None]) + Optional(equals + integer))) + Optional(comma) + rbrace)
 
         messageSpec = Group(message_ + messageBody + attributes).setParseAction(lambda toks: ptypes.MessageType(None, toks[0][1], toks[0][2])) | typename
 
-- 
2.4.3

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]