in managementgen/qmfgen/schema.py [0:0]
def __init__ (self, node):
self.name = None
self.base = None
self.cpp = None
self.encode = None
self.decode = None
self.style = "normal"
self.stream = "#"
self.size = "1"
self.accessor = None
self.init = "0"
self.perThread = False
self.byRef = False
self.unmap = "#"
self.map = "#"
attrs = node.attributes
for idx in range (attrs.length):
key = attrs.item(idx).nodeName
val = attrs.item(idx).nodeValue
if key == 'name':
self.name = val
elif key == 'base':
self.base = val
elif key == 'cpp':
self.cpp = val
elif key == 'encode':
self.encode = val
elif key == 'decode':
self.decode = val
elif key == 'style':
self.style = val
elif key == 'stream':
self.stream = val
elif key == 'size':
self.size = val
elif key == 'accessor':
self.accessor = val
elif key == 'init':
self.init = val
elif key == 'perThread':
if val != 'y':
raise ValueError ("Expected 'y' in perThread attribute")
self.perThread = True
elif key == 'byRef':
if val != 'y':
raise ValueError ("Expected 'y' in byRef attribute")
self.byRef = True
elif key == 'unmap':
self.unmap = val
elif key == 'map':
self.map = val
else:
raise ValueError ("Unknown attribute in type '%s'" % key)
if self.name == None or self.base == None or self.cpp == None or \
self.encode == None or self.decode == None:
raise ValueError ("Missing required attribute(s) in type")
if self.byRef:
self.asArg = "const " + self.cpp + "&"
else:
self.asArg = self.cpp