<config>

 <moduleName>qtsql</moduleName>
 <parentModules>
     <module>qtcore</module>
     <module>qtgui</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>.*QDomNode.*</signature>
     <!-- this doesn't link, internal stuff.. -->
     <signature>.*qFindString.*</signature>
     <!-- windows internal helper functions -->
     <signature>.*qFrom.*Endian_helper.*</signature>
     <!-- OS X internal stuff -->
     <signature>.*qt_mac_set_cursor.*</signature>
</exclude>
 <functions>
     <!-- include functions starting with 'q' -->
     <name>^q.*</name>
     <name>.*::q.*</name>
     <!-- and operators -->
     <name>.*operator.*</name>
 </functions>
 <classList>
     <class>QSqlDatabase</class>
     <class>QSqlDriver</class>
     <class>QSqlDriverCreatorBase</class>
     <class>QSqlDriverFactoryInterface</class>
     <class>QSqlDriverPlugin</class>
     <class>QSqlError</class>
     <class>QSqlField</class>
     <class>QSqlIndex</class>
     <class>QSqlQuery</class>
     <class>QSqlQueryModel</class>
     <class>QSqlRecord</class>
     <class>QSqlRelation</class>
     <class>QSqlRelationalDelegate</class>
     <class>QSqlRelationalTableModel</class>
     <class>QSqlResult</class>
     <class>QSqlTableModel</class>
     <!-- namespaces -->
     <class>QSql</class>
  </classList>

</config>