From f9c1bc3c6f24b5533f8ec8a441c9856a57824576 Mon Sep 17 00:00:00 2001 From: Carsten Meier Date: Wed, 3 Sep 2008 12:55:04 +0200 Subject: [PATCH] Make bit-numbers available to code-generators The Enum-class now exports the bit numbers in the 'bits'-list if they have been specified in the protocol description. Signed-off-by: Bart Massey --- xcbgen/xtypes.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/xcbgen/xtypes.py b/xcbgen/xtypes.py index 1ba02eb..30617b8 100644 --- a/xcbgen/xtypes.py +++ b/xcbgen/xtypes.py @@ -114,10 +114,12 @@ class Enum(SimpleType): Public fields added: values contains a list of (name, value) tuples. value is empty, or a number. + bits contains a list of (name, bitnum) tuples. items only appear if specified as a bit. bitnum is a number. ''' def __init__(self, name, elt): SimpleType.__init__(self, name, 4) self.values = [] + self.bits = [] for item in list(elt): # First check if we're using a default value if len(list(item)) == 0: @@ -130,6 +132,7 @@ class Enum(SimpleType): self.values.append((item.get('name'), value.text)) elif value.tag == 'bit': self.values.append((item.get('name'), '%u' % (1 << int(value.text)))) + self.bits.append((item.get('name'), value.text)) def resolve(self, module): self.resolved = True -- 2.34.1