def parse_interface(iface):
    """
    Returns a docco section for the given interface.

    :Parameters:
      iface
        Parsed IDL interface dict. Keys: 'comment', 'name', 'returns', 'params'
    """
    sections = [ ]
    docs = iface['comment']
    code = '<span class="k">interface</span> <span class="gs">%s</span> {\n' % iface['name']
    for v in iface["functions"]:
        func_code = '    <span class="nf">%s</span>(' % v['name']
        i = 0
        for p in v["params"]:
            if i == 0: i = 1
            else: func_code += ", "
            func_code += '<span class="na">%s</span> <span class="kt">%s</span>' % (p['name'], format_type(p))
        func_code += ') <span class="kt">%s</span>\n' % format_type(v['returns'])
        if v.has_key('comment') and v['comment']:
            if code:
                sections.append(to_section(docs, code))
            docs = v['comment']
            code = func_code
        else:
            code += func_code
    code += "}"

    sections.append(to_section(docs, code))
    return sections
Returns a docco section for the given interface.

    :Parameters:
      iface
        Parsed IDL interface dict. Keys: 'comment', 'name', 'returns', 'params'