diff generator/typesystem_sql.xml @ 1:e78566595089

initial import
author mandel
date Mon, 11 May 2009 16:01:50 +0000
parents
children 7664de4a55e5
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generator/typesystem_sql.xml	Mon May 11 16:01:50 2009 +0000
@@ -0,0 +1,216 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<typesystem package="qt.sql" default-superclass="qt.QtDObject">
+<inject-code>
+        qt.Utilities.loadQtLibrary("QtSql");
+    </inject-code>
+  <rejection class="QSqlDriverCreator"/>
+  <rejection class="QSqlDriverPlugin"/>
+  <rejection class="QSqlDriverFactoryInterface"/>
+
+  <namespace-type name="QSql">
+     <include file-name="qsql.h" location="global"/>
+  </namespace-type>
+
+  <value-type name="QSqlDatabase">
+    <extra-includes>
+        <include file-name="QSqlQuery" location="global"/>
+        <include file-name="QSqlError" location="global"/>
+        <include file-name="QSqlIndex" location="global"/>
+        <include file-name="QSqlRecord" location="global"/>
+        <include file-name="QStringList" location="global"/>
+        <include file-name="QSize" location="global"/>
+    </extra-includes>
+    <modify-function signature="operator=(QSqlDatabase)" remove="all"/>
+  
+        <inject-code>
+            <import-file name="typesystem_sql-java.java" quote-after-line="class QSqlDatabase___" quote-before-line="}// class"/>
+        </inject-code>
+        <modify-function signature="addDatabase(QSqlDriver*,QString)">
+            <modify-argument index="1">
+                <define-ownership class="java" owner="c++"/>
+            </modify-argument>
+        </modify-function>
+        <modify-function signature="contains(QString)">
+            <modify-argument index="1">
+                <replace-default-expression with="defaultConnection()"/>
+            </modify-argument>
+        </modify-function>
+        <modify-function signature="addDatabase(QString,QString)">
+            <modify-argument index="2">
+                <replace-default-expression with="defaultConnection()"/>
+            </modify-argument>
+        </modify-function>
+        <modify-function signature="addDatabase(QSqlDriver *,QString)">
+            <modify-argument index="2">
+                <replace-default-expression with="defaultConnection()"/>
+            </modify-argument>
+        </modify-function>
+        <modify-function signature="database(QString,bool)">
+            <modify-argument index="1">
+                <replace-default-expression with="defaultConnection()"/>
+            </modify-argument>
+        </modify-function>
+        <modify-field name="defaultConnection">
+            <access modifier="private"/>
+            <rename to="defaultConnection_private"/>
+        </modify-field>
+
+    </value-type>
+
+  <value-type name="QSqlQuery">
+    <extra-includes>
+        <include file-name="QSqlError" location="global"/>
+        <include file-name="QSqlRecord" location="global"/>
+        <include file-name="QStringList" location="global"/>
+        <include file-name="QSize" location="global"/>
+    </extra-includes>
+    <modify-function signature="operator=(QSqlQuery)" remove="all"/>
+  </value-type>
+
+  <value-type name="QSqlRecord">
+    <extra-includes>
+        <include file-name="QSqlField" location="global"/>
+    </extra-includes>
+    <modify-function signature="append(QSqlField)" access="non-final"/>
+    <modify-function signature="operator=(QSqlRecord)" remove="all"/>
+  </value-type>
+
+  <value-type name="QSqlError">
+    <modify-function signature="operator=(QSqlError)" remove="all"/>
+  </value-type>
+
+  <value-type name="QSqlIndex">
+    <modify-function signature="operator=(QSqlIndex)" remove="all"/>
+  </value-type>
+
+  <value-type name="QSqlRelation"/>
+
+  <value-type name="QSqlField">
+    <modify-function signature="operator=(QSqlField)" remove="all"/>
+  </value-type>
+
+  <object-type name="QSqlDriver">
+    <extra-includes>
+        <include file-name="QSqlQuery" location="global"/>
+        <include file-name="QSqlError" location="global"/>
+        <include file-name="QSqlIndex" location="global"/>
+        <include file-name="QSqlRecord" location="global"/>
+        <include file-name="QStringList" location="global"/>
+        <include file-name="QSize" location="global"/>
+    </extra-includes>
+  </object-type>
+
+  <object-type name="QSqlQueryModel">
+    <modify-function signature="indexInQuery(QModelIndex)const" access="non-final"/>
+    <modify-function signature="setQuery(QSqlQuery)" access="non-final"/>
+    <extra-includes>
+        <include file-name="QSqlError" location="global"/>
+        <include file-name="QSqlQuery" location="global"/>
+        <include file-name="QSqlRecord" location="global"/>
+        <include file-name="QStringList" location="global"/>
+        <include file-name="QSize" location="global"/>
+    </extra-includes>
+  </object-type>
+  <object-type name="QSqlRelationalTableModel">
+    <extra-includes>
+        <include file-name="QStringList" location="global"/>
+        <include file-name="QSize" location="global"/>
+    </extra-includes>
+  </object-type>
+  <object-type name="QSqlResult">
+      <extra-includes>
+        <include file-name="QSqlError" location="global"/>
+        <include file-name="QSqlQuery" location="global"/>
+        <include file-name="QSqlRecord" location="global"/>
+        <include file-name="QStringList" location="global"/>
+        <include file-name="QSize" location="global"/>
+      </extra-includes>
+      <modify-function signature="virtual_hook(int,void*)">
+        <remove/>
+      </modify-function>
+
+  </object-type>
+  <object-type name="QSqlTableModel">
+    <extra-includes>
+        <include file-name="QSqlIndex" location="global"/>
+        <include file-name="QStringList" location="global"/>
+        <include file-name="QSize" location="global"/>
+    </extra-includes>
+  
+
+        <template name="sql.convert_sqlrecord_reference_to_java">
+            jobject %out = qtjambi_from_object(__jni_env, &amp;%in, "QSqlRecord", "com/trolltech/qt/sql/", false);
+            Q_ASSERT(%out);
+        </template>
+
+        <template name="sql.convert_sqlrecord_reference_from_java">
+            QSqlRecord *__ptr_record = (QSqlRecord *) qtjambi_to_object(__jni_env, %in);
+
+            QSqlRecord dummy;
+            QSqlRecord &amp;%out = __ptr_record == 0 ? dummy : *__ptr_record;
+        </template>
+
+        <modify-function signature="beforeInsert(QSqlRecord&amp;)">
+            <modify-argument index="1">
+                <replace-type modified-type="qt.sql.QSqlRecord"/>
+                <conversion-rule class="shell">
+                    <insert-template name="sql.convert_sqlrecord_reference_to_java"/>
+                </conversion-rule>
+                <conversion-rule class="native">
+                    <insert-template name="sql.convert_sqlrecord_reference_from_java"/>
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+
+        <modify-function signature="beforeUpdate(int,QSqlRecord&amp;)">
+            <modify-argument index="2">
+                <replace-type modified-type="qt.sql.QSqlRecord"/>
+                <conversion-rule class="shell">
+                    <insert-template name="sql.convert_sqlrecord_reference_to_java"/>
+                </conversion-rule>
+                <conversion-rule class="native">
+                    <insert-template name="sql.convert_sqlrecord_reference_from_java"/>
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+
+        <modify-function signature="primeInsert(int,QSqlRecord&amp;)">
+            <modify-argument index="2">
+                <replace-type modified-type="qt.sql.QSqlRecord"/>
+                <conversion-rule class="shell">
+                    <insert-template name="sql.convert_sqlrecord_reference_to_java"/>
+                </conversion-rule>
+                <conversion-rule class="native">
+                    <insert-template name="sql.convert_sqlrecord_reference_from_java"/>
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+
+    </object-type>
+  <object-type name="QSqlDriverCreatorBase">
+    <extra-includes>
+        <include file-name="QSqlDriver" location="global"/>
+    </extra-includes>
+  </object-type>
+
+  <enum-type name="QSql::Location"/>
+  <enum-type name="QSql::ParamTypeFlag" flags="QSql::ParamType"/>
+  <enum-type name="QSql::TableType"/>
+  <enum-type name="QSql::NumericalPrecisionPolicy"/>
+  <enum-type name="QSqlDriver::DriverFeature"/>
+  <enum-type name="QSqlDriver::IdentifierType"/>
+  <enum-type name="QSqlDriver::StatementType"/>
+  <enum-type name="QSqlError::ErrorType"/>
+  <enum-type name="QSqlField::RequiredStatus"/>
+  <enum-type name="QSqlQuery::BatchExecutionMode"/>
+  <enum-type name="QSqlResult::BindingSyntax"/>
+  <enum-type name="QSqlResult::VirtualHookOperation"/>
+  <enum-type name="QSqlTableModel::EditStrategy"/>
+
+  <suppress-warning text="WARNING(CppImplGenerator) :: protected function '*' in final class '*'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: visibility of function '*' modified in class '*'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: hiding of function '*' in class '*'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QSqlField' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QSqlRecord' has equals operators but no qHash() function"/>
+
+</typesystem>