symbian-qemu-0.9.1-12/python-2.6.1/Tools/bgen/bgen/bgenGeneratorGroup.py
author mikek
Mon, 17 May 2010 18:37:02 +0100
changeset 16 ccc8ba7d117c
parent 1 2fb8b9db1c86
permissions -rw-r--r--
Build was broken by a type in gui_common.h

from bgenOutput import *

class GeneratorGroup:

    def __init__(self, prefix):
        self.prefix = prefix
        self.generators = []

    def add(self, g, dupcheck=0):
        if dupcheck:
            if g in self.generators:
                print 'DUP', g.name
                return
        g.setprefix(self.prefix)
        self.generators.append(g)

    def generate(self):
        for g in self.generators:
            g.generate()
        Output()
        Output("static PyMethodDef %s_methods[] = {", self.prefix)
        IndentLevel()
        for g in self.generators:
            g.reference()
        Output("{NULL, NULL, 0}")
        DedentLevel()
        Output("};")


def _test():
    void = None
    from bgenGenerator import FunctionGenerator
    group = GeneratorGroup("spam")
    eggs = FunctionGenerator(void, "eggs")
    group.add(eggs)
    print "/* START */"
    group.generate()

if __name__ == "__main__":
    _test()