<config>
    <moduleName>qtxmlpatterns</moduleName>
    <parentModules>
        <module>qtcore</module>
    </parentModules>
    <parts>1</parts>
    <scalarTypes>
        <!-- QString is a class, but represented as a scalar (#) in munged names -->
        <typeName>QString</typeName>
    </scalarTypes>
    <voidpTypes>
        <!-- both are classes, but they are represented as Smoke::t_voidp -->
        <typeName>QStringList</typeName>
        <typeName>QString</typeName>
    </voidpTypes>
    <exclude>
        <!-- we don't want private stuff in smoke.. -->
        <signature>.*::d</signature>
        <signature>.*::d_ptr</signature>
        <signature>.*::q_ptr</signature>
        <signature>.*\(.*Private.*\).*</signature>
        <!-- Thread related stuff belongs to the bindings language -->
        <signature>.*QtConcurrent.*</signature>
        <signature>.*QAbstractXmlForwardIterator.*</signature>
        <signature>.*QPatternist::ItemType.*</signature>
        <!-- The following methods aren't in the lib -->
        <signature>.*QXmlNodeModelIndex::namespaceBindings.*</signature>
        <signature>.*QXmlNodeModelIndex::sendNamespaces.*</signature>
        <signature>.*QXmlNodeModelIndex::compareOrder.*</signature>
        <signature>.*QXmlNodeModelIndex::isDeepEqual.*</signature>
        <signature>.*QXmlNodeModelIndex::kind.*</signature>
        <signature>.*QXmlNodeModelIndex::baseUri.*</signature>
        <signature>.*QXmlNodeModelIndex::documentUri.*</signature>
        <signature>.*QXmlNodeModelIndex::root.*</signature>
        <signature>.*QXmlNodeModelIndex::name.*</signature>
        <signature>.*QXmlNodeModelIndex::is.*</signature>
        <signature>.*QXmlNodeModelIndex::stringValue.*</signature>
        <signature>.*QXmlNodeModelIndex::namespaceForPrefix.*</signature>         
        <signature>.*QXmlName::QXmlName.*short.*</signature>
        <signature>.*QXmlName::code().*</signature>
        <signature>.*QXmlName::setLocalName.*short.*</signature>
        <signature>.*QXmlName::setNamespaceURI.*</signature>
        <signature>.*QXmlName::setPrefix.*short.*</signature>
        <signature>.*QXmlName::isLexicallyEqual.*</signature>
        <signature>.*short.*QXmlName::namespaceURI().*</signature>
        <signature>.*QXmlName::hasNamespace().*</signature>
        <signature>.*QXmlName::hasPrefix().*</signature>
        <signature>.*short.*QXmlName::prefix().*</signature>
        <signature>.*short.*QXmlName::localName().*</signature>
        <!-- this doesn't link, internal stuff.. -->
        <signature>.*qFindString.*</signature>
        <!-- windows internal helper functions -->
        <signature>.*qFrom.*Endian_helper.*</signature>
   </exclude>
    <functions>
        <!-- include functions starting with 'q' -->
        <name>^q.*</name>
        <name>.*::q.*</name>
        <!-- and operators -->
        <name>.*operator.*</name>
    </functions>
    <classList>
        <class>QAbstractMessageHandler</class>
        <class>QAbstractUriResolver</class>
        <class>QAbstractXmlNodeModel</class>
        <class>QAbstractXmlReceiver</class>
        <class>QSimpleXmlNodeModel</class>
        <class>QSourceLocation</class>
        <class>QXmlFormatter</class>
        <class>QXmlItem</class>
        <class>QXmlName</class>
        <class>QXmlNamePool</class>
        <class>QXmlNodeModelIndex</class>
        <class>QXmlQuery</class>
        <class>QXmlResultItems</class>
        <class>QXmlSchema</class>
        <class>QXmlSchemaValidator</class>
        <class>QXmlSerializer</class>
      </classList>
</config>
