diff generator/typesystem_core.xml @ 1:e78566595089

initial import
author mandel
date Mon, 11 May 2009 16:01:50 +0000
parents
children ee8e70aca95e
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generator/typesystem_core.xml	Mon May 11 16:01:50 2009 +0000
@@ -0,0 +1,3147 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<typesystem package="qt.core" default-superclass="QtDObject">
+<inject-code>
+    qt.Utilities.loadQtLibrary("QtCore");
+    </inject-code>
+<template name="core.return_string_instead_of_char*">
+        public final String %FUNCTION_NAME() {
+            QNativePointer np = %FUNCTION_NAME_private();
+            String returned = "";
+            int i=0;
+            while (np.byteAt(i) != 0) returned += (char) np.byteAt(i++);
+            return returned;
+        }
+    </template>
+<template name="core.call_with_string_instead_of_char*">
+        public final void %FUNCTION_NAME(String %ARG_NAME) {
+            %FUNCTION_NAME(QNativePointer.createCharPointer(%ARG_NAME));
+        }
+    </template>
+<template name="core.private_function_return_self">
+      public final %RETURN_TYPE %FUNCTION_NAME(%ARGUMENTS) {
+        %FUNCTION_NAME_private(%ARGUMENT_NAMES);
+        return this;
+      }
+    </template>
+<template name="core.unary_other_type">
+        <insert-template name="core.private_function_return_self">
+            <replace from="%RETURN_TYPE" to="%OUT_TYPE"/>
+            <replace from="%ARGUMENTS" to="%IN_TYPE other"/>
+            <replace from="%ARGUMENT_NAMES" to="other"/>
+        </insert-template>
+    </template>
+<template name="core.unary_self_type">
+        <insert-template name="core.unary_other_type">
+            <replace from="%IN_TYPE" to="%TYPE"/>
+            <replace from="%OUT_TYPE" to="%TYPE"/>
+        </insert-template>
+    </template>
+<template name="core.operator_assign_self_type">
+        <insert-template name="core.unary_self_type">
+            <replace from="%FUNCTION_NAME" to="operator_assign"/>
+        </insert-template>
+    </template>
+<template name="core.operator_assign_other_type">
+        <insert-template name="core.unary_other_type">
+            <replace from="%FUNCTION_NAME" to="operator_assign"/>
+        </insert-template>
+    </template>
+<template name="core.call_through_with_byte[]_instead_of_char*_and_int">
+    public final int %FUNCTION_NAME(byte data[]) {
+        QNativePointer np = new QNativePointer(QNativePointer.Type.Byte, data.length);
+        %COPY_IN
+        int returned = (int) %FUNCTION_NAME(np, data.length);
+        %COPY_OUT
+        return returned;
+    }
+    </template>
+<template name="core.read_with_byte[]_instead_of_char*_and_int">
+        <insert-template name="core.call_through_with_byte[]_instead_of_char*_and_int">
+            <replace from="%COPY_IN" to=""/>
+            <replace from="%COPY_OUT" to="for (int i=0; i&lt;returned; ++i) data[i] = np.byteAt(i);"/>
+        </insert-template>
+    </template>
+<template name="core.write_with_byte[]_instead_of_char*_and_int">
+        <insert-template name="core.call_through_with_byte[]_instead_of_char*_and_int">
+            <replace from="%COPY_OUT" to=""/>
+            <replace from="%COPY_IN" to="for (int i=0; i&lt;data.length; ++i) np.setByteAt(i, data[i]);"/>
+        </insert-template>
+    </template>
+<template name="core.stream_operator_shift_right">
+        public final %STREAM_TYPE operator_shift_right(%TYPE array[]) {
+            QNativePointer np = new QNativePointer(QNativePointer.Type.%NATIVEPOINTER_TYPE);
+            for (int i=0; i&lt;array.length; ++i) {
+                operator_shift_right_%TYPE(np);
+                array[i] = np.%VALUE_FUNCTION();
+            }
+
+            return this;
+        }
+    </template>
+<template name="core.convert_primitive_array_to_java">
+        %JNITYPEArray %out = __jni_env-&gt;New%JAVATYPEArray((int) %len);
+        __jni_env-&gt;Set%JAVATYPEArrayRegion(%out, 0, (int) %len, (%JNITYPE *) %in);
+        %JNITYPE *__ptr = (%JNITYPE *) %in;
+        Q_UNUSED(__ptr);
+        %JNITYPEArray __array = %out;
+        Q_UNUSED(__array);
+    </template>
+<template name="core.cleanup_convert_primitive_array_to_java">
+        if (%len &gt; 0) __jni_env-&gt;Get%JAVATYPEArrayRegion(__array, 0, %len, __ptr);
+    </template>
+<template name="core.get_array_length">
+        int %out = __jni_env-&gt;GetArrayLength((jarray) %ARRAY);
+    </template>
+<template name="core.cleanup_convert_primitive_array_from_java">
+        __jni_env-&gt;Release%JAVATYPEArrayElements((%JNITYPEArray) %1, (%JNITYPE *) __ptr, 0);
+    </template>
+<template name="core.convert_primitive_array_from_java">
+        %CTYPE *%out = (%CTYPE *) __jni_env-&gt;Get%JAVATYPEArrayElements((%JNITYPEArray) %in, 0);
+        %CTYPE *__ptr = %out;
+    </template>
+
+<primitive-type name="bool" java-name="bool" jni-name="jboolean"/>
+<primitive-type name="double" jni-name="jdouble"/>
+<primitive-type name="float" jni-name="jfloat"/>
+
+    <primitive-type name="__int64" java-name="long" preferred-conversion="no" jni-name="jlong"/>
+    <primitive-type name="unsigned __int64" java-name="long" preferred-conversion="no" jni-name="jlong"/>
+    <primitive-type name="unsigned long long" java-name="ulong" preferred-conversion="no" jni-name="jlong"/>
+    <primitive-type name="long long" java-name="long" preferred-conversion="no" jni-name="jlong"/>
+    <primitive-type name="quintptr" preferred-conversion="no" java-name="ulong" jni-name="jlong" />
+
+    <primitive-type name="short" preferred-conversion="no" java-name="short" jni-name="jchar"/>
+    <primitive-type name="short" preferred-java-type="no" java-name="short" jni-name="jshort" />
+    <primitive-type name="signed short" java-name="short" preferred-conversion="no" jni-name="jchar"/>
+    <primitive-type name="unsigned short" java-name="ushort" preferred-conversion="no" jni-name="jchar"/>
+
+    <primitive-type name="char" java-name="char" jni-name="jbyte"/>
+    <primitive-type name="signed char" java-name="byte" preferred-conversion="no" jni-name="jbyte"/>
+    <primitive-type name="unsigned char" java-name="ubyte" preferred-conversion="no" jni-name="jbyte"/>
+
+    <primitive-type name="int" jni-name="jint"/>
+    <primitive-type name="signed int" java-name="int" preferred-conversion="no" jni-name="jint"/>
+    <primitive-type name="uint" java-name="uint" jni-name="jint"/>
+    <primitive-type name="ulong" java-name="ulong" preferred-conversion="no" jni-name="jint"/>
+    <primitive-type name="unsigned int" java-name="uint" preferred-conversion="no" jni-name="jint"/>
+    <primitive-type name="signed long" java-name="int" preferred-conversion="no" jni-name="jint"/>
+    <primitive-type name="long" java-name="int" preferred-conversion="no" jni-name="jint"/>
+    <primitive-type name="unsigned long" java-name="uint" preferred-conversion="no" jni-name="jint"/>
+
+    <primitive-type name="WId" java-name="long" preferred-conversion="no" jni-name="jlong"/>
+    <primitive-type name="Qt::HANDLE" java-name="long" preferred-conversion="no" jni-name="jlong"/>
+<!--    <primitive-type name="QVariant::Type" java-name="int" preferred-conversion="no" jni-name="jint"/> -->
+
+    <primitive-type name="QByteRef" java-name="byte" preferred-conversion="no" jni-name="jbyte"/>
+    <primitive-type name="QBitRef" java-name="bool" preferred-conversion="no" jni-name="jboolean"/>
+
+    <primitive-type name="QBool" java-name="bool" preferred-conversion="no" jni-name="bool"/>
+    <primitive-type name="QVariant" java-name="QVariant" jni-name="jVariant"/>
+
+<primitive-type name="jobject" java-name="java.lang.Object" jni-name="jobject"/>
+
+<template name="core.multiply-devide-add-subtract">
+    public final %TYPE multiply(double d) { operator_multiply_assign(d); return this; }
+    public final %TYPE divide(double d) { operator_divide_assign(d); return this; }
+    public final %TYPE add(%TYPE p) { operator_add_assign(p); return this; }
+    public final %TYPE subtract(%TYPE p) { operator_subtract_assign(p); return this; }
+    </template>
+<template name="convert_qtjambifuture_to_native">
+    QtJambiFuture %out = %in != 0 ? (const QtJambiFuture&amp; ) *(QtJambiFuture *)qtjambi_from_jlong(%in) : QtJambiFuture();
+  </template>
+<template name="convert_futurevoid_to_native">
+    QtJambiVoidFuture %out = %in != 0 ? (const QtJambiVoidFuture&amp; ) *(QtJambiVoidFuture *)qtjambi_from_jlong(%in) : QtJambiVoidFuture();
+  </template>
+<template name="future_function_in_futurewatcher">
+        extern "C" JNIEXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_com_trolltech_qt_core_QFutureWatcher__1_1qt_1future__J)
+        (JNIEnv *__jni_env,
+         jobject,
+         jlong __this_nativeId)
+        {
+            QTJAMBI_DEBUG_TRACE("(native) entering: QFutureWatcher::future() const");
+            Q_UNUSED(__jni_env)
+            Q_UNUSED(__this_nativeId)
+            QtJambiShell_QFutureWatcher *__qt_this = (QtJambiShell_QFutureWatcher *) qtjambi_from_jlong(__this_nativeId);
+            QTJAMBI_EXCEPTION_CHECK(__jni_env);
+            Q_ASSERT(__qt_this);
+            QtJambiFuture  __qt_return_value = __qt_this-&gt;future();
+
+            jobject __java_return_value = qtjambi_from_object(__jni_env, &amp;__qt_return_value, "QFuture", "com/trolltech/qt/core/", true);
+
+            QTJAMBI_DEBUG_TRACE("(native) -&gt; leaving: QFutureWatcher::future() const");
+            return __java_return_value;
+        }
+  </template>
+<template name="futures_function_in_futuresynchronizer">
+        extern "C" JNIEXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_com_trolltech_qt_core_QFutureSynchronizer__1_1qt_1futures__J)
+        (JNIEnv *__jni_env,
+        jobject,
+        jlong __this_nativeId)
+        {
+            QTJAMBI_DEBUG_TRACE("(native) entering: QFutureSynchronizer::futures() const");
+            Q_UNUSED(__jni_env)
+            Q_UNUSED(__this_nativeId)
+            QtJambiFutureSynchronizer *__qt_this = (QtJambiFutureSynchronizer *) qtjambi_from_jlong(__this_nativeId);
+            QTJAMBI_EXCEPTION_CHECK(__jni_env);
+            Q_ASSERT(__qt_this);
+            QList&lt;QtJambiFuture&gt;  __qt_return_value = __qt_this-&gt;futures();
+
+
+            jobject __java_return_value = qtjambi_arraylist_new(__jni_env, __qt_return_value.size());
+            QList&lt;QtJambiFuture&gt; ::const_iterator __qt_return_value_end_it = __qt_return_value.constEnd();
+            for (QList&lt;QtJambiFuture&gt; ::const_iterator __qt_return_value_it = __qt_return_value.constBegin(); __qt_return_value_it != __qt_return_value_end_it; ++__qt_return_value_it) {
+                QtJambiFuture  __qt_tmp = *__qt_return_value_it;
+                jobject __java_tmp = qtjambi_from_object(__jni_env, &amp;__qt_tmp, "QFuture", "com/trolltech/qt/core/", true);
+                QTJAMBI_EXCEPTION_CHECK(__jni_env);
+                qtjambi_collection_add(__jni_env, __java_return_value, __java_tmp);
+            }
+            QTJAMBI_EXCEPTION_CHECK(__jni_env);
+            QTJAMBI_EXCEPTION_CHECK(__jni_env);
+            QTJAMBI_DEBUG_TRACE("(native) -&gt; leaving: QFutureSynchronizer::futures() const");
+            return __java_return_value;
+        }
+  </template>
+
+  <rejection class="*" function-name="d_func"/>
+  <rejection class="*" function-name="data_ptr"/>
+  <rejection class="*" function-name="detach"/>
+  <rejection class="*" function-name="isDetached"/>
+
+  <rejection class="*" field-name="d_ptr"/>
+  <rejection class="*" field-name="d"/>
+
+  <rejection class="" enum-name="QtValidLicenseForTestModule"/>
+
+  <rejection class="" enum-name="QtValidLicenseForDBusModule"/>
+  <rejection class="" enum-name="QtValidLicenseForSqlModule"/>
+  <rejection class="" enum-name="QtValidLicenseForOpenGLModule"/>
+  <rejection class="" enum-name="enum_1"/>
+  <rejection class="" enum-name="QtValidLicenseForXmlModule"/>
+  <rejection class="" enum-name="QtValidLicenseForXmlPatternsModule"/>
+  <rejection class="" enum-name="QtValidLicenseForActiveQtModule"/>
+  <rejection class="" enum-name="QtValidLicenseForCoreModule"/>
+  <rejection class="" enum-name="QtValidLicenseForQt3SupportLightModule"/>
+  <rejection class="" enum-name="QtValidLicenseForQt3SupportModule"/>
+  <rejection class="" enum-name="QtValidLicenseForNetworkModule"/>
+  <rejection class="" enum-name="QtValidLicenseForSvgModule"/>
+  <rejection class="" enum-name="QtValidLicenseForGuiModule"/>
+  <rejection class="" enum-name="QtValidLicenseForScriptModule"/>
+  <rejection class="" enum-name="QtValidLicenseForHelpModule"/>
+  <rejection class="QtConcurrent" enum-name="enum_1"/>
+  <rejection class="QtConcurrent" function-name="operator|"/>
+
+  <rejection class="QFuture::const_iterator"/>
+  <rejection class="QFutureInterface"/>
+  <rejection class="QFutureInterfaceBase"/>
+  <rejection class="QtConcurrent::BlockSizeManager"/>
+  <rejection class="QtConcurrent::ConstMemberFunctionWrapper"/>
+  <rejection class="QtConcurrent::Exception"/>
+  <rejection class="QtConcurrent::FilterKernel"/>
+  <rejection class="QtConcurrent::FilteredEachKernel"/>
+  <rejection class="QtConcurrent::FilteredReducedKernel"/>
+  <rejection class="QtConcurrent::FunctionWrapper0"/>
+  <rejection class="QtConcurrent::FunctionWrapper1"/>
+  <rejection class="QtConcurrent::FunctionWrapper2"/>
+  <rejection class="QtConcurrent::IntermediateResults"/>
+  <rejection class="QtConcurrent::IterateKernel"/>
+  <rejection class="QtConcurrent::MapKernel"/>
+  <rejection class="QtConcurrent::MappedEachKernel"/>
+  <rejection class="QtConcurrent::MappedReducedKernel"/>
+  <rejection class="QtConcurrent::Median"/>
+  <rejection class="QtConcurrent::MemberFunctionWrapper"/>
+  <rejection class="QtConcurrent::MemberFunctionWrapper1"/>
+  <rejection class="QtConcurrent::ReduceKernel"/>
+  <rejection class="QtConcurrent::ResultItem"/>
+  <rejection class="QtConcurrent::ResultIterator"/>
+  <rejection class="QtConcurrent::ResultIteratorBase"/>
+  <rejection class="QtConcurrent::ResultReporter"/>
+  <rejection class="QtConcurrent::ResultStore"/>
+  <rejection class="QtConcurrent::ResultStoreBase"/>
+  <rejection class="QtConcurrent::RunFunctionTask"/>
+  <rejection class="QtConcurrent::RunFunctionTaskBase"/>
+  <rejection class="QtConcurrent::SelectSpecialization"/>
+  <rejection class="QtConcurrent::SelectStoredConstMemberFunctionCall0"/>
+  <rejection class="QtConcurrent::SelectStoredConstMemberFunctionCall1"/>
+  <rejection class="QtConcurrent::SelectStoredConstMemberFunctionCall2"/>
+  <rejection class="QtConcurrent::SelectStoredConstMemberFunctionCall3"/>
+  <rejection class="QtConcurrent::SelectStoredConstMemberFunctionCall4"/>
+  <rejection class="QtConcurrent::SelectStoredConstMemberFunctionCall5"/>
+  <rejection class="QtConcurrent::SelectStoredConstMemberFunctionPointerCall0"/>
+  <rejection class="QtConcurrent::SelectStoredConstMemberFunctionPointerCall1"/>
+  <rejection class="QtConcurrent::SelectStoredConstMemberFunctionPointerCall2"/>
+  <rejection class="QtConcurrent::SelectStoredConstMemberFunctionPointerCall3"/>
+  <rejection class="QtConcurrent::SelectStoredConstMemberFunctionPointerCall4"/>
+  <rejection class="QtConcurrent::SelectStoredConstMemberFunctionPointerCall5"/>
+  <rejection class="QtConcurrent::SelectStoredFunctorCall0"/>
+  <rejection class="QtConcurrent::SelectStoredFunctorCall1"/>
+  <rejection class="QtConcurrent::SelectStoredFunctorCall2"/>
+  <rejection class="QtConcurrent::SelectStoredFunctorCall3"/>
+  <rejection class="QtConcurrent::SelectStoredFunctorCall4"/>
+  <rejection class="QtConcurrent::SelectStoredFunctorCall5"/>
+  <rejection class="QtConcurrent::SelectStoredFunctorPointerCall0"/>
+  <rejection class="QtConcurrent::SelectStoredFunctorPointerCall1"/>
+  <rejection class="QtConcurrent::SelectStoredFunctorPointerCall2"/>
+  <rejection class="QtConcurrent::SelectStoredFunctorPointerCall3"/>
+  <rejection class="QtConcurrent::SelectStoredFunctorPointerCall4"/>
+  <rejection class="QtConcurrent::SelectStoredFunctorPointerCall5"/>
+  <rejection class="QtConcurrent::SelectStoredMemberFunctionCall0"/>
+  <rejection class="QtConcurrent::SelectStoredMemberFunctionCall1"/>
+  <rejection class="QtConcurrent::SelectStoredMemberFunctionCall2"/>
+  <rejection class="QtConcurrent::SelectStoredMemberFunctionCall3"/>
+  <rejection class="QtConcurrent::SelectStoredMemberFunctionCall4"/>
+  <rejection class="QtConcurrent::SelectStoredMemberFunctionCall5"/>
+  <rejection class="QtConcurrent::SelectStoredMemberFunctionPointerCall0"/>
+  <rejection class="QtConcurrent::SelectStoredMemberFunctionPointerCall1"/>
+  <rejection class="QtConcurrent::SelectStoredMemberFunctionPointerCall2"/>
+  <rejection class="QtConcurrent::SelectStoredMemberFunctionPointerCall3"/>
+  <rejection class="QtConcurrent::SelectStoredMemberFunctionPointerCall4"/>
+  <rejection class="QtConcurrent::SelectStoredMemberFunctionPointerCall5"/>
+  <rejection class="QtConcurrent::SequenceHolder1"/>
+  <rejection class="QtConcurrent::SequenceHolder2"/>
+  <rejection class="QtConcurrent::StoredConstMemberFunctionCall0"/>
+  <rejection class="QtConcurrent::StoredConstMemberFunctionCall1"/>
+  <rejection class="QtConcurrent::StoredConstMemberFunctionCall2"/>
+  <rejection class="QtConcurrent::StoredConstMemberFunctionCall3"/>
+  <rejection class="QtConcurrent::StoredConstMemberFunctionCall4"/>
+  <rejection class="QtConcurrent::StoredConstMemberFunctionCall5"/>
+  <rejection class="QtConcurrent::StoredConstMemberFunctionPointerCall0"/>
+  <rejection class="QtConcurrent::StoredConstMemberFunctionPointerCall1"/>
+  <rejection class="QtConcurrent::StoredConstMemberFunctionPointerCall2"/>
+  <rejection class="QtConcurrent::StoredConstMemberFunctionPointerCall3"/>
+  <rejection class="QtConcurrent::StoredConstMemberFunctionPointerCall4"/>
+  <rejection class="QtConcurrent::StoredConstMemberFunctionPointerCall5"/>
+  <rejection class="QtConcurrent::StoredFunctorCall0"/>
+  <rejection class="QtConcurrent::StoredFunctorCall1"/>
+  <rejection class="QtConcurrent::StoredFunctorCall2"/>
+  <rejection class="QtConcurrent::StoredFunctorCall3"/>
+  <rejection class="QtConcurrent::StoredFunctorCall4"/>
+  <rejection class="QtConcurrent::StoredFunctorCall5"/>
+  <rejection class="QtConcurrent::StoredFunctorPointerCall0"/>
+  <rejection class="QtConcurrent::StoredFunctorPointerCall1"/>
+  <rejection class="QtConcurrent::StoredFunctorPointerCall2"/>
+  <rejection class="QtConcurrent::StoredFunctorPointerCall3"/>
+  <rejection class="QtConcurrent::StoredFunctorPointerCall4"/>
+  <rejection class="QtConcurrent::StoredFunctorPointerCall5"/>
+  <rejection class="QtConcurrent::StoredMemberFunctionCall0"/>
+  <rejection class="QtConcurrent::StoredMemberFunctionCall1"/>
+  <rejection class="QtConcurrent::StoredMemberFunctionCall2"/>
+  <rejection class="QtConcurrent::StoredMemberFunctionCall3"/>
+  <rejection class="QtConcurrent::StoredMemberFunctionCall4"/>
+  <rejection class="QtConcurrent::StoredMemberFunctionCall5"/>
+  <rejection class="QtConcurrent::StoredMemberFunctionPointerCall0"/>
+  <rejection class="QtConcurrent::StoredMemberFunctionPointerCall1"/>
+  <rejection class="QtConcurrent::StoredMemberFunctionPointerCall2"/>
+  <rejection class="QtConcurrent::StoredMemberFunctionPointerCall3"/>
+  <rejection class="QtConcurrent::StoredMemberFunctionPointerCall4"/>
+  <rejection class="QtConcurrent::StoredMemberFunctionPointerCall5"/>
+  <rejection class="QtConcurrent::ThreadEngine"/>
+  <rejection class="QtConcurrent::ThreadEngineBase"/>
+  <rejection class="QtConcurrent::ThreadEngineSemaphore"/>
+  <rejection class="QtConcurrent::ThreadEngineStarter"/>
+  <rejection class="QtConcurrent::ThreadEngineStarterBase"/>
+  <rejection class="QtConcurrent::UnhandledException"/>
+  <rejection class="QtConcurrent::VoidStoredConstMemberFunctionCall0"/>
+  <rejection class="QtConcurrent::VoidStoredConstMemberFunctionCall1"/>
+  <rejection class="QtConcurrent::VoidStoredConstMemberFunctionCall2"/>
+  <rejection class="QtConcurrent::VoidStoredConstMemberFunctionCall3"/>
+  <rejection class="QtConcurrent::VoidStoredConstMemberFunctionCall4"/>
+  <rejection class="QtConcurrent::VoidStoredConstMemberFunctionCall5"/>
+  <rejection class="QtConcurrent::VoidStoredConstMemberFunctionPointerCall0"/>
+  <rejection class="QtConcurrent::VoidStoredConstMemberFunctionPointerCall1"/>
+  <rejection class="QtConcurrent::VoidStoredConstMemberFunctionPointerCall2"/>
+  <rejection class="QtConcurrent::VoidStoredConstMemberFunctionPointerCall3"/>
+  <rejection class="QtConcurrent::VoidStoredConstMemberFunctionPointerCall4"/>
+  <rejection class="QtConcurrent::VoidStoredConstMemberFunctionPointerCall5"/>
+  <rejection class="QtConcurrent::VoidStoredFunctorCall0"/>
+  <rejection class="QtConcurrent::VoidStoredFunctorCall1"/>
+  <rejection class="QtConcurrent::VoidStoredFunctorCall2"/>
+  <rejection class="QtConcurrent::VoidStoredFunctorCall3"/>
+  <rejection class="QtConcurrent::VoidStoredFunctorCall4"/>
+  <rejection class="QtConcurrent::VoidStoredFunctorCall5"/>
+  <rejection class="QtConcurrent::VoidStoredFunctorPointerCall0"/>
+  <rejection class="QtConcurrent::VoidStoredFunctorPointerCall1"/>
+  <rejection class="QtConcurrent::VoidStoredFunctorPointerCall2"/>
+  <rejection class="QtConcurrent::VoidStoredFunctorPointerCall3"/>
+  <rejection class="QtConcurrent::VoidStoredFunctorPointerCall4"/>
+  <rejection class="QtConcurrent::VoidStoredFunctorPointerCall5"/>
+  <rejection class="QtConcurrent::VoidStoredMemberFunctionCall0"/>
+  <rejection class="QtConcurrent::VoidStoredMemberFunctionCall1"/>
+  <rejection class="QtConcurrent::VoidStoredMemberFunctionCall2"/>
+  <rejection class="QtConcurrent::VoidStoredMemberFunctionCall3"/>
+  <rejection class="QtConcurrent::VoidStoredMemberFunctionCall4"/>
+  <rejection class="QtConcurrent::VoidStoredMemberFunctionCall5"/>
+  <rejection class="QtConcurrent::VoidStoredMemberFunctionPointerCall0"/>
+  <rejection class="QtConcurrent::VoidStoredMemberFunctionPointerCall1"/>
+  <rejection class="QtConcurrent::VoidStoredMemberFunctionPointerCall2"/>
+  <rejection class="QtConcurrent::VoidStoredMemberFunctionPointerCall3"/>
+  <rejection class="QtConcurrent::VoidStoredMemberFunctionPointerCall4"/>
+  <rejection class="QtConcurrent::VoidStoredMemberFunctionPointerCall5"/>
+
+  <rejection class="QModelIndex"/>
+  <rejection class="QSize"/>
+  <rejection class="QSizeF"/>
+  <rejection class="QPoint"/>
+  <rejection class="QPointF"/>
+
+  <rejection class="QMdi"/>
+  <rejection class="stdext"/>
+  <rejection class="QAlgorithmsPrivate"/>
+  <rejection class="QAtomic"/>
+  <rejection class="QAtomicPointer"/>
+  <rejection class="QAtomicInt"/>
+  <rejection class="QBasicAtomicInt"/>
+  <rejection class="QBasicAtomic"/>
+  <rejection class="QBasicAtomicPointer"/>
+  <rejection class="QBitRef"/>
+  <rejection class="QCache"/>
+  <rejection class="QCharRef"/>
+  <rejection class="QDebug"/>
+  <rejection class="QExplicitlySharedDataPointer"/>
+  <rejection class="QFlag"/>
+  <rejection class="QFlags"/>
+  <rejection class="QForeachContainer"/>
+  <rejection class="QForeachContainerBase"/>
+  <rejection class="QGlobalStatic"/>
+  <rejection class="QHash"/>
+  <rejection class="QHashData"/>
+  <rejection class="QHashDummyNode"/>
+  <rejection class="QHashDummyNode"/>
+  <rejection class="QHashDummyNode"/>
+  <rejection class="QHashDummyNode"/>
+  <rejection class="QHashDummyNode"/>
+  <rejection class="QHashDummyValue"/>
+  <rejection class="QHashIterator"/>
+  <rejection class="QHashNode"/>
+  <rejection class="QHashNode"/>
+  <rejection class="QHashNode"/>
+  <rejection class="QHashNode"/>
+  <rejection class="QHashNode"/>
+  <rejection class="QInternal"/>
+  <rejection class="QLibrary"/>
+  <rejection class="QLinkedList"/>
+  <rejection class="QLinkedListData"/>
+  <rejection class="QLinkedListIterator"/>
+  <rejection class="QLinkedListNode"/>
+  <rejection class="QListData"/>
+  <rejection class="QListIterator"/>
+  <rejection class="QMap"/>
+  <rejection class="QMapData"/>
+  <rejection class="QMapIterator"/>
+  <rejection class="QMetaType"/>
+  <rejection class="QMetaTypeId"/>
+  <rejection class="QMetaProperty"/>
+  <rejection class="QMetaObject"/>
+  <rejection class="QMetaClassInfo"/>
+  <rejection class="QMetaMethod"/>
+  <rejection class="QMetaEnum"/>
+  <rejection class="QMultiHash"/>
+  <rejection class="QMultiMap"/>
+  <rejection class="QMutableHashIterator"/>
+  <rejection class="QMutableLinkedListIterator"/>
+  <rejection class="QMutableListIterator"/>
+  <rejection class="QMutableMapIterator"/>
+  <rejection class="QMutableVectorIterator"/>
+  <rejection class="QMutexLocker"/>
+  <rejection class="QNoImplicitBoolCast"/>
+  <rejection class="QObjectCleanupHandler"/>
+  <rejection class="QObjectData"/>
+  <rejection class="QObjectUserData"/>
+  <rejection class="QPluginLoader"/>
+  <rejection class="QPointer"/>
+  <rejection class="QReadLocker"/>
+  <rejection class="QResource"/>
+  <rejection class="QSet"/>
+  <rejection class="QSetIterator"/>
+  <rejection class="QSharedData"/>
+  <rejection class="QSharedDataPointer"/>
+  <rejection class="QStack"/>
+  <rejection class="QSysInfo"/>
+  <rejection class="QTextStreamManipulator"/>
+  <rejection class="QThreadStorage"/>
+  <rejection class="QThreadStorageData"/>
+  <rejection class="QTypeInfo"/>
+  <rejection class="QTypeInfo"/>
+  <rejection class="QVFbKeyData"/>
+  <rejection class="QVariantComparisonHelper"/>
+  <rejection class="QVectorData"/>
+  <rejection class="QVectorIterator"/>
+  <rejection class="QVectorTypedData"/>
+  <rejection class="QWriteLocker"/>
+  <rejection class="QtPrivate"/>
+  <rejection class="qGreater"/>
+  <rejection class="qLess"/>
+  <rejection class="std"/>
+  <rejection class="QAbstractFileEngine::ExtensionOption"/>
+  <rejection class="QAbstractFileEngine::ExtensionReturn"/>
+  <rejection class="QByteArray::Data"/>
+  <rejection class="QIntForType"/>
+  <rejection class="QList::Node"/>
+  <rejection class="QList::const_iterator"/>
+  <rejection class="QList::iterator"/>
+  <rejection class="QMetaTypeId2"/>
+  <rejection class="QMutableSetIterator"/>
+  <rejection class="QSubString"/>
+  <rejection class="QUintForType"/>
+  <rejection class="QtConcurrent::internal"/>
+
+  <rejection class="QLocale::Data"/>
+  <rejection class="QGlobalStaticDeleter"/>
+  <rejection class="QSharedMemory"/> <!-- Temporarily until we know how to implement it in Java -->
+  <rejection class="QVarLengthArray"/>
+
+  <!-- DBus -->
+  <rejection class="QDBusAbstractAdaptor"/>
+  <rejection class="QDBusAbstractInterface"/>
+  <rejection class="QDBusArgument"/>
+  <rejection class="QDBusConnection"/>
+  <rejection class="QDBusConnectionInterface"/>
+  <rejection class="QDBusContext"/>
+  <rejection class="QDBusError"/>
+  <rejection class="QDBusInterface"/>
+  <rejection class="QDBusMessage"/>
+  <rejection class="QDBusMetaType"/>
+  <rejection class="QDBusObjectPath"/>
+  <rejection class="QDBusReply"/>
+  <rejection class="QDBusServer"/>
+  <rejection class="QDBusSignature"/>
+  <rejection class="QDBusVariant"/>
+
+  <rejection class="_Revbidit"/>
+  <rejection class="_complex"/>
+  <rejection class="_exception"/>
+  <rejection class="_iobuf"/>
+  <rejection class="_stat"/>
+  <rejection class="_wfinddata_t"/>
+  <rejection class="exception"/>
+  <rejection class="istreambuf_iterator"/>
+  <rejection class="ostreambuf_iterator"/>
+  <rejection class="reverse_bidirectional_iterator"/>
+  <rejection class="reverse_iterator"/>
+  <rejection class="stat"/>
+  <rejection class="tm"/>
+
+  <rejection class="QAbstractEventDispatcher" function-name="filterEvent"/>
+  <rejection class="QAbstractEventDispatcher" function-name="setEventFilter"/>
+  <rejection class="QAbstractFileEngine" function-name="beginEntryList"/>
+  <rejection class="QAbstractFileEngine" function-name="endEntryList"/>
+  <rejection class="QAbstractFileEngine" function-name="extension"/>
+  <rejection class="QCoreApplication" function-name="compressEvent"/>
+  <rejection class="QCoreApplication" function-name="eventFilter"/>
+  <rejection class="QCoreApplication" function-name="filterEvent"/>
+  <rejection class="QCoreApplication" function-name="setEventFilter"/>
+  <rejection class="QFile" function-name="setDecodingFunction"/>
+  <rejection class="QFile" function-name="setEncodingFunction"/>
+  <rejection class="QList" function-name="begin"/>
+  <rejection class="QList" function-name="constBegin"/>
+  <rejection class="QList" function-name="constEnd"/>
+  <rejection class="QList" function-name="end"/>
+  <rejection class="QList" function-name="erase"/>
+  <rejection class="QList" function-name="erase"/>
+  <rejection class="QList" function-name="free"/>
+  <rejection class="QList" function-name="fromList"/>
+  <rejection class="QList" function-name="fromSet"/>
+  <rejection class="QList" function-name="fromSet"/>
+  <rejection class="QList" function-name="insert"/>
+  <rejection class="QList" function-name="malloc"/>
+  <rejection class="QList" function-name="node_construct"/>
+  <rejection class="QList" function-name="node_copy"/>
+  <rejection class="QList" function-name="node_destruct"/>
+  <rejection class="QList" function-name="toSet"/>
+  <rejection class="QObject" function-name="receivers"/>
+  <rejection class="QObject" function-name="findChild"/>
+  <rejection class="QObject" function-name="findChildren"/>
+  <rejection class="QObject" function-name="setUserData"/>
+  <rejection class="QObject" function-name="userData"/>
+  <rejection class="QObject" function-name="destroyed"/>
+  <rejection class="QObject" function-name="connect"/>
+  <rejection class="QObject" function-name="connectNotify"/>
+  <rejection class="QObject" function-name="disconnect"/>
+  <rejection class="QObject" function-name="disconnectNotify"/>
+  <rejection class="QObject" function-name="registerUserData"/>
+  <rejection class="QObject" function-name="sender"/>
+  <rejection class="QTimer" function-name="singleShot"/>
+  <rejection class="QProcess" function-name="pid"/>
+  <rejection class="QRegion" function-name="cleanUp"/>
+  <rejection class="QSettings" function-name="registerFormat"/>
+  <rejection class="QVector" function-name="back"/>
+  <rejection class="QVector" function-name="begin"/>
+  <rejection class="QVector" function-name="constBegin"/>
+  <rejection class="QVector" function-name="constEnd"/>
+  <rejection class="QVector" function-name="end"/>
+  <rejection class="QVector" function-name="erase"/>
+  <rejection class="QVector" function-name="free"/>
+  <rejection class="QVector" function-name="front"/>
+  <rejection class="QVector" function-name="insert"/>
+  <rejection class="QVector" function-name="malloc"/>
+  <rejection class="QVector" function-name="alloc"/>
+  <rejection class="QVector" function-name="operator+="/>
+  <rejection class="QAbstractFileEngineIterator" function-name="entryInfo"/>
+
+  <rejection class="QAbstractFileEngineIterator" enum-name="EntryInfoType"/>
+  <rejection class="QDataStream" enum-name="ByteOrder"/>
+
+
+  <namespace-type name="Qt">
+    <modify-function signature="codecForHtml(const QByteArray &amp;)" remove="all"/>
+    <modify-function signature="mightBeRichText(const QString &amp;)" remove="all"/>
+    <modify-function signature="escape(const QString&amp;)" remove="all"/>
+    <modify-function signature="convertFromPlainText(const QString &amp;, Qt::WhiteSpaceMode)" remove="all"/>
+  </namespace-type>
+
+
+  <enum-type name="QtMsgType">
+    <reject-enum-value name="QtSystemMsg"/>
+  </enum-type>
+
+  <enum-type name="QReadWriteLock::RecursionMode"/>
+  <enum-type name="QSystemSemaphore::AccessMode"/>
+  <enum-type name="QSystemSemaphore::SystemSemaphoreError"/>
+  <enum-type name="QTextBoundaryFinder::BoundaryReason" flags="QTextBoundaryFinder::BoundaryReasons"/>
+  <enum-type name="QTextBoundaryFinder::BoundaryType"/>
+  <enum-type name="QAbstractFileEngine::Extension" extensible="yes"/>
+  <enum-type name="QAbstractFileEngine::FileFlag" flags="QAbstractFileEngine::FileFlags"/>
+  <enum-type name="QAbstractFileEngine::FileName"/>
+  <enum-type name="QAbstractFileEngine::FileOwner"/>
+  <enum-type name="QAbstractFileEngine::FileTime"/>
+  <enum-type name="QDataStream::Status"/>
+  <enum-type name="QDir::Filter" flags="QDir::Filters"/>
+  <enum-type name="QEvent::Type" extensible="yes">
+    <reject-enum-value name="ApplicationActivated"/>
+    <reject-enum-value name="ApplicationDeactivated"/>
+  </enum-type>
+  <enum-type name="QEventLoop::ProcessEventsFlag" flags="QEventLoop::ProcessEventsFlags"/>
+  <enum-type name="QFile::FileError"/>
+  <enum-type name="QFile::MemoryMapFlags"/>
+  <enum-type name="QFile::Permission" flags="QFile::Permissions"/>
+  <enum-type name="QIODevice::OpenModeFlag" flags="QIODevice::OpenMode"/>
+  <enum-type name="QLibraryInfo::LibraryLocation"/>
+  <enum-type name="QLocale::FormatType"/>
+  <enum-type name="QLocale::NumberOption" flags="QLocale::NumberOptions"/>
+  <enum-type name="QLocale::MeasurementSystem"/>
+  <enum-type name="QMutex::RecursionMode"/>
+  <enum-type name="QProcess::ExitStatus"/>
+  <enum-type name="QProcess::ProcessChannel"/>
+  <enum-type name="QProcess::ProcessChannelMode"/>
+  <enum-type name="QProcess::ProcessError"/>
+  <enum-type name="QProcess::ProcessState"/>
+  <enum-type name="QRegExp::CaretMode"/>
+  <enum-type name="QRegExp::PatternSyntax"/>
+  <enum-type name="QSettings::Format"/>
+  <enum-type name="QSettings::Scope"/>
+  <enum-type name="QSettings::Status"/>
+  <enum-type name="QSocketNotifier::Type"/>
+  <enum-type name="QSystemLocale::QueryType"/>
+  <enum-type name="QTextCodec::ConversionFlag" flags="QTextCodec::ConversionFlags"/>
+  <enum-type name="QTextStream::FieldAlignment"/>
+  <enum-type name="QTextStream::NumberFlag" flags="QTextStream::NumberFlags"/>
+  <enum-type name="QTextStream::RealNumberNotation"/>
+  <enum-type name="QTextStream::Status"/>
+  <enum-type name="QTimeLine::CurveShape"/>
+  <enum-type name="QTimeLine::Direction"/>
+  <enum-type name="QTimeLine::State"/>
+  <enum-type name="QUrl::FormattingOption" flags="QUrl::FormattingOptions"/>
+  <enum-type name="QUrl::ParsingMode"/>
+  <enum-type name="QUuid::Variant"/>
+  <enum-type name="QUuid::Version"/>
+  <enum-type name="Qt::SizeHint"/>
+  <enum-type name="Qt::SizeMode"/>
+  <enum-type name="Qt::WindowFrameSection"/>
+  <enum-type name="Qt::Axis"/>
+  <enum-type name="Qt::AnchorAttribute"/>
+  <enum-type name="Qt::ApplicationAttribute"/>
+  <enum-type name="Qt::ArrowType"/>
+  <enum-type name="Qt::AspectRatioMode"/>
+  <enum-type name="Qt::BGMode"/>
+  <enum-type name="Qt::BrushStyle"/>
+  <enum-type name="Qt::CaseSensitivity"/>
+  <enum-type name="Qt::CheckState"/>
+  <enum-type name="Qt::ClipOperation"/>
+  <enum-type name="Qt::ConnectionType"/>
+  <enum-type name="Qt::ContextMenuPolicy"/>
+  <enum-type name="Qt::Corner"/>
+  <enum-type name="Qt::DayOfWeek"/>
+  <enum-type name="Qt::DockWidgetAreaSizes"/>
+  <enum-type name="Qt::DropAction" flags="Qt::DropActions"/>
+  <enum-type name="Qt::FillRule"/>
+  <enum-type name="Qt::FocusPolicy"/>
+  <enum-type name="Qt::FocusReason"/>
+  <enum-type name="Qt::GlobalColor"/>
+  <enum-type name="Qt::HitTestAccuracy"/>
+  <enum-type name="Qt::InputMethodQuery"/>
+  <enum-type name="Qt::ItemFlag" flags="Qt::ItemFlags"/>
+  <enum-type name="Qt::ItemSelectionMode"/>
+  <enum-type name="Qt::KeyboardModifier" flags="Qt::KeyboardModifiers"/>
+  <enum-type name="Qt::LayoutDirection"/>
+  <enum-type name="Qt::MatchFlag" flags="Qt::MatchFlags"/>
+  <enum-type name="Qt::Modifier"/>
+  <enum-type name="Qt::MouseButton" flags="Qt::MouseButtons"/>
+  <enum-type name="Qt::Orientation" flags="Qt::Orientations"/>
+  <enum-type name="Qt::PenCapStyle"/>
+  <enum-type name="Qt::PenJoinStyle"/>
+  <enum-type name="Qt::PenStyle"/>
+  <enum-type name="Qt::ScrollBarPolicy"/>
+  <enum-type name="Qt::ShortcutContext"/>
+  <enum-type name="Qt::SortOrder"/>
+  <enum-type name="Qt::TextElideMode"/>
+  <enum-type name="Qt::TextFlag"/>
+  <enum-type name="Qt::TextFormat"/>
+  <enum-type name="Qt::TextInteractionFlag" flags="Qt::TextInteractionFlags"/>
+  <enum-type name="Qt::TimeSpec"/>
+  <enum-type name="Qt::ToolBarAreaSizes"/>
+  <enum-type name="Qt::ToolButtonStyle"/>
+  <enum-type name="Qt::TransformationMode"/>
+  <enum-type name="Qt::UIEffect"/>
+  <enum-type name="Qt::WhiteSpaceMode"/>
+  <enum-type name="Qt::WindowModality"/>
+  <enum-type name="Qt::WindowState" flags="Qt::WindowStates"/>
+  <enum-type name="Qt::WindowType" flags="Qt::WindowFlags"/>
+  <enum-type name="QDirIterator::IteratorFlag" flags="QDirIterator::IteratorFlags"/>
+  <enum-type name="Qt::EventPriority"/>
+  <enum-type name="Qt::MaskMode"/>
+  <enum-type name="QCryptographicHash::Algorithm"/>
+
+  <enum-type name="QtConcurrent::ReduceOption" flags="QtConcurrent::ReduceOptions"/>
+  <enum-type name="QtConcurrent::ThreadFunctionResult"/>
+
+  <enum-type name="QCoreApplication::Encoding">
+    <reject-enum-value name="DefaultCodec"/>
+  </enum-type>
+
+  <enum-type name="Qt::AlignmentFlag" flags="Qt::Alignment">
+    <reject-enum-value name="AlignLeading"/>
+    <reject-enum-value name="AlignTrailing"/>
+  </enum-type>
+
+  <enum-type name="Qt::CursorShape">
+    <reject-enum-value name="LastCursor"/>
+  </enum-type>
+
+  <enum-type name="Qt::DateFormat">
+    <reject-enum-value name="LocalDate"/>
+  </enum-type>
+
+
+  <enum-type name="Qt::ItemDataRole" force-integer="yes">
+    <reject-enum-value name="BackgroundColorRole"/>
+    <reject-enum-value name="TextColorRole"/>
+  </enum-type>
+
+
+  <enum-type name="QDataStream::Version">
+    <reject-enum-value name="Qt_4_1"/>
+    <reject-enum-value name="Qt_4_5"/>
+  </enum-type>
+
+  <enum-type name="QDir::SortFlag" flags="QDir::SortFlags">
+    <reject-enum-value name="Unsorted"/>
+  </enum-type>
+
+  <enum-type name="Qt::DockWidgetArea" flags="Qt::DockWidgetAreas">
+    <reject-enum-value name="AllDockWidgetAreas"/>
+  </enum-type>
+
+  <enum-type name="Qt::ImageConversionFlag" flags="Qt::ImageConversionFlags">
+    <reject-enum-value name="AutoDither"/>
+    <reject-enum-value name="ColorOnly"/>
+    <reject-enum-value name="DiffuseDither"/>
+    <reject-enum-value name="NoAlpha"/>
+    <reject-enum-value name="ThresholdAlphaDither"/>
+  </enum-type>
+
+  <enum-type name="Qt::Key">
+    <reject-enum-value name="Key_Any"/>
+  </enum-type>
+
+  <enum-type name="QLocale::Language">
+    <reject-enum-value name="LastLanguage"/>
+    <reject-enum-value name="NorwegianBokmal"/>
+    <reject-enum-value name="Nynorsk"/>
+  </enum-type>
+
+  <enum-type name="QLocale::Country">
+    <reject-enum-value name="LastCountry"/>
+  </enum-type>
+
+  <enum-type name="Qt::ToolBarArea" flags="Qt::ToolBarAreas">
+    <reject-enum-value name="AllToolBarAreas"/>
+  </enum-type>
+
+  <enum-type name="Qt::WidgetAttribute">
+    <reject-enum-value name="WA_ForceAcceptDrops"/>
+    <reject-enum-value name="WA_NoBackground"/>
+    <reject-enum-value name="WA_MacMetalStyle"/>
+  </enum-type>
+<!--
+  <value-type name="QVariant">
+    <modify-function signature="QVariant(const QLatin1String &amp;)" remove="all"/>
+  </value-type>
+  -->
+  <value-type name="QBasicTimer"/>
+  <value-type name="QByteArrayMatcher">
+    <modify-function signature="operator=(QByteArrayMatcher)" remove="all"/>
+  </value-type>
+
+  <value-type name="QDate">
+    <modify-function signature="julianToGregorian(uint,int&amp;,int&amp;,int&amp;)">
+        <remove/>
+    </modify-function>
+
+    <modify-function signature="setYMD(int, int, int)" remove="all"/> <!--### Obsolete in 4.3-->
+  
+        <inject-code>
+            <import-file name="typesystem_core-java.java" quote-after-line="class QDate___" quote-before-line="}// class"/>
+        </inject-code>
+
+        <modify-function signature="weekNumber(int*)const">
+            <access modifier="private"/>
+            <modify-argument index="1">
+                <remove-default-expression/>
+            </modify-argument>
+        </modify-function>
+
+    </value-type>
+
+  <value-type name="QDateTime">
+    <modify-function signature="operator=(QDateTime)" remove="all"/>
+  </value-type>
+
+  <value-type name="QDir">
+    <modify-function signature="QDir(QString,QString,QFlags&lt;QDir::SortFlag&gt;,QFlags&lt;QDir::Filter&gt;)">
+        <modify-argument index="3">
+            <replace-default-expression with="SortFlag.Name | SortFlag.IgnoreCase"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="operator=(QDir)" remove="all"/>
+    <modify-function signature="operator=(QString)" remove="all"/>
+    <modify-function signature="addResourceSearchPath(QString)" remove="all"/> <!--### Obsolete in 4.3-->
+  
+        <inject-code>
+            <import-file name="typesystem_core-java.java" quote-after-line="class QDir___" quote-before-line="}// class"/>
+        </inject-code>
+        <modify-function signature="operator[](int)const" access="private"/>
+
+    </value-type>
+
+  <value-type name="QPoint" wrap="struct">
+        <modify-function signature="operator*=(double)" access="private" associated-to="multiply(double d)"/>
+        <modify-function signature="operator/=(double)" access="private" associated-to="divide(double d)"/>
+        <modify-function signature="operator+=(QPoint)" access="private" associated-to="add(QPoint)"/>
+        <modify-function signature="operator-=(QPoint)" access="private" associated-to="subtract(QPoint)"/>
+        <modify-function signature="rx()"> <remove/> </modify-function>
+        <modify-function signature="ry()"> <remove/> </modify-function>
+        <inject-code>
+            <insert-template name="core.multiply-devide-add-subtract">
+                <replace from="%TYPE" to="QPoint"/>
+            </insert-template>
+        </inject-code>
+    </value-type>
+  <value-type name="QPointF" wrap="struct">
+        <modify-function signature="operator*=(double)" access="private" associated-to="multiply(double d)"/>
+        <modify-function signature="operator/=(double)" access="private" associated-to="divide(double d)"/>
+        <modify-function signature="operator+=(QPointF)" access="private" associated-to="add(QPointF p)"/>
+        <modify-function signature="operator-=(QPointF)" access="private" associated-to="subtract(QPointF p)"/>
+        <modify-function signature="rx()"> <remove/> </modify-function>
+        <modify-function signature="ry()"> <remove/> </modify-function>
+        <inject-code>
+            <insert-template name="core.multiply-devide-add-subtract">
+                <replace from="%TYPE" to="QPointF"/>
+            </insert-template>
+        </inject-code>
+    </value-type>
+
+  <value-type name="QRect">
+    <modify-function signature="getCoords(int*,int*,int*,int*)const"> <remove/> </modify-function>
+    <modify-function signature="getRect(int*,int*,int*,int*)const"> <remove/> </modify-function>
+    <modify-function signature="operator&amp;=(QRect)"> <remove/> </modify-function>
+    <modify-function signature="operator|=(QRect)"> <remove/> </modify-function>
+    <modify-function signature="operator&amp;(QRect)const"> <remove/> </modify-function>
+    <modify-function signature="operator|(QRect)const"> <remove/> </modify-function>
+
+    <modify-function signature="intersect(const QRect&amp;)const" remove="all"/> <!--### Obsolete in 4.3-->
+    <modify-function signature="unite(const QRect&amp;)const" remove="all"/> <!--### Obsolete in 4.3-->
+  </value-type>
+
+  <value-type name="QRectF">
+    <modify-function signature="getCoords(double*,double*,double*,double*)const"> <remove/> </modify-function>
+    <modify-function signature="getRect(double*,double*,double*,double*)const"> <remove/> </modify-function>
+    <modify-function signature="operator&amp;=(QRectF)"> <remove/> </modify-function>
+    <modify-function signature="operator|=(QRectF)"> <remove/> </modify-function>
+    <modify-function signature="operator&amp;(QRectF)const"> <remove/> </modify-function>
+    <modify-function signature="operator|(QRectF)const"> <remove/> </modify-function>
+
+    <modify-function signature="intersect(const QRectF&amp;)const" remove="all"/> <!--### Obsolete in 4.3-->
+    <modify-function signature="unite(const QRectF&amp;)const" remove="all"/> <!--### Obsolete in 4.3-->
+  </value-type>
+
+  <value-type name="QModelIndex" wrap="struct"/>
+
+  <value-type name="QSize" wrap="struct">
+    <modify-function signature="operator*=(double)"> <access modifier="private"/> </modify-function>
+    <modify-function signature="operator/=(double)"> <access modifier="private"/> </modify-function>
+    <modify-function signature="operator+=(QSize)"> <access modifier="private"/> </modify-function>
+    <modify-function signature="operator-=(QSize)"> <access modifier="private"/> </modify-function>
+    <modify-function signature="rheight()"> <remove/> </modify-function>
+    <modify-function signature="rwidth()"> <remove/> </modify-function>
+  
+        <inject-code>
+            <insert-template name="core.multiply-devide-add-subtract">
+                <replace from="%TYPE" to="QSize"/>
+            </insert-template>
+        </inject-code>
+    </value-type>
+
+  <value-type name="QSizeF" wrap="struct">
+    <modify-function signature="operator*=(double)"> <access modifier="private"/> </modify-function>
+    <modify-function signature="operator/=(double)"> <access modifier="private"/> </modify-function>
+    <modify-function signature="operator+=(QSizeF)"> <access modifier="private"/> </modify-function>
+    <modify-function signature="operator-=(QSizeF)"> <access modifier="private"/> </modify-function>
+    <modify-function signature="rheight()"> <remove/> </modify-function>
+    <modify-function signature="rwidth()"> <remove/> </modify-function>
+  
+        <inject-code>
+            <insert-template name="core.multiply-devide-add-subtract">
+                <replace from="%TYPE" to="QSizeF"/>
+            </insert-template>
+        </inject-code>
+    </value-type>
+
+  <value-type name="QStringMatcher">
+    <modify-function signature="operator=(QStringMatcher)" remove="all"/>
+  </value-type>
+
+  <value-type name="QTime"/>
+
+  <value-type name="QPersistentModelIndex">
+    <modify-function signature="operator=(QPersistentModelIndex)" remove="all"/>
+    <modify-function signature="operator=(QModelIndex)" remove="all"/>
+    <modify-function signature="internalPointer()const" remove="all"/>
+  </value-type>
+
+  <value-type name="QUuid">
+    <modify-function signature="QUuid(const char*)">
+        <remove/>
+    </modify-function>
+  </value-type>
+
+  <value-type name="QLocale">
+    <modify-function signature="toString(unsigned long long) const" remove="all"/>
+    <modify-function signature="toString(unsigned short) const" remove="all"/>
+    <modify-function signature="toString(unsigned int) const" remove="all"/>
+    <modify-function signature="toUInt(QString,bool*,int)const" remove="all"/>
+    <modify-function signature="toULongLong(QString,bool*,int)const" remove="all"/>
+    <modify-function signature="operator=(QLocale)" remove="all"/>
+
+<!--
+        <template name="core.qlocale_to_type_general">
+        public final %TYPE %FUNCTION_NAME(String s%EXTRA_ARGUMENTS) {
+            QNativePointer ok = new QNativePointer(QNativePointer.Type.Boolean);
+            %TYPE returned = (%TYPE) %FUNCTION_NAME(s, ok%EXTRA_CALL_ARGUMENTS);
+            if (!ok.booleanValue())
+                throw new NumberFormatException(s);
+            return returned;
+        }
+        </template>
+
+
+        <template name="core.qlocale_to_type_integer">
+            <insert-template name="core.qlocale_to_type_general">
+                <replace from="%EXTRA_ARGUMENTS" to=", int base"/>
+                <replace from="%EXTRA_CALL_ARGUMENTS" to=", base"/>
+            </insert-template>
+
+        public final %TYPE %FUNCTION_NAME(String s) {
+            return %FUNCTION_NAME(s, 0);
+        }
+        </template>
+
+        <template name="core.qlocale_to_type_float">
+            <insert-template name="core.qlocale_to_type_general">
+                <replace from="%EXTRA_ARGUMENTS" to=""/>
+                <replace from="%EXTRA_CALL_ARGUMENTS" to=""/>
+            </insert-template>
+        </template>
+
+        <modify-function signature="toDouble(QString,bool*)const">
+            <access modifier="private"/>
+            <modify-argument index="2">
+                <remove-default-expression/>
+            </modify-argument>
+        </modify-function>
+        <inject-code>
+            <insert-template name="core.qlocale_to_type_float">
+                <replace from="%TYPE" to="double"/>
+                <replace from="%FUNCTION_NAME" to="toDouble"/>
+            </insert-template>
+        </inject-code>
+
+        <modify-function signature="toFloat(QString,bool*)const">
+            <access modifier="private"/>
+            <modify-argument index="2">
+                <remove-default-expression/>
+            </modify-argument>
+        </modify-function>
+        <inject-code>
+            <insert-template name="core.qlocale_to_type_float">
+                <replace from="%TYPE" to="float"/>
+                <replace from="%FUNCTION_NAME" to="toFloat"/>
+            </insert-template>
+        </inject-code>
+
+        <modify-function signature="toInt(QString,bool*,int)const">
+            <access modifier="private"/>
+            <modify-argument index="2">
+                <remove-default-expression/>
+            </modify-argument>
+            <modify-argument index="3">
+                <remove-default-expression/>
+            </modify-argument>
+        </modify-function>
+        <inject-code>
+            <insert-template name="core.qlocale_to_type_integer">
+                <replace from="%TYPE" to="int"/>
+                <replace from="%FUNCTION_NAME" to="toInt"/>
+            </insert-template>
+        </inject-code>
+
+        <modify-function signature="toLongLong(QString,bool*,int)const">
+            <access modifier="private"/>
+            <rename to="toLong"/>
+            <modify-argument index="2">
+                <remove-default-expression/>
+            </modify-argument>
+            <modify-argument index="3">
+                <remove-default-expression/>
+            </modify-argument>
+        </modify-function>
+        <inject-code>
+            <insert-template name="core.qlocale_to_type_integer">
+                <replace from="%TYPE" to="long"/>
+                <replace from="%FUNCTION_NAME" to="toLong"/>
+            </insert-template>
+        </inject-code>
+
+        <modify-function signature="toShort(QString,bool*,int)const">
+            <access modifier="private"/>
+            <modify-argument index="2">
+                <remove-default-expression/>
+            </modify-argument>
+            <modify-argument index="3">
+                <remove-default-expression/>
+            </modify-argument>
+        </modify-function>
+        <inject-code>
+            <insert-template name="core.qlocale_to_type_integer">
+                <replace from="%TYPE" to="short"/>
+                <replace from="%FUNCTION_NAME" to="toShort"/>
+            </insert-template>
+        </inject-code>
+
+        <modify-function signature="toUShort(QString,bool*,int)const">
+            <access modifier="private"/>
+            <rename to="toChar"/>
+            <modify-argument index="2">
+                <remove-default-expression/>
+            </modify-argument>
+            <modify-argument index="3">
+                <remove-default-expression/>
+            </modify-argument>
+        </modify-function>
+        <inject-code>
+            <insert-template name="core.qlocale_to_type_integer">
+                <replace from="%TYPE" to="char"/>
+                <replace from="%FUNCTION_NAME" to="toChar"/>
+            </insert-template>
+        </inject-code>
+		-->
+    </value-type>
+
+
+  <value-type name="QBitArray">
+    <modify-function signature="operator[](int)" remove="all"/>
+    <modify-function signature="operator[](int)const" remove="all"/>
+    <modify-function signature="operator[](uint)const" remove="all"/>
+    <modify-function signature="operator[](uint)" remove="all"/>
+
+    <modify-function signature="operator&amp;=(QBitArray)" access="private"/>
+    <modify-function signature="operator=(QBitArray)" access="private"/>
+    <modify-function signature="operator^=(QBitArray)" access="private"/>
+    <modify-function signature="operator|=(QBitArray)" access="private"/>
+    <modify-function signature="operator~()const" access="private"/>
+  
+      <inject-code>
+          <import-file name="typesystem_core-java.java" quote-after-line="class QBitArray___" quote-before-line="}// class"/>
+      </inject-code>
+  </value-type>
+
+  <object-type name="QReadWriteLock"/>
+  <object-type name="QDirIterator"/>
+  <object-type name="QAbstractFileEngineIterator"/>
+  <object-type name="QAbstractItemModel">
+        <modify-function signature="parent()const" remove="java"/>
+        <extra-includes>
+            <include file-name="QStringList" location="global"/>
+            <include file-name="QSize" location="global"/>
+        </extra-includes>
+<!--        <modify-function signature="createIndex(int, int, int)const">
+            <remove/>
+        </modify-function> -->
+        <inject-code class="java">
+            <import-file name="typesystem_core-java.java" quote-after-line="class QAbstractItemModel___" quote-before-line="}// class"/>
+        </inject-code>
+<!--        <inject-code class="native">
+    extern "C" JNIEXPORT jboolean JNICALL QTJAMBI_FUNCTION_PREFIX(Java_com_trolltech_qt_core_QAbstractItemModel_setData_1native)
+    (JNIEnv *__jni_env,
+     jobject,
+     jlong __this_nativeId,
+     jint row, jint col, jobject value, jint role)
+    {
+        QtJambiShell_QAbstractItemModel *__qt_this =
+            (QtJambiShell_QAbstractItemModel *) qtjambi_from_jlong(__this_nativeId);
+        QVariant qt_value = qtjambi_to_qvariant(__jni_env, value);
+
+        QModelIndex index = __qt_this-&gt;index(row, col, QModelIndex());
+        return __qt_this-&gt;setData(index, qt_value, role);
+    }
+
+    extern "C" JNIEXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_com_trolltech_qt_core_QAbstractItemModel_data_1native)
+    (JNIEnv *__jni_env,
+     jobject,
+     jlong __this_nativeId,
+     jint row, jint col, jint role)
+    {
+        QtJambiShell_QAbstractItemModel *__qt_this =
+            (QtJambiShell_QAbstractItemModel *) qtjambi_from_jlong(__this_nativeId);
+
+        QModelIndex index = __qt_this-&gt;index(row, col, QModelIndex());
+        return qtjambi_from_qvariant(__jni_env, __qt_this-&gt;data(index, role));
+    }
+        </inject-code>
+-->
+        <modify-function signature="mimeData(QList&lt;QModelIndex&gt;)const">
+            <modify-argument index="0">
+                <define-ownership class="shell" owner="c++"/>
+            </modify-argument>
+        </modify-function>
+    </object-type>
+
+  <object-type name="QAbstractListModel">
+    <extra-includes>
+        <include file-name="QStringList" location="global"/>
+        <include file-name="QSize" location="global"/>
+    </extra-includes>
+  </object-type>
+
+  <value-type name="QUrl">
+    <extra-includes>
+        <include file-name="QStringList" location="global"/>
+    </extra-includes>
+    <modify-function signature="operator=(QUrl)" remove="all"/>
+    <modify-function signature="operator=(QString)" remove="all"/>
+
+    <modify-function signature="encodedQueryItems()const" remove="all"/>
+    <modify-function signature="queryItems()const" remove="all"/>
+    <modify-function signature="setEncodedQueryItems(QList&lt;QPair&lt;QByteArray, QByteArray&gt; &gt;)" remove="all"/>
+    <modify-function signature="setQueryItems(QList&lt;QPair&lt;QString, QString&gt; &gt;)" remove="all"/>
+
+    <modify-function signature="fromPunycode(const QByteArray&amp;)" remove="all"/> <!--### Obsolete in 4.3-->
+    <modify-function signature="toPunycode(const QString&amp;)" remove="all"/> <!--### Obsolete in 4.3-->
+  </value-type>
+
+  <value-type name="QRegExp">
+    <extra-includes>
+        <include file-name="QStringList" location="global"/>
+    </extra-includes>
+    <modify-function signature="operator=(QRegExp)" remove="all"/>
+    <modify-function signature="cap(int)const" remove="all"/>
+    <modify-function signature="errorString()const" remove="all"/>
+    <modify-function signature="pos(int)const" remove="all"/>
+    <modify-function signature="capturedTexts()const" remove="all"/>
+
+  </value-type>
+
+  <value-type name="QFileInfo">
+    <extra-includes>
+        <include file-name="QDateTime" location="global"/>
+        <include file-name="QDir" location="global"/>
+    </extra-includes>
+    <modify-function signature="operator!=(const QFileInfo &amp;)const" remove="all"/>
+    <modify-function signature="operator==(const QFileInfo &amp;)const" remove="all"/>
+    <modify-function signature="operator=(QFileInfo)" remove="all"/>
+    <modify-function signature="setFile(QFile)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="readLink()const" remove="all"/> <!--### Obsolete in 4.3-->
+  </value-type>
+
+  <interface-type name="QFactoryInterface" java-name="QAbstractFactory"/>
+
+  <value-type name="QByteArray">
+
+    <extra-includes>
+        <include file-name="QNoImplicitBoolCast" location="global"/>
+    </extra-includes>
+
+    <!-- removed functions -->
+    <modify-function signature="begin()" remove="all"/>
+    <modify-function signature="begin()const" remove="all"/>
+    <modify-function signature="constBegin()const" remove="all"/>
+    <modify-function signature="constData()const" remove="all"/>
+    <modify-function signature="constEnd()const" remove="all"/>
+    <modify-function signature="count()const" remove="all"/>
+    <modify-function signature="data()const" remove="all"/>
+    <modify-function signature="end()" remove="all"/>
+    <modify-function signature="end()const" remove="all"/>
+    <modify-function signature="number(uint,int)" remove="all"/>
+    <modify-function signature="number(unsigned long long,int)" remove="all"/>
+    <modify-function signature="operator const char *()const" remove="all"/>
+    <modify-function signature="operator const void *()const" remove="all"/>
+    <modify-function signature="operator+=(const char*)" remove="all"/>
+    <modify-function signature="operator=(const char*)" remove="all"/>
+    <modify-function signature="operator[](int)" remove="all"/>
+    <modify-function signature="operator[](int)const" remove="all"/>
+    <modify-function signature="operator[](uint)" remove="all"/>
+    <modify-function signature="operator[](uint)const" remove="all"/>
+    <modify-function signature="push_back(char)" remove="all"/>
+    <modify-function signature="push_back(const QByteArray&amp;)" remove="all"/>
+    <modify-function signature="push_back(const char*)" remove="all"/>
+    <modify-function signature="push_front(char)" remove="all"/>
+    <modify-function signature="push_front(const QByteArray&amp;)" remove="all"/>
+    <modify-function signature="push_front(const char*)" remove="all"/>
+    <modify-function signature="setNum(uint,int)" remove="all"/>
+    <modify-function signature="setNum(unsigned long long,int)" remove="all"/>
+    <modify-function signature="setNum(unsigned short,int)" remove="all"/>
+    <modify-function signature="toLong(bool*, int) const" remove="all"/>
+    <modify-function signature="toLongLong(bool*, int) const" remove="all"/>
+    <modify-function signature="toShort(bool*, int) const" remove="all"/>
+    <modify-function signature="toUInt(bool*, int) const" remove="all"/>
+    <modify-function signature="toULong(bool*, int) const" remove="all"/>
+    <modify-function signature="toULongLong(bool*, int) const" remove="all"/>
+
+    <!-- functions made private... -->
+    <modify-function signature="operator=(QByteArray)" access="private"/>
+    <modify-function signature="operator+=(QByteArray)" remove="all"/>
+    <modify-function signature="operator+=(QString)" remove="all"/>
+    <modify-function signature="operator+=(char)" remove="all"/>
+<!--  qtd2
+        <inject-code class="java">
+            <import-file name="typesystem_core-java.java" quote-after-line="class QByteArray___" quote-before-line="}// class"/>
+
+            <template name="QByteArray::toType(base)">
+    public final %TYPE% %NAME%(int base) throws NumberFormatException{
+        qt.QNativePointer ok = new qt.QNativePointer(qt.QNativePointer.Type.Boolean);
+        %TYPE% res = %NAME%_private(ok, base);
+        if(!ok.booleanValue()){
+            throw new NumberFormatException();
+        }
+        return res;
+    }
+
+    public %TYPE% %NAME%(){
+        return %NAME%(10);
+    }
+            </template>
+
+            <insert-template name="QByteArray::toType(base)">
+                <replace from="%NAME%" to="toChar"/>
+                <replace from="%TYPE%" to="char"/>
+            </insert-template>
+
+            <insert-template name="QByteArray::toType(base)">
+                <replace from="%NAME%" to="toInt"/>
+                <replace from="%TYPE%" to="int"/>
+            </insert-template>
+
+            <template name="QByteArray::toType()">
+    public final %TYPE% %NAME%() throws NumberFormatException{
+        qt.QNativePointer ok = new qt.QNativePointer(qt.QNativePointer.Type.Boolean);
+        %TYPE% res = %NAME%_private(ok);
+        if(!ok.booleanValue()){
+            throw new NumberFormatException();
+        }
+        return res;
+    }
+            </template>
+
+            <insert-template name="QByteArray::toType()">
+                <replace from="%NAME%" to="toDouble"/>
+                <replace from="%TYPE%" to="double"/>
+            </insert-template>
+
+            <insert-template name="QByteArray::toType()">
+                <replace from="%NAME%" to="toFloat"/>
+                <replace from="%TYPE%" to="float"/>
+            </insert-template>
+
+        </inject-code>
+
+-->
+<!-- qtd
+   <modify-function signature="toUShort(bool*, int) const" rename="toChar_private" access="private">
+        <modify-argument index="1">
+            <remove-default-expression/>
+        </modify-argument>
+        <modify-argument index="2">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="toInt(bool*, int) const" rename="toInt_private" access="private">
+        <modify-argument index="1">
+            <remove-default-expression/>
+        </modify-argument>
+        <modify-argument index="2">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="toDouble(bool*) const">
+        <rename to="toDouble_private"/>
+        <access modifier="private"/>
+        <modify-argument index="1">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="toFloat(bool*) const">
+        <rename to="toFloat_private"/>
+        <access modifier="private"/>
+        <modify-argument index="1">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+-->
+    <modify-function signature="QByteArray(const char*)" remove="all"/>
+
+    <modify-function signature="QByteArray(const char*,int)">
+        <access modifier="private"/>
+    </modify-function>
+
+<!-- qtd
+    <modify-function signature="append(QString)">
+        <access modifier="private"/>
+        <rename to="append_private"/>
+    </modify-function>
+    <inject-code>
+        <insert-template name="core.unary_other_type">
+            <replace from="%IN_TYPE" to="String"/>
+            <replace from="%OUT_TYPE" to="QByteArray"/>
+            <replace from="%FUNCTION_NAME" to="append"/>
+        </insert-template>
+    </inject-code>
+-->
+    <modify-function signature="append(const char*)">
+        <remove/>
+    </modify-function>
+<!-- qtd
+    <modify-function signature="append(QByteArray)">
+        <access modifier="private"/>
+        <rename to="append_private"/>
+    </modify-function>
+    <inject-code>
+        <insert-template name="core.unary_self_type">
+            <replace from="%TYPE" to="QByteArray"/>
+            <replace from="%FUNCTION_NAME" to="append"/>
+        </insert-template>
+    </inject-code>
+
+    <modify-function signature="append(char)">
+        <access modifier="private"/>
+        <rename to="append_private"/>
+    </modify-function>
+    <inject-code>
+        <insert-template name="core.unary_other_type">
+            <replace from="%IN_TYPE" to="byte"/>
+            <replace from="%OUT_TYPE" to="QByteArray"/>
+            <replace from="%FUNCTION_NAME" to="append"/>
+        </insert-template>
+    </inject-code>
+-->
+    <modify-function signature="contains(const char*)const">
+        <remove/>
+    </modify-function>
+
+
+    <modify-function signature="count(const char*)const">
+        <remove/>
+    </modify-function>
+
+
+    <modify-function signature="endsWith(const char*)const">
+        <remove/>
+    </modify-function>
+
+<!-- qtd
+    <modify-function signature="fill(char,int)">
+        <access modifier="private"/>
+        <rename to="fill_private"/>
+        <modify-argument index="2">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+    <inject-code>
+        <insert-template name="core.private_function_return_self">
+            <replace from="%RETURN_TYPE" to="QByteArray"/>
+            <replace from="%FUNCTION_NAME" to="fill"/>
+            <replace from="%ARGUMENTS" to="byte b, int size"/>
+            <replace from="%ARGUMENT_NAMES" to="b, size"/>
+        </insert-template>
+
+        public QByteArray  fill(byte b) {
+            return fill(b, -1);
+        }
+
+    </inject-code>
+-->
+    <modify-function signature="indexOf(const char*,int)const">
+        <remove/>
+    </modify-function>
+<!-- qtd
+    <modify-function signature="insert(int,QByteArray)">
+        <access modifier="private"/>
+        <rename to="insert_private"/>
+    </modify-function>
+    <inject-code>
+        <insert-template name="core.private_function_return_self">
+            <replace from="%RETURN_TYPE" to="QByteArray"/>
+            <replace from="%FUNCTION_NAME" to="insert"/>
+            <replace from="%ARGUMENTS" to="int i, QByteArray ba"/>
+            <replace from="%ARGUMENT_NAMES" to="i, ba"/>
+        </insert-template>
+    </inject-code>
+
+    <modify-function signature="insert(int,char)">
+        <access modifier="private"/>
+        <rename to="insert_private"/>
+    </modify-function>
+    <inject-code>
+        <insert-template name="core.private_function_return_self">
+            <replace from="%RETURN_TYPE" to="QByteArray"/>
+            <replace from="%FUNCTION_NAME" to="insert"/>
+            <replace from="%ARGUMENTS" to="int i, byte b"/>
+            <replace from="%ARGUMENT_NAMES" to="i, b"/>
+        </insert-template>
+    </inject-code>
+
+    <modify-function signature="insert(int,QString)">
+        <access modifier="private"/>
+        <rename to="insert_private"/>
+    </modify-function>
+    <inject-code>
+        <insert-template name="core.private_function_return_self">
+            <replace from="%RETURN_TYPE" to="QByteArray"/>
+            <replace from="%FUNCTION_NAME" to="insert"/>
+            <replace from="%ARGUMENTS" to="int i, String str"/>
+            <replace from="%ARGUMENT_NAMES" to="i, str"/>
+        </insert-template>
+    </inject-code>
+-->
+    <modify-function signature="insert(int,const char*)" remove="all"/>
+    <modify-function signature="lastIndexOf(const char*,int)const" remove="all"/>
+<!-- qtd
+    <modify-function signature="prepend(QByteArray)">
+        <access modifier="private"/>
+        <rename to="prepend_private"/>
+    </modify-function>
+    <inject-code>
+        <insert-template name="core.unary_self_type">
+            <replace from="%TYPE" to="QByteArray"/>
+            <replace from="%FUNCTION_NAME" to="prepend"/>
+        </insert-template>
+    </inject-code>
+
+    <modify-function signature="prepend(char)">
+        <access modifier="private"/>
+        <rename to="prepend_private"/>
+    </modify-function>
+    <inject-code>
+        <insert-template name="core.unary_other_type">
+            <replace from="%OUT_TYPE" to="QByteArray"/>
+            <replace from="%IN_TYPE" to="byte"/>
+            <replace from="%FUNCTION_NAME" to="prepend"/>
+        </insert-template>
+    </inject-code>
+-->
+    <modify-function signature="prepend(const char*)">
+        <remove/>
+    </modify-function>
+
+<!-- qtd
+    <modify-function signature="remove(int,int)">
+        <access modifier="private"/>
+        <rename to="remove_private"/>
+    </modify-function>
+    <inject-code>
+        <insert-template name="core.private_function_return_self">
+            <replace from="%RETURN_TYPE" to="QByteArray"/>
+            <replace from="%FUNCTION_NAME" to="remove"/>
+            <replace from="%ARGUMENTS" to="int pos, int len"/>
+            <replace from="%ARGUMENT_NAMES" to="pos, len"/>
+        </insert-template>
+    </inject-code>
+-->
+    <modify-function signature="replace(QByteArray,const char*)">
+        <remove/>
+    </modify-function>
+
+
+    <template name="core.qbytearray_replace">
+        <insert-template name="core.private_function_return_self">
+            <replace from="%RETURN_TYPE" to="QByteArray"/>
+            <replace from="%FUNCTION_NAME" to="replace"/>
+            <replace from="%ARGUMENTS" to="%BEFORE_TYPE before, %AFTER_TYPE after"/>
+            <replace from="%ARGUMENT_NAMES" to="before, after"/>
+        </insert-template>
+    </template>
+<!-- qtd
+    <modify-function signature="replace(char,QByteArray)">
+        <access modifier="private"/>
+        <rename to="replace_private"/>
+    </modify-function>
+    <inject-code>
+        <insert-template name="core.qbytearray_replace">
+            <replace from="%BEFORE_TYPE" to="byte"/>
+            <replace from="%AFTER_TYPE" to="QByteArray"/>
+        </insert-template>
+    </inject-code>
+-->
+    <modify-function signature="replace(QString,const char*)">
+        <remove/>
+    </modify-function>
+
+
+    <modify-function signature="replace(int,int,const char*)">
+        <remove/>
+    </modify-function>
+
+    <modify-function signature="replace(const char*,const char*)">
+        <remove/>
+    </modify-function>
+
+    <modify-function signature="replace(const char*,QByteArray)">
+        <remove/>
+    </modify-function>
+<!-- qtd
+    <modify-function signature="replace(int,int,QByteArray)">
+        <access modifier="private"/>
+        <rename to="replace_private"/>
+    </modify-function>
+    <inject-code>
+        <insert-template name="core.private_function_return_self">
+            <replace from="%RETURN_TYPE" to="QByteArray"/>
+            <replace from="%FUNCTION_NAME" to="replace"/>
+            <replace from="%ARGUMENTS" to="int pos, int len, QByteArray after"/>
+            <replace from="%ARGUMENT_NAMES" to="pos, len, after"/>
+        </insert-template>
+    </inject-code>
+-->
+    <modify-function signature="replace(char,const char*)">
+        <remove/>
+    </modify-function>
+<!-- qtd
+    <modify-function signature="replace(char,QString)">
+        <access modifier="private"/>
+        <rename to="replace_private"/>
+    </modify-function>
+    <inject-code>
+        <insert-template name="core.qbytearray_replace">
+            <replace from="%BEFORE_TYPE" to="byte"/>
+            <replace from="%AFTER_TYPE" to="String"/>
+        </insert-template>
+    </inject-code>
+
+    <modify-function signature="replace(char,char)">
+        <access modifier="private"/>
+        <rename to="replace_private"/>
+    </modify-function>
+    <inject-code>
+        <insert-template name="core.qbytearray_replace">
+            <replace from="%BEFORE_TYPE" to="byte"/>
+            <replace from="%AFTER_TYPE" to="byte"/>
+        </insert-template>
+    </inject-code>
+
+    <modify-function signature="replace(QByteArray,QByteArray)">
+        <access modifier="private"/>
+        <rename to="replace_private"/>
+    </modify-function>
+    <inject-code>
+        <insert-template name="core.qbytearray_replace">
+            <replace from="%BEFORE_TYPE" to="QByteArray"/>
+            <replace from="%AFTER_TYPE" to="QByteArray"/>
+        </insert-template>
+    </inject-code>
+
+    <modify-function signature="replace(QString,QByteArray)">
+        <access modifier="private"/>
+        <rename to="replace_private"/>
+    </modify-function>
+    <inject-code>
+        <insert-template name="core.qbytearray_replace">
+            <replace from="%BEFORE_TYPE" to="String"/>
+            <replace from="%AFTER_TYPE" to="QByteArray"/>
+        </insert-template>
+    </inject-code>
+
+    <modify-function signature="setNum(int,int)">
+        <access modifier="private"/>
+        <rename to="setNum_private"/>
+        <modify-argument index="2">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+-->
+    <template name="core.qbytearray_setNum_integer">
+        <insert-template name="core.private_function_return_self">
+            <replace from="%RETURN_TYPE" to="QByteArray"/>
+            <replace from="%FUNCTION_NAME" to="setNum"/>
+            <replace from="%ARGUMENTS" to="%INTEGER_TYPE n, int base"/>
+            <replace from="%ARGUMENT_NAMES" to="n, base"/>
+        </insert-template>
+
+        public QByteArray setNum(%INTEGER_TYPE n) {
+            return setNum(n, 10);
+        }
+    </template>
+    <template name="core.qbytearray_setNum_float">
+        <insert-template name="core.private_function_return_self">
+            <replace from="%RETURN_TYPE" to="QByteArray"/>
+            <replace from="%FUNCTION_NAME" to="setNum"/>
+            <replace from="%ARGUMENTS" to="%FLOAT_TYPE n, char f, int prec"/>
+            <replace from="%ARGUMENT_NAMES" to="n, (byte) f, prec"/>
+        </insert-template>
+
+        public final QByteArray setNum(%FLOAT_TYPE n, char f) {
+            return setNum(n, f, 6);
+        }
+
+        public final QByteArray setNum(%FLOAT_TYPE n) {
+            return setNum(n, 'g');
+        }
+    </template>
+<!-- qtd
+    <inject-code>
+        <insert-template name="core.qbytearray_setNum_integer">
+            <replace from="%INTEGER_TYPE" to="int"/>
+        </insert-template>
+    </inject-code>
+
+    <inject-code>
+        <insert-template name="core.qbytearray_setNum_integer">
+            <replace from="%INTEGER_TYPE" to="char"/>
+        </insert-template>
+    </inject-code>
+
+
+    <modify-function signature="setNum(float,char,int)">
+        <access modifier="private"/>
+        <rename to="setNum_private"/>
+        <modify-argument index="2">
+            <remove-default-expression/>
+        </modify-argument>
+        <modify-argument index="3">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+    <inject-code>
+        <insert-template name="core.qbytearray_setNum_float">
+            <replace from="%FLOAT_TYPE" to="float"/>
+        </insert-template>
+    </inject-code>
+
+    <modify-function signature="setNum(long long,int)">
+        <access modifier="private"/>
+        <rename to="setNum_private"/>
+        <modify-argument index="2">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+    <inject-code>
+        <insert-template name="core.qbytearray_setNum_integer">
+            <replace from="%INTEGER_TYPE" to="long"/>
+        </insert-template>
+    </inject-code>
+
+    <modify-function signature="setNum(double,char,int)">
+        <access modifier="private"/>
+        <rename to="setNum_private"/>
+        <modify-argument index="2">
+            <remove-default-expression/>
+        </modify-argument>
+        <modify-argument index="3">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+    <inject-code>
+        <insert-template name="core.qbytearray_setNum_float">
+            <replace from="%FLOAT_TYPE" to="double"/>
+        </insert-template>
+    </inject-code>
+
+    <modify-function signature="setNum(short,int)">
+        <access modifier="private"/>
+        <rename to="setNum_private"/>
+        <modify-argument index="2">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+    <inject-code>
+    <insert-template name="core.qbytearray_setNum_integer">
+            <replace from="%INTEGER_TYPE" to="short"/>
+        </insert-template>
+    </inject-code>
+-->
+    <modify-function signature="startsWith(const char*)const">
+        <remove/>
+    </modify-function>
+
+
+    <modify-function signature="fromRawData(const char*,int)">
+        <remove/>
+    </modify-function>
+
+    </value-type>
+
+  <value-type name="QTextBoundaryFinder">
+    <modify-function signature="QTextBoundaryFinder(QTextBoundaryFinder::BoundaryType,const QChar*,int,unsigned char*,int)" remove="all"/>
+    <modify-function signature="operator=(QTextBoundaryFinder)" remove="all"/>
+  </value-type>
+
+  <object-type name="QXmlStreamEntityResolver"/>
+  <object-type name="QAbstractEventDispatcher"/>
+  <object-type name="QEventLoop"/>
+  <object-type name="QFile">
+    <modify-function signature="readLink()const" remove="all"/> <!--### Obsolete in 4.3-->
+    <modify-function signature="readLink(QString)" remove="all"/> <!--### Obsolete in 4.3-->
+    <modify-function signature="map(long long,long long,QFile::MemoryMapFlags)" remove="all"/> <!-- Can't provide same API and performance -->
+    <modify-function signature="unmap(unsigned char*)" remove="all"/> <!-- Can't provide same API and performance -->
+  
+        <inject-code>
+            <import-file name="typesystem_core-java.java" quote-after-line="class QFile___" quote-before-line="}// class"/>
+        </inject-code>
+        <modify-function signature="decodeName(const char*)">
+            <access modifier="private"/>
+        </modify-function>
+
+    </object-type>
+
+  <object-type name="QIODevice">
+        <inject-code>
+            <import-file name="typesystem_core-java.java" quote-after-line="class QIODevice___" quote-before-line="}// class"/>
+        </inject-code>
+
+        <modify-function signature="putChar(char)" rename="putByte"/>
+        <modify-function signature="ungetChar(char)" rename="ungetByte"/>
+        <modify-function signature="getChar(char*)">
+            <access modifier="private"/>
+            <rename to="getByte"/>
+        </modify-function>
+
+<!--
+        <modify-function signature="peek(char*,long long)">
+            <access modifier="private"/>
+        </modify-function>
+        <inject-code>
+            <insert-template name="core.read_with_byte[]_instead_of_char*_and_int">
+                <replace from="%FUNCTION_NAME" to="peek"/>
+            </insert-template>
+        </inject-code>
+
+        <modify-function signature="read(char*,long long)">
+            <access modifier="private"/>
+        </modify-function>
+        <inject-code>
+            <insert-template name="core.read_with_byte[]_instead_of_char*_and_int">
+                <replace from="%FUNCTION_NAME" to="read"/>
+            </insert-template>
+        </inject-code>
+
+        <modify-function signature="readLine(char*,long long)">
+            <access modifier="private"/>
+        </modify-function>
+        <inject-code>
+            <insert-template name="core.read_with_byte[]_instead_of_char*_and_int">
+                <replace from="%FUNCTION_NAME" to="readLine"/>
+            </insert-template>
+        </inject-code>
+
+        <modify-function signature="write(const char*,long long)">
+            <access modifier="private"/>
+        </modify-function>
+        <inject-code>
+            <insert-template name="core.write_with_byte[]_instead_of_char*_and_int">
+                <replace from="%FUNCTION_NAME" to="write"/>
+            </insert-template>
+        </inject-code>
+-->
+        <template name="core.iodevice_convert_char*_to_byte[]">
+            <insert-template name="core.convert_primitive_array_to_java">
+                <replace from="%JNITYPE" to="jbyte"/>
+                <replace from="%JAVATYPE" to="Byte"/>
+            </insert-template>
+        </template>
+
+        <template name="core.iodevice_cleanup_to_java">
+            <insert-template name="core.cleanup_convert_primitive_array_to_java">
+                <replace from="%JNITYPE" to="jbyte"/>
+                <replace from="%JAVATYPE" to="Byte"/>
+            </insert-template>
+        </template>
+
+
+        <template name="core.iodevice_cleanup">
+            jint %out = (jint) %in;
+            <insert-template name="core.cleanup_convert_primitive_array_from_java">
+                <replace from="%JAVATYPE" to="Byte"/>
+                <replace from="%JNITYPE" to="jbyte"/>
+            </insert-template>
+
+        </template>
+
+        <template name="core.iodevice_convert_byte[]_to_char*">
+            <insert-template name="core.convert_primitive_array_from_java">
+                <replace from="%CTYPE" to="char"/>
+                <replace from="%JAVATYPE" to="Byte"/>
+                <replace from="%JNITYPE" to="jbyte"/>
+            </insert-template>
+        </template>
+<!--
+        <modify-function signature="readData(char*,long long)">
+            <modify-argument index="0">
+                <replace-type modified-type="int"/>
+                <conversion-rule class="native">
+                    <insert-template name="core.iodevice_cleanup"/>
+                </conversion-rule>
+                <conversion-rule class="shell">
+                    qint64 %out = %in;
+                    <insert-template name="core.iodevice_cleanup_to_java">
+                        <replace from="%len" to="(int) %in"/>
+                    </insert-template>
+                </conversion-rule>
+            </modify-argument>
+
+            <modify-argument index="1">
+                <replace-type modified-type="byte[]"/>
+                <conversion-rule class="shell">
+                    <insert-template name="core.iodevice_convert_char*_to_byte[]">
+                        <replace from="%len" to="%2"/>
+                    </insert-template>
+                </conversion-rule>
+                <conversion-rule class="native">
+                    <insert-template name="core.iodevice_convert_byte[]_to_char*"/>
+                </conversion-rule>
+            </modify-argument>
+
+            <modify-argument index="2">
+                <remove-argument/>
+                <conversion-rule class="shell">
+                    // nothing
+                </conversion-rule>
+                <conversion-rule class="native">
+                <insert-template name="core.get_array_length">
+                    <replace from="%ARRAY" to="%1"/>
+                </insert-template>
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+
+        <modify-function signature="writeData(const char*,long long)">
+            <modify-argument index="1">
+                <replace-type modified-type="byte[]"/>
+                <conversion-rule class="shell">
+                    <insert-template name="core.iodevice_convert_char*_to_byte[]">
+                        <replace from="%len" to="%2"/>
+                    </insert-template>
+                </conversion-rule>
+                <conversion-rule class="native">
+                    <insert-template name="core.iodevice_convert_byte[]_to_char*"/>
+                </conversion-rule>
+            </modify-argument>
+
+            <modify-argument index="2">
+                <remove-argument/>
+                <conversion-rule class="shell">
+                    // nothing
+                </conversion-rule>
+                <conversion-rule class="native">
+                    <insert-template name="core.get_array_length">
+                        <replace from="%ARRAY" to="%1"/>
+                    </insert-template>
+                </conversion-rule>
+            </modify-argument>
+
+            <modify-argument index="0">
+                <replace-type modified-type="int"/>
+                <conversion-rule class="native">
+                    <insert-template name="core.iodevice_cleanup"/>
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+
+        <modify-function signature="readLineData(char*,long long)">
+            <modify-argument index="1">
+                <replace-type modified-type="byte[]"/>
+                <conversion-rule class="shell">
+                    <insert-template name="core.iodevice_convert_char*_to_byte[]">
+                        <replace from="%len" to="%2"/>
+                    </insert-template>
+                </conversion-rule>
+                <conversion-rule class="native">
+                    <insert-template name="core.iodevice_convert_byte[]_to_char*"/>
+                </conversion-rule>
+            </modify-argument>
+
+            <modify-argument index="2">
+                <remove-argument/>
+                <conversion-rule class="shell">
+                    // nothing
+                </conversion-rule>
+                <conversion-rule class="native">
+                    <insert-template name="core.get_array_length">
+                        <replace from="%ARRAY" to="%1"/>
+                    </insert-template>
+                </conversion-rule>
+            </modify-argument>
+
+            <modify-argument index="0">
+                <replace-type modified-type="int"/>
+                <conversion-rule class="native">
+                    <insert-template name="core.iodevice_cleanup"/>
+                </conversion-rule>
+                <conversion-rule class="shell">
+                    qint64 %out = %in;
+                    <insert-template name="core.iodevice_cleanup_to_java">
+                        <replace from="%len" to="(int) %in"/>
+                    </insert-template>
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+		-->
+    </object-type>
+
+  <value-type name="QLine"/>
+  <value-type name="QLineF">
+        <inject-code>
+            <import-file name="typesystem_core-java.java" quote-after-line="class QLineF___" quote-before-line="}// class"/>
+        </inject-code>
+        <modify-function signature="intersect(QLineF,QPointF*)const  ">
+            <access modifier="private"/>
+        </modify-function>
+
+    </value-type>
+
+  <object-type name="QCryptographicHash">
+        <inject-code>
+            <import-file name="typesystem_core-java.java" quote-after-line="class QCryptographicHash___" quote-before-line="}// class"/>
+        </inject-code>
+        <modify-function signature="addData(const char*,int)">
+            <access modifier="private"/>
+        </modify-function>
+
+    </object-type>
+  <object-type name="QLibraryInfo"/>
+  <object-type name="QMutex"/>
+  <object-type name="QSemaphore"/>
+  <object-type name="QSocketNotifier"/>
+  <object-type name="QSystemLocale"/>
+  <object-type name="QTemporaryFile">
+    <modify-function signature="fileName()const" rename="uniqueFilename"/>
+  </object-type>
+  <object-type name="QMimeData">
+    <extra-includes>
+        <include file-name="QStringList" location="global"/>
+        <include file-name="QUrl" location="global"/>
+    </extra-includes>
+  </object-type>
+  <object-type name="QTextCodec">
+
+    <modify-function signature="setCodecForTr(QTextCodec*)">
+        <access modifier="private"/>
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcCodecForTr"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setCodecForCStrings(QTextCodec*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcCodecForCStrings"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setCodecForLocale(QTextCodec*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcCodecForLocale"/>
+        </modify-argument>
+    </modify-function>
+
+
+    <modify-function signature="codecForTr()">
+        <remove/>
+    </modify-function>
+
+    <modify-function signature="QTextCodec()">
+        <modify-argument index="-1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="fromUnicode(const QChar*,int,QTextCodec::ConverterState*)const">
+        <remove/>
+    </modify-function>
+
+    <modify-function signature="toUnicode(const char*,int,QTextCodec::ConverterState*)const">
+        <remove/>
+    </modify-function>
+
+    <modify-function signature="toUnicode(const char*)const">
+        <remove/>
+    </modify-function>
+  
+        <inject-code>
+            <import-file name="typesystem_core-java.java" quote-after-line="class QTextCodec___" quote-before-line="}// class"/>
+        </inject-code>
+
+        <modify-function signature="convertFromUnicode(const QChar*,int,QTextCodec::ConverterState*)const">
+            <modify-argument index="3" invalidate-after-use="yes"/>
+            <modify-argument index="1">
+                <replace-type modified-type="string"/>
+                <conversion-rule class="shell">
+                    // Convert directly QChar * -&gt; ushort *
+                    <insert-template name="core.convert_primitive_array_to_java">
+                        <replace from="%JNITYPE" to="jchar"/>
+                        <replace from="%JAVATYPE" to="Char"/>
+                        <replace from="%len" to="%2"/>
+                    </insert-template>
+                </conversion-rule>
+                <conversion-rule class="native">
+                    // Convert directly ushort * -&gt; QChar *
+                    <insert-template name="core.convert_primitive_array_from_java">
+                        <replace from="%CTYPE" to="ushort"/>
+                        <replace from="%JAVATYPE" to="Char"/>
+                        <replace from="%JNITYPE" to="jchar"/>
+                    </insert-template>
+                </conversion-rule>
+            </modify-argument>
+
+            <modify-argument index="0">
+                <conversion-rule class="native">
+                    jobject %out = qtjambi_from_object(__jni_env, &amp;%in, "QByteArray", "com/trolltech/qt/core/", true);
+                    <insert-template name="core.cleanup_convert_primitive_array_from_java">
+                        <replace from="%JNITYPE" to="jchar"/>
+                        <replace from="%JAVATYPE" to="Char"/>
+                    </insert-template>
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+
+        <modify-function signature="convertToUnicode(const char*,int,QTextCodec::ConverterState*)const">
+            <modify-argument index="3" invalidate-after-use="yes"/>
+            <modify-argument index="1">
+                <replace-type modified-type="byte[]"/>
+                <conversion-rule class="shell">
+                    <insert-template name="core.convert_primitive_array_to_java">
+                        <replace from="%JNITYPE" to="jbyte"/>
+                        <replace from="%JAVATYPE" to="Byte"/>
+                        <replace from="%len" to="%2"/>
+                    </insert-template>
+                </conversion-rule>
+                <conversion-rule class="native">
+                    <insert-template name="core.convert_primitive_array_from_java">
+                        <replace from="%CTYPE" to="char"/>
+                        <replace from="%JAVATYPE" to="Byte"/>
+                        <replace from="%JNITYPE" to="jbyte"/>
+                    </insert-template>
+                </conversion-rule>
+            </modify-argument>
+
+            <modify-argument index="0">
+                <conversion-rule class="native">
+                    jstring %out = qtjambi_from_qstring(__jni_env, %in);
+                    <insert-template name="core.cleanup_convert_primitive_array_from_java">
+                        <replace from="%JNITYPE" to="jbyte"/>
+                        <replace from="%JAVATYPE" to="Byte"/>
+                    </insert-template>
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+
+        <modify-function signature="codecForName(const char*)  ">
+            <access modifier="private"/>
+        </modify-function>
+
+    </object-type>
+
+  <object-type name="QTextDecoder">
+    <modify-function signature="toUnicode(const char*,int)">
+        <remove/>
+    </modify-function>
+    <modify-function signature="toUnicode(QString*,const char*,int)" remove="all"/>
+  </object-type>
+  <object-type name="QTextEncoder">
+    <modify-function signature="fromUnicode(const QChar*,int)">
+        <remove/>
+    </modify-function>
+  </object-type>
+  <object-type name="QTimeLine"/>
+  <object-type name="QTranslator">
+    <modify-function signature="translate(const char*,const char*,const char*,int)const">
+        <remove/>
+    </modify-function>
+  
+        <extra-includes>
+            <include file-name="QTextCodec" location="global"/>
+         </extra-includes>
+        <modify-function signature="load(const unsigned char*,int)">
+            <access modifier="private"/>
+        </modify-function>
+        <inject-code>
+            <import-file name="typesystem_core-java.java" quote-after-line="class QTranslator___" quote-before-line="}// class"/>
+        </inject-code>
+
+        <modify-function signature="translate(const char*,const char*,const char*)const">
+            <modify-argument index="1">
+                <replace-type modified-type="string"/>
+                <conversion-rule class="shell">
+        QTextCodec *codec = QTextCodec::codecForName("UTF-8");
+        QByteArray b1;
+        if (%in != 0)
+            b1 = codec-&gt;fromUnicode(%in);
+
+        jobject %out = qtjambi_from_qstring(__jni_env, QString(b1));
+                </conversion-rule>
+
+                <conversion-rule class="native">
+        const char* %out = %in;
+                </conversion-rule>
+            </modify-argument>
+            <modify-argument index="2">
+                <replace-type modified-type="string"/>
+                <conversion-rule class="shell">
+        QByteArray b2;
+        if (%in != 0)
+            b2 = codec-&gt;fromUnicode(%in);
+
+        jobject %out = qtjambi_from_qstring(__jni_env, QString(b2));
+                </conversion-rule>
+                <conversion-rule class="native">
+        const char* %out = %in;
+                </conversion-rule>
+
+            </modify-argument>
+            <modify-argument index="3">
+                <replace-type modified-type="string"/>
+                <conversion-rule class="shell">
+        QByteArray b3;
+        if (%in != 0)
+            b3 = codec-&gt;fromUnicode(%in);
+
+        jobject %out = qtjambi_from_qstring(__jni_env, QString(b3));
+                </conversion-rule>
+                <conversion-rule class="native">
+        const char* %out = %in;
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+    </object-type>
+
+  <object-type name="QWaitCondition">
+        <modify-function signature="wait(QMutex *, unsigned long)">
+            <modify-argument index="2">
+                <replace-default-expression with="0xffffffff"/>
+            </modify-argument>
+        </modify-function>
+        <modify-function signature="wait(QReadWriteLock *, unsigned long)">
+            <modify-argument index="2">
+                <replace-default-expression with="0xffffffff"/>
+            </modify-argument>
+        </modify-function>
+    </object-type>
+
+  <object-type name="QFileSystemWatcher">
+    <extra-includes>
+      <include file-name="QStringList" location="global"/>
+    </extra-includes>
+  </object-type>
+
+  <object-type name="QTextCodec::ConverterState">
+    <include file-name="QTextCodec" location="global"/>
+  </object-type>
+
+  <object-type name="QBuffer">
+    <modify-function signature="buffer()">
+        <remove/>
+    </modify-function>
+  
+        <inject-code>
+            <import-file name="typesystem_core-java.java" quote-after-line="class QBuffer___" quote-before-line="}// class"/>
+        </inject-code>
+        <extra-includes>
+            <include file-name="qt.QNativePointer" location="java"/>
+        </extra-includes>
+
+
+        <modify-function signature="QBuffer(QByteArray*,QObject*)">
+            <access modifier="private"/>
+            <modify-argument index="2">
+                <remove-default-expression/>
+            </modify-argument>
+        </modify-function>
+
+
+        <modify-function signature="setBuffer(QByteArray*)">
+            <access modifier="private"/>
+        </modify-function>
+
+
+        <modify-function signature="setData(const char*,int)">
+            <access modifier="private"/>
+        </modify-function>
+
+    </object-type>
+
+  <object-type name="QTimer">
+<!--        <inject-code class="java">
+            <import-file name="typesystem_core-java.java" quote-after-line="class QTimer___" quote-before-line="}// class"/>
+        </inject-code>-->
+    </object-type>
+
+  <object-type name="QAbstractFileEngineHandler">
+    <modify-function signature="create(const QString &amp;) const">
+        <modify-argument index="return">
+            <define-ownership owner="c++" class="shell"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+
+  <object-type name="QAbstractFileEngine::MapExtensionOption"/>
+  <object-type name="QAbstractFileEngine::MapExtensionReturn">
+    <modify-field name="address">
+        <access modifier="private"/>
+        <rename to="address_private"/>
+    </modify-field>
+    <inject-code>
+        <import-file name="typesystem_core-java.java" quote-after-line="class QAbstractFileEngine_MapExtensionReturn___" quote-before-line="}// class"/>
+    </inject-code>
+  </object-type>
+  <object-type name="QAbstractFileEngine::UnMapExtensionOption">
+    <modify-field name="address">
+        <access modifier="private"/>
+        <rename to="address_private"/>
+    </modify-field>
+    <inject-code>
+        <import-file name="typesystem_core-java.java" quote-after-line="class QAbstractFileEngine_UnMapExtensionOption___" quote-before-line="}// class"/>
+    </inject-code>
+  </object-type>
+  <object-type name="QAbstractFileEngine">
+    <extra-includes>
+        <include file-name="QDateTime" location="global"/>
+    </extra-includes>
+    <modify-function signature="map(long long,long long,QFile::MemoryMapFlags)" remove="all"/>
+    <modify-function signature="unmap(unsigned char*)" remove="all"/>
+  
+    <inject-code>
+        <import-file name="typesystem_core-java.java" quote-after-line="class QAbstractFileEngine___" quote-before-line="}// class"/>
+    </inject-code>
+  </object-type>
+
+  <object-type name="QProcess">
+    <modify-function signature="readChannelMode()const" remove="all"/> <!--### Obsolete in 4.3-->
+    <modify-function signature="setReadChannelMode(QProcess::ProcessChannelMode)" remove="all"/> <!--### Obsolete in 4.3-->
+  
+        <modify-function signature="finished(int, QProcess::ExitStatus)">
+            <rename to="finishedWithStatusCode"/>
+        </modify-function>
+        <modify-function signature="setStandardOutputProcess(QProcess*)">
+            <modify-argument index="1">
+                <reference-count action="set" variable-name="__rcStandardOutputProcess"/>
+            </modify-argument>
+        </modify-function>
+        <modify-function signature="startDetached(QString,QStringList&lt;QString&gt;,QString,long long*)">
+            <access modifier="private"/>
+            <modify-argument index="4">
+                <remove-default-expression/>
+            </modify-argument>
+        </modify-function>
+        <inject-code>
+             <import-file name="typesystem_core-java.java" quote-after-line="class QProcess___" quote-before-line="}// class"/>
+        </inject-code>
+  </object-type>
+
+  <object-type name="QSignalMapper">
+    <modify-function signature="mapped(const QString &amp;)">
+        <rename to="mappedString"/>
+    </modify-function>
+    <modify-function signature="mapped(int)">
+        <rename to="mappedInteger"/>
+    </modify-function>
+    <modify-function signature="mapped(QObject *)">
+        <rename to="mappedQObject"/>
+    </modify-function>
+    <modify-function signature="mapped(QWidget *)" remove="all"/>
+
+    <modify-function signature="mapping(QWidget*)const" remove="all"/>
+
+    <modify-function signature="setMapping(QObject*,QWidget*)" remove="all"/>
+  
+        <inject-code>
+            <import-file name="typesystem_core-java.java" quote-after-line="class QSignalMapper___" quote-before-line="}// class"/>
+        </inject-code>
+
+
+      <modify-function signature="removeMappings(QObject*)">
+          <modify-argument index="1">
+              <reference-count action="remove" variable-name="__rcMappings"/>
+          </modify-argument>
+          <inject-code class="java" position="end">
+              <argument-map index="1" meta-name="%1"/>
+            if (__rcObjectForObject.containsKey(%1)) __rcObjectForObject.remove(%1);
+            if (__rcWidgetForObject.containsKey(%1)) __rcWidgetForObject.remove(%1);
+          </inject-code>
+      </modify-function>
+
+      <modify-function signature="setMapping(QObject*,QObject*)">
+          <modify-argument index="1">
+              <reference-count action="add" variable-name="__rcMappings"/>
+          </modify-argument>
+          <inject-code class="java" position="end">
+              <argument-map index="1" meta-name="%1"/>
+              <argument-map index="2" meta-name="%2"/>
+              if (%2 == null)
+                __rcObjectForObject.remove(%1);
+              else
+                __rcObjectForObject.put(%1,%2);
+          </inject-code>
+      </modify-function>
+
+      <modify-function signature="setMapping(QObject*,QString)">
+          <modify-argument index="1">
+              <reference-count action="add" variable-name="__rcMappings"/>
+          </modify-argument>
+      </modify-function>
+
+      <modify-function signature="setMapping(QObject*,int)">
+          <modify-argument index="1">
+              <reference-count action="add" variable-name="__rcMappings"/>
+          </modify-argument>
+      </modify-function>
+  </object-type>
+
+  <object-type name="QObject">
+    <modify-function signature="childEvent(QChildEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="customEvent(QEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="event(QEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="eventFilter(QObject*,QEvent*)">
+        <modify-argument index="2" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="timerEvent(QTimerEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+
+    <modify-function signature="installEventFilter(QObject*)">
+        <modify-argument index="1">
+            <reference-count action="add" variable-name="__rcEventFilters"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="removeEventFilter(QObject*)">
+        <modify-argument index="1">
+            <reference-count action="remove" variable-name="__rcEventFilters"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setParent(QObject*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+        <inject-code class="java" position="beginning">
+            <argument-map index="1" meta-name="%1"/>
+            if (%1 is null &amp;&amp; !__gc_managed) {
+                remove(__gc_ref_list, this);
+                __gc_managed = true;
+            } else if (%1 !is null &amp;&amp; __gc_managed) {
+                __gc_ref_list ~= this;
+                __gc_managed = false;
+            }
+        </inject-code>
+    </modify-function>
+
+    <modify-function signature="deleteLater()">
+        <rename to="disposeLater"/>
+    </modify-function>
+
+    <modify-function signature="inherits(const char*)const">
+        <remove/>
+    </modify-function>
+
+    <modify-function signature="property(const char*)const">
+        <access modifier="private"/>
+    </modify-function>
+
+    <modify-function signature="setProperty(const char*,QVariant)">
+        <access modifier="private"/>
+    </modify-function>
+
+
+    <extra-includes>
+        <include file-name="QVarLengthArray" location="global"/>
+    </extra-includes>
+
+  
+      <inject-code class="java">
+          <import-file name="typesystem_core-java.java" quote-after-line="class QObject___" quote-before-line="}// class"/>
+      </inject-code>
+  </object-type>
+
+  <object-type name="QCoreApplication">
+    <extra-includes>
+        <include file-name="QStringList" location="global"/>
+    </extra-includes>
+
+    <extra-includes>
+        <include file-name="qt.qtd.Str" location="java"/>
+    </extra-includes>
+
+    <modify-function signature="argv()" remove="all"/> <!-- Obsolete -->
+    <modify-function signature="argc()" remove="all"/> <!-- Obsolete -->
+
+    <modify-function signature="notify(QObject*,QEvent*)">
+        <modify-argument index="2" invalidate-after-use="yes"/>
+    </modify-function>
+
+
+    <modify-function signature="QCoreApplication(int &amp;, char  **)">
+      <access modifier="private"/>
+    </modify-function>
+    <modify-function signature="removePostedEvents(QObject*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="removePostedEvents(QObject*,int)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="installTranslator(QTranslator *)">
+        <modify-argument index="1">
+            <reference-count action="add" variable-name="__rcTranslators"/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="removeTranslator(QTranslator *)">
+        <modify-argument index="1">
+            <reference-count action="remove" variable-name="__rcTranslators"/>
+        </modify-argument>
+    </modify-function>
+
+
+    <modify-function signature="postEvent(QObject*,QEvent*)">
+        <modify-argument index="2">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+  
+      <modify-function signature="QCoreApplication(int &amp;, char  **)">
+          <inject-code class="shell">
+              // qtjambi_register_variant_handler();
+          </inject-code>
+      </modify-function>
+      <modify-function signature="translate(const char*,const char*,const char*,QCoreApplication::Encoding)">
+          <access modifier="private"/>
+          <modify-argument index="3">
+              <remove-default-expression/>
+          </modify-argument>
+          <modify-argument index="4">
+              <remove-default-expression/>
+          </modify-argument>
+      </modify-function>
+      <inject-code>
+          <import-file name="typesystem_core-java.java" quote-after-line="class QCoreApplication___" quote-before-line="}// class"/>
+      </inject-code>
+
+      <modify-function signature="translate(const char*,const char*,const char*,QCoreApplication::Encoding,int)">
+          <access modifier="private"/>
+      </modify-function>
+  </object-type>
+
+  <object-type name="QSettings">
+    <extra-includes>
+        <include file-name="QStringList" location="global"/>
+    </extra-includes>
+
+    <modify-function signature="setSystemIniPath(const QString&amp;)" remove="all"/> <!--### Obsolete in 4.3-->
+    <modify-function signature="setUserIniPath(const QString&amp;)" remove="all"/> <!--### Obsolete in 4.3-->
+  </object-type>
+
+  <object-type name="QEvent" polymorphic-base="yes" polymorphic-id-expression="%1-&gt;type() == QEvent::None"/>
+  <object-type name="QChildEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::ChildAdded || %1-&gt;type() == QEvent::ChildPolished || %1-&gt;type() == QEvent::ChildRemoved">
+    <modify-field name="c" read="false" write="false"/>
+  </object-type>
+  <object-type name="QTimerEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::Timer"/>
+
+  <object-type name="QDynamicPropertyChangeEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::DynamicPropertyChange"/>
+
+  <object-type name="QDataStream">
+  <!-- qtd2 -->
+  <modify-function signature="device() const" remove="all"/>
+  
+    <modify-function signature="setDevice(QIODevice*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcDevice"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="unsetDevice()">
+        <inject-code position="end">
+            __rcDevice = null;
+        </inject-code>
+    </modify-function>
+    <modify-function signature="version() const">
+        <rename to="version_"/>
+    </modify-function>
+
+    <modify-function signature="operator&lt;&lt;(const char*)"> <remove/> </modify-function>
+    <modify-function signature="operator&lt;&lt;(unsigned char)"> <remove/> </modify-function>
+    <modify-function signature="operator&lt;&lt;(unsigned int)"> <remove/> </modify-function>
+    <modify-function signature="operator&lt;&lt;(unsigned long long)"> <remove/> </modify-function>
+    <modify-function signature="operator&lt;&lt;(unsigned short)"> <remove/> </modify-function>
+
+    <modify-function signature="operator&gt;&gt;(char &amp;*)"> <remove/> </modify-function>
+    <modify-function signature="operator&gt;&gt;(uint&amp;)"> <remove/> </modify-function>
+    <modify-function signature="operator&gt;&gt;(unsigned char&amp;)"> <remove/> </modify-function>
+    <modify-function signature="operator&gt;&gt;(unsigned long long&amp;)"> <remove/> </modify-function>
+
+    <modify-function signature="readRawData(char*,int)"> <remove/> </modify-function>
+    <modify-function signature="readBytes(char&amp;*,uint&amp;)"> <remove/> </modify-function>
+    <modify-function signature="writeRawData(const char*,int)"> <remove/> </modify-function>
+    <modify-function signature="writeBytes(const char*,uint)"> <remove/> </modify-function>
+  
+      <template name="core.datastream_operator_shift_right">
+          <insert-template name="core.stream_operator_shift_right">
+              <replace from="%STREAM_TYPE" to="QDataStream"/>
+          </insert-template>
+      </template>
+
+      <template name="core.datastream_operator_shift_right_primitive">
+          <insert-template name="core.datastream_operator_shift_right">
+              <replace from="%VALUE_FUNCTION" to="%TYPEValue"/>
+          </insert-template>
+      </template>
+
+      <modify-function signature="operator&lt;&lt;(bool)">
+          <rename to="writeBoolean"/>
+          <modify-argument index="0" replace-value="this"/>
+      </modify-function>
+      <modify-function signature="operator&lt;&lt;(signed char)">
+          <rename to="writeByte"/>
+          <modify-argument index="0" replace-value="this"/>
+      </modify-function>
+      <modify-function signature="operator&lt;&lt;(int)">
+          <rename to="writeInt"/>
+          <modify-argument index="0" replace-value="this"/>
+      </modify-function>
+      <modify-function signature="operator&lt;&lt;(long long)">
+          <rename to="writeLong"/>
+          <modify-argument index="0" replace-value="this"/>
+      </modify-function>
+      <modify-function signature="operator&lt;&lt;(float)">
+          <rename to="writeFloat"/>
+          <modify-argument index="0" replace-value="this"/>
+      </modify-function>
+      <modify-function signature="operator&lt;&lt;(double)">
+          <rename to="writeDouble"/>
+          <modify-argument index="0" replace-value="this"/>
+      </modify-function>
+      <modify-function signature="operator&lt;&lt;(short)">
+          <rename to="writeShort_char"/>
+          <access modifier="private"/>
+          <modify-argument index="0" replace-value="this"/>
+      </modify-function>
+
+      <modify-function signature="operator&gt;&gt;(int&amp;)">
+          <rename to="operator_shift_right_int"/>
+          <modify-argument index="0" replace-value="this"/>
+          <access modifier="private"/>
+      </modify-function>
+
+      <modify-function signature="operator&gt;&gt;(bool&amp;)">
+          <rename to="operator_shift_right_boolean"/>
+          <modify-argument index="0" replace-value="this"/>
+          <access modifier="private"/>
+      </modify-function>
+
+      <modify-function signature="operator&gt;&gt;(short&amp;)">
+          <rename to="operator_shift_right_short"/>
+          <modify-argument index="0" replace-value="this"/>
+          <access modifier="private"/>
+      </modify-function>
+
+      <modify-function signature="operator&gt;&gt;(long long&amp;)">
+          <rename to="operator_shift_right_long"/>
+          <modify-argument index="0" replace-value="this"/>
+          <access modifier="private"/>
+      </modify-function>
+
+      <modify-function signature="operator&gt;&gt;(signed char&amp;)">
+          <rename to="operator_shift_right_byte"/>
+          <modify-argument index="0" replace-value="this"/>
+          <access modifier="private"/>
+      </modify-function>
+
+      <modify-function signature="operator&gt;&gt;(unsigned short&amp;)">
+          <rename to="operator_shift_right_char"/>
+          <modify-argument index="0" replace-value="this"/>
+          <access modifier="private"/>
+      </modify-function>
+
+      <modify-function signature="operator&gt;&gt;(float&amp;)">
+          <rename to="operator_shift_right_float"/>
+          <modify-argument index="0" replace-value="this"/>
+          <access modifier="private"/>
+      </modify-function>
+
+      <modify-function signature="operator&gt;&gt;(double&amp;)">
+          <rename to="operator_shift_right_double"/>
+          <modify-argument index="0" replace-value="this"/>
+          <access modifier="private"/>
+      </modify-function>
+
+      <inject-code>
+          <import-file name="typesystem_core-java.java" quote-after-line="class QDataStream___" quote-before-line="}// class"/>
+      </inject-code>
+
+      <inject-code class="native">
+/*        extern "C" jstring qtd_QDataStream_readString_private
+        (void* __this_nativeId)
+        {
+            QTJAMBI_DEBUG_TRACE("(native) entering: QDataStream::%FUNCTION_NAME%_native");
+            QDataStream *qtStream = (QDataStream *) qtjambi_from_jlong(stream);
+
+            jstring returned = 0;
+            if (qtStream != 0) {
+                QString qtString;
+                operator&gt;&gt;(*qtStream, qtString);
+
+                returned = qtjambi_from_qstring(env, qtString);
+            }
+
+            return returned;
+        }
+
+        extern "C" JNIEXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_com_trolltech_qt_core_QDataStream_writeString_1private)
+        (JNIEnv *env, jobject, jlong stream, jstring string)
+        {
+            QTJAMBI_DEBUG_TRACE("(native) entering: QDataStream::%FUNCTION_NAME%_native");
+            QDataStream *qtStream = (QDataStream *) qtjambi_from_jlong(stream);
+
+            if (qtStream != 0) {
+                QString qtString = qtjambi_to_qstring(env, string);
+                operator&lt;&lt;(*qtStream, qtString);
+            }
+        }
+*/
+      </inject-code>
+
+      <template name="core.stream_constructor_bytearray">
+/*        // Hold reference to byte array which goes away when the stream dies
+        private QByteArray byteArray = null;
+        public %CLASSNAME(QByteArray a, QIODevice.OpenMode mode) {
+            this(a.nativePointer(), mode);
+            byteArray = a;
+        }
+
+        public %CLASSNAME(QByteArray a, QIODevice.OpenModeFlag ... mode) {
+            this(a.nativePointer(), mode);
+            byteArray = a;
+        } */
+      </template>
+
+      <modify-function signature="QDataStream(QByteArray*,QFlags&lt;QIODevice::OpenModeFlag&gt;)">
+          <access modifier="private"/>
+      </modify-function>
+      <inject-code>
+          <insert-template name="core.stream_constructor_bytearray">
+              <replace from="%CLASSNAME" to="QDataStream"/>
+          </insert-template>
+      </inject-code>
+
+      <template name="core.qdatastream_readorwrite_bytes">
+        extern "C" JNIEXPORT jint JNICALL QTJAMBI_FUNCTION_PREFIX(Java_com_trolltech_qt_core_QDataStream_%FUNCTION_NAME%)
+        (JNIEnv *env, jobject, jlong stream, jbyteArray array, jint length)
+        {
+            QTJAMBI_DEBUG_TRACE("(native) entering: QDataStream::%FUNCTION_NAME%");
+            char *rawBuffer = (char *) env-&gt;GetByteArrayElements(array, 0);
+
+            QDataStream *qtStream = (QDataStream *) qtjambi_from_jlong(stream);
+            int count = qtStream-&gt;%QT_FUNCTION_NAME%(rawBuffer, length);
+
+            env-&gt;ReleaseByteArrayElements(array, (jbyte *) rawBuffer, 0);
+            QTJAMBI_DEBUG_TRACE("(native) -&gt; leaving: QDataStream::%FUNCTION_NAME%");
+            return qMin(count, (int) length);
+        }
+      </template>
+<!--
+      <inject-code class="native">
+          <insert-template name="core.qdatastream_readorwrite_bytes">
+              <replace from="%FUNCTION_NAME%" to="readBytes"/>
+              <replace from="%QT_FUNCTION_NAME%" to="readRawData"/>
+          </insert-template>
+          <insert-template name="core.qdatastream_readorwrite_bytes">
+              <replace from="%FUNCTION_NAME%" to="writeBytes"/>
+              <replace from="%QT_FUNCTION_NAME%" to="writeRawData"/>
+          </insert-template>
+      </inject-code> -->
+  </object-type>
+
+  <object-type name="QFSFileEngine">
+    <extra-includes>
+           <include file-name="QDateTime" location="global"/>
+        </extra-includes>
+  </object-type>
+
+  <object-type name="QTextStream">
+  
+      <modify-function signature="setCodec(QTextCodec *)" remove="all"/>
+      <modify-function signature="codec() const" remove="all"/>
+  
+    <modify-function signature="QTextStream(QByteArray *, QFlags&lt;QIODevice::OpenModeFlag&gt;)"> <remove/> </modify-function>
+    <modify-function signature="QTextStream(QString*,QFlags&lt;QIODevice::OpenModeFlag&gt;)"> <remove/> </modify-function>
+    <modify-function signature="operator&gt;&gt;(QChar&amp;)"> <remove/> </modify-function>
+    <modify-function signature="operator&lt;&lt;(const void*)"> <remove/> </modify-function>
+    <modify-function signature="operator&lt;&lt;(unsigned int)"> <remove/> </modify-function>
+    <modify-function signature="operator&lt;&lt;(unsigned long long)"> <remove/> </modify-function>
+    <modify-function signature="operator&lt;&lt;(const QChar &amp;)"> <remove/> </modify-function>
+    <modify-function signature="operator&lt;&lt;(unsigned long)"> <remove/> </modify-function>
+    <modify-function signature="operator&lt;&lt;(signed long)"> <remove/> </modify-function>
+    <modify-function signature="operator&lt;&lt;(const char*)"> <remove/> </modify-function>
+    <modify-function signature="operator&lt;&lt;(unsigned short)"> <remove/> </modify-function>
+    <modify-function signature="operator&lt;&lt;(const QByteArray&amp;)"> <remove/> </modify-function>
+    <modify-function signature="operator&gt;&gt;(unsigned long long&amp;)"> <remove/> </modify-function>
+    <modify-function signature="operator&gt;&gt;(uint&amp;)"> <remove/> </modify-function>
+    <modify-function signature="operator&gt;&gt;(ulong&amp;)"> <remove/> </modify-function>
+    <modify-function signature="setString(QString*,QFlags&lt;QIODevice::OpenModeFlag&gt;)"> <remove/> </modify-function>
+    <modify-function signature="string()const"> <remove/> </modify-function>
+    <modify-function signature="operator&gt;&gt;(signed long&amp;)"> <remove/> </modify-function>
+    <modify-function signature="operator&gt;&gt;(char*)"> <remove/> </modify-function>
+    <modify-function signature="operator&gt;&gt;(QByteArray&amp;)"> <remove/> </modify-function>
+    <modify-function signature="operator&gt;&gt;(QString&amp;)"> <remove/> </modify-function>
+    <modify-function signature="operator&gt;&gt;(unsigned short&amp;)"> <remove/> </modify-function>
+    <modify-function signature="operator&lt;&lt;(const QString&amp;)"> <remove/> </modify-function>
+
+<!--
+    <modify-function signature="setCodec(QTextCodec *)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcCodec"/>
+        </modify-argument>
+    </modify-function>
+-->
+    <modify-function signature="QTextStream(QIODevice *)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcDevice"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setDevice(QIODevice *)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcDevice"/>
+        </modify-argument>
+    </modify-function>
+
+      <template name="core.textstream_operator_shift_right">
+          <insert-template name="core.stream_operator_shift_right">
+              <replace from="%STREAM_TYPE" to="QTextStream"/>
+          </insert-template>
+      </template>
+
+      <template name="core.textstream_operator_shift_right_primitive">
+          <insert-template name="core.textstream_operator_shift_right">
+              <replace from="%VALUE_FUNCTION" to="%TYPEValue"/>
+          </insert-template>
+      </template>
+
+      <modify-function signature="operator&lt;&lt;(QBool)">
+          <rename to="writeBoolean"/>
+          <modify-argument index="0" replace-value="this"/>
+      </modify-function>
+      <modify-function signature="operator&lt;&lt;(char)">
+          <modify-argument index="0" replace-value="this"/>
+          <rename to="writeByte"/>
+      </modify-function>
+      <modify-function signature="operator&lt;&lt;(signed int)">
+          <rename to="writeInt"/>
+          <modify-argument index="0" replace-value="this"/>
+      </modify-function>
+      <modify-function signature="operator&lt;&lt;(long long)">
+          <rename to="writeLong"/>
+          <modify-argument index="0" replace-value="this"/>
+      </modify-function>
+      <modify-function signature="operator&lt;&lt;(float)">
+          <rename to="writeFloat"/>
+          <modify-argument index="0" replace-value="this"/>
+      </modify-function>
+      <modify-function signature="operator&lt;&lt;(double)">
+          <rename to="writeDouble"/>
+          <modify-argument index="0" replace-value="this"/>
+      </modify-function>
+      <modify-function signature="operator&lt;&lt;(signed short)">
+          <rename to="writeShort_char"/>
+          <modify-argument index="0" replace-value="this"/>
+          <access modifier="private"/>
+      </modify-function>
+
+      <modify-function signature="operator&gt;&gt;(char&amp;)">
+          <access modifier="private"/>
+          <modify-argument index="0" replace-value="this"/>
+          <rename to="operator_shift_right_byte"/>
+      </modify-function>
+      <modify-function signature="operator&gt;&gt;(signed short&amp;)">
+          <access modifier="private"/>
+          <modify-argument index="0" replace-value="this"/>
+          <rename to="operator_shift_right_short"/>
+      </modify-function>
+      <modify-function signature="operator&gt;&gt;(signed int&amp;)">
+          <access modifier="private"/>
+          <modify-argument index="0" replace-value="this"/>
+          <rename to="operator_shift_right_int"/>
+      </modify-function>
+      <modify-function signature="operator&gt;&gt;(long long&amp;)">
+          <access modifier="private"/>
+          <modify-argument index="0" replace-value="this"/>
+          <rename to="operator_shift_right_long"/>
+      </modify-function>
+      <modify-function signature="operator&gt;&gt;(float&amp;)">
+          <access modifier="private"/>
+          <modify-argument index="0" replace-value="this"/>
+          <rename to="operator_shift_right_float"/>
+      </modify-function>
+      <modify-function signature="operator&gt;&gt;(double&amp;)">
+          <access modifier="private"/>
+          <modify-argument index="0" replace-value="this"/>
+          <rename to="operator_shift_right_double"/>
+      </modify-function>
+
+      <modify-function signature="setCodec(const char*)">
+          <access modifier="private"/>
+      </modify-function>
+      <inject-code>
+          <import-file name="typesystem_core-java.java" quote-after-line="class QTextStream___" quote-before-line="}// class"/>
+      </inject-code>
+<!--
+      <inject-code class="native">
+        extern "C" JNIEXPORT jstring JNICALL QTJAMBI_FUNCTION_PREFIX(Java_com_trolltech_qt_core_QTextStream_readString_1native)
+        (JNIEnv *env, jobject, jlong id)
+        {
+            QTJAMBI_DEBUG_TRACE("(native) entering: QTextStream::readString()");
+            QTextStream *stream = (QTextStream *) qtjambi_from_jlong(id);
+            QString str;
+            (*stream) &gt;&gt; str;
+            jstring s = qtjambi_from_qstring(env, str);
+            QTJAMBI_DEBUG_TRACE("(native) -&gt; leaving: QTextStream::readString()");
+            return s;
+        }
+
+        extern "C" JNIEXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_com_trolltech_qt_core_QTextStream_writeString_1native)
+        (JNIEnv *env, jobject, jlong id, jstring str)
+        {
+            QTJAMBI_DEBUG_TRACE("(native) entering: QTextStream::writeString()");
+            QString qstr = qtjambi_to_qstring(env, str);
+            QTextStream *stream = (QTextStream *) qtjambi_from_jlong(id);
+            (*stream) &lt;&lt; qstr;
+            QTJAMBI_DEBUG_TRACE("(native) -&gt; leaving: QTextStream::readString()");
+        }
+      </inject-code>-->
+  </object-type>
+
+  <object-type name="QSystemSemaphore"/>
+
+  <namespace-type name="QtConcurrent" target-type="class">
+    <inject-code class="java">
+        <import-file name="typesystem_core-java.java" quote-after-line="class QtConcurrent___" quote-before-line="}// class"/>
+    </inject-code>
+  </namespace-type>
+
+  <value-type name="QFuture" generate="no">
+    <modify-function signature="operator T() const" remove="all"/>
+    <modify-function signature="operator=(const QFuture &amp;)" remove="all"/>
+  
+    <modify-function signature="operator==(const QFuture &amp;)const">
+        <modify-argument index="1">
+            <replace-type modified-type="qt.core.QFuture"/>
+            <conversion-rule class="native">
+                <insert-template name="convert_qtjambifuture_to_native"/>
+            </conversion-rule>
+        </modify-argument>
+    </modify-function>
+  </value-type>
+  <value-type name="QtJambiVoidFuture" java-name="QFutureVoid">
+    <modify-function signature="resultCount()const" remove="all"/>
+    <modify-function signature="isResultReadyAt(int)const" remove="all"/>
+  
+    <modify-function signature="QFuture(const QFuture &amp;)">
+        <modify-argument index="1">
+            <replace-type modified-type="qt.core.QFutureVoid"/>
+            <conversion-rule class="native">
+                <insert-template name="convert_futurevoid_to_native"/>
+            </conversion-rule>
+        </modify-argument>
+    </modify-function>
+  </value-type>
+  <value-type name="QtJambiFuture" java-name="QFuture" generic-class="yes">
+    <modify-function signature="QFuture(const QFuture &amp;)">
+        <modify-argument index="1">
+            <replace-type modified-type="qt.core.QFuture&lt;T&gt;"/>
+            <conversion-rule class="native">
+                <insert-template name="convert_qtjambifuture_to_native"/>
+            </conversion-rule>
+        </modify-argument>
+    </modify-function>
+  </value-type>
+
+  <object-type name="QFutureWatcherBase">
+    <modify-function signature="connectNotify(const char *)" remove="all"/>
+    <modify-function signature="disconnectNotify(const char *)" remove="all"/>
+  
+    <inject-code class="shell-declaration">
+
+        // private, pure virtual and considered internal
+        // we need to reimplement them so it will compile
+        QFutureInterfaceBase dummyBase;
+        virtual const QFutureInterfaceBase &amp;futureInterface() const { return dummyBase; }
+        virtual QFutureInterfaceBase &amp;futureInterface() { return dummyBase; }
+    </inject-code>
+  </object-type>
+  <object-type name="QtJambiVoidFutureWatcher" java-name="QFutureWatcherVoid">
+    <modify-function signature="setFuture(const QFuture &amp;)">
+        <modify-argument index="1">
+            <replace-type modified-type="qt.core.QFutureVoid"/>
+            <conversion-rule class="native">
+                <insert-template name="convert_futurevoid_to_native"/>
+            </conversion-rule>
+        </modify-argument>
+    </modify-function>
+    <inject-code>
+        <import-file name="typesystem_core-java.java" quote-after-line="class QFutureWatcherVoid___" quote-before-line="}// class"/>
+    </inject-code>
+    <inject-code class="native">
+        <insert-template name="future_function_in_futurewatcher">
+            <replace from="QFutureWatcher" to="QFutureWatcherVoid"/>
+            <replace from="QtJambiFuture" to="QtJambiVoidFuture"/>
+            <replace from="&quot;QFuture&quot;" to="&quot;QFutureVoid&quot;"/>
+        </insert-template>
+    </inject-code>
+  </object-type>
+
+  <object-type name="QFutureWatcher" generate="no">
+    <modify-function signature="future()const" remove="all"/>
+  
+    <modify-function signature="setFuture(const QFuture &amp;)">
+        <modify-argument index="1">
+            <replace-type modified-type="qt.core.QFuture&lt;T&gt;"/>
+            <conversion-rule class="native">
+                <insert-template name="convert_qtjambifuture_to_native"/>
+            </conversion-rule>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+  <object-type name="QtJambiFutureWatcher" java-name="QFutureWatcher" generic-class="yes">
+    <inject-code>
+        <import-file name="typesystem_core-java.java" quote-after-line="class QFutureWatcher___" quote-before-line="}// class"/>
+    </inject-code>
+    <inject-code class="native">
+        <insert-template name="future_function_in_futurewatcher"/>
+    </inject-code>
+  </object-type>
+
+  <object-type name="QFutureSynchronizer" generate="no"/>
+  <object-type name="QtJambiFutureSynchronizer" generic-class="yes" java-name="QFutureSynchronizer">
+      <modify-function signature="QFutureSynchronizer(const QFuture &amp;)">
+        <modify-argument index="1">
+            <replace-type modified-type="qt.core.QFuture&lt;T&gt;"/>
+            <conversion-rule class="native">
+                <insert-template name="convert_qtjambifuture_to_native"/>
+            </conversion-rule>
+        </modify-argument>
+      </modify-function>
+      <modify-function signature="addFuture(const QFuture &amp;)">
+        <modify-argument index="1">
+            <replace-type modified-type="qt.core.QFuture&lt;T&gt;"/>
+            <conversion-rule class="native">
+                <insert-template name="convert_qtjambifuture_to_native"/>
+            </conversion-rule>
+        </modify-argument>
+      </modify-function>
+      <modify-function signature="setFuture(const QFuture &amp;)">
+        <modify-argument index="1">
+            <replace-type modified-type="qt.core.QFuture&lt;T&gt;"/>
+            <conversion-rule class="native">
+                <insert-template name="convert_qtjambifuture_to_native"/>
+            </conversion-rule>
+        </modify-argument>
+      </modify-function>
+      <modify-function signature="futures()const" remove="all"/>
+      <inject-code class="native">
+        <insert-template name="futures_function_in_futuresynchronizer"/>
+      </inject-code>
+      <inject-code class="java">
+        <import-file name="typesystem_core-java.java" quote-after-line="class QFutureSynchronizer___" quote-before-line="}// class"/>
+      </inject-code>
+  </object-type>
+  <object-type name="QtJambiVoidFutureSynchronizer" java-name="QFutureSynchronizerVoid">
+      <modify-function signature="QFutureSynchronizer(const QFuture &amp;)">
+        <modify-argument index="1">
+            <replace-type modified-type="qt.core.QFutureVoid"/>
+            <conversion-rule class="native">
+                <insert-template name="convert_futurevoid_to_native"/>
+            </conversion-rule>
+        </modify-argument>
+      </modify-function>
+      <modify-function signature="addFuture(const QFuture &amp;)">
+        <modify-argument index="1">
+            <replace-type modified-type="qt.core.QFutureVoid"/>
+            <conversion-rule class="native">
+                <insert-template name="convert_futurevoid_to_native"/>
+            </conversion-rule>
+        </modify-argument>
+      </modify-function>
+      <modify-function signature="setFuture(const QFuture &amp;)">
+        <modify-argument index="1">
+            <replace-type modified-type="qt.core.QFutureVoid"/>
+            <conversion-rule class="native">
+                <insert-template name="convert_futurevoid_to_native"/>
+            </conversion-rule>
+        </modify-argument>
+      </modify-function>
+      <modify-function signature="futures()const" remove="all"/>
+      <inject-code class="native">
+        <insert-template name="futures_function_in_futuresynchronizer">
+            <replace from="QFutureSynchronizer" to="QFutureSynchronizerVoid"/>
+            <replace from="QtJambiFutureSynchronizer" to="QtJambiVoidFutureSynchronizer"/>
+            <replace from="QtJambiFuture" to="QtJambiVoidFuture"/>
+            <replace from="&quot;QFuture&quot;" to="&quot;QFutureVoid&quot;"/>
+        </insert-template>
+      </inject-code>
+      <inject-code class="java">
+        <import-file name="typesystem_core-java.java" quote-after-line="class QFutureSynchronizerVoid___" quote-before-line="}// class"/>
+      </inject-code>
+  </object-type>
+  <object-type name="QThreadPool"/>
+
+  <object-type name="QFutureIterator" generate="no">
+      <modify-function signature="operator=(const QFuture&amp;)" remove="all"/>
+  </object-type>
+  <object-type name="QtJambiFutureIterator" generic-class="yes" java-name="QFutureIterator">
+    <modify-function signature="QFutureIterator(const QFuture &amp;)">
+        <modify-argument index="1">
+            <replace-type modified-type="qt.core.QFuture&lt;T&gt;"/>
+            <conversion-rule class="native">
+                <insert-template name="convert_qtjambifuture_to_native"/>
+            </conversion-rule>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+  <object-type name="QRunnable"/>
+
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type 'std::*'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type '*Private\*'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type '*Private&amp;'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type 'QMetaObject'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type 'FILE\*'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type 'QByteArray::Data\*'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type 'QTSMFC'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type 'QTSMFI'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type 'QAbstractFileEngine::ExtensionOption const\*'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type 'QAbstractFileEngine::Iterator\*'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type 'QDataStream::ByteOrder'"/>
+  <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(CppImplGenerator) :: protected function '*' in final class '*'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type 'QPointer&lt;*&gt;'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type 'QVector&lt;*&gt;'"/>
+  <suppress-warning text="* private virtual function '*' in 'QAbstractListModel'"/>
+  <suppress-warning text="* private virtual function '*' in 'QAbstractTableModel'"/>
+  <suppress-warning text="* private virtual function '*' in 'QListWidget'"/>
+  <suppress-warning text="* private virtual function '*' in 'QTreeWidget'"/>
+  <suppress-warning text="* private virtual function '*' in 'QFontDialog'"/>
+  <suppress-warning text="* private virtual function '*' in 'QTableWidget'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QDateTime' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QPersistentModelIndex' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QUuid' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QRect' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QTime' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QLocale' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QDir' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QPointF' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QSize' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QFileInfo' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QSizeF' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QRegExp' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QRectF' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QDate' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QPoint' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QUrl' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QFutureWatcherBase::futureInterface', unmatched return type 'QFutureInterfaceBase&amp;'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QFutureWatcherBase::futureInterface', unmatched return type 'QFutureInterfaceBase const&amp;'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QFutureWatcher::futureInterface', unmatched return type 'QFutureInterfaceBase&amp;'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QFutureWatcher::futureInterface', unmatched return type 'QFutureInterfaceBase const&amp;'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QFuture' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: unknown operator 'T'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QFutureVoid' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QFuture::constBegin', unmatched return type 'const_iterator'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QFuture::end', unmatched return type 'const_iterator'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QFuture::constEnd', unmatched return type 'const_iterator'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QFuture::QFuture', unmatched parameter type 'QFutureInterface&lt;T&gt;*'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QFuture::begin', unmatched return type 'const_iterator'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::blockingMapped', unmatched return type 'Sequence'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::blockingMapped', unmatched return type 'QList&lt;U&gt;'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::blockingMapped', unmatched return type 'QList&lt;MapFunctor::result_type&gt;'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::blockingMapped', unmatched return type 'OutputSequence'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::filtered', unmatched parameter type 'Iterator'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::filtered', unmatched parameter type 'Sequence const&amp;'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::filter', unmatched parameter type 'Sequence&amp;'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::startFiltered', unmatched return type 'ThreadEngineStarter&lt;Sequence::value_type&gt;'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::startFiltered', unmatched return type 'ThreadEngineStarter&lt;Iterator::value_type&gt;'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::blockingMappedReduced', unmatched return type 'V'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::blockingMappedReduced', unmatched return type 'W'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::blockingMappedReduced', unmatched return type 'ResultType'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::blockingMappedReduced', unmatched return type 'U'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::blockingFiltered', unmatched return type 'OutputSequence'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::blockingFiltered', unmatched return type 'Sequence'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::startMappedReduced', unmatched return type 'ThreadEngineStarter&lt;ResultType&gt;'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::blockingFilteredReduced', unmatched return type 'U'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::blockingFilteredReduced', unmatched return type 'V'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::blockingFilteredReduced', unmatched return type 'ResultType'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::startMap', unmatched return type 'ThreadEngineStarter&lt;void&gt;'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::startThreadEngine', unmatched return type 'ThreadEngineStarter&lt;ThreadEngine::ResultType&gt;'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::mappedReduced', unmatched parameter type 'Iterator'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::mappedReduced', unmatched parameter type 'Sequence const&amp;'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::filteredReduced', unmatched parameter type 'Iterator'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::filteredReduced', unmatched parameter type 'Sequence const&amp;'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::map', unmatched parameter type 'Iterator'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::map', unmatched parameter type 'Sequence&amp;'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::filterInternal', unmatched return type 'ThreadEngineStarter&lt;void&gt;'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::createFunctor', unmatched return type 'QtConcurrent::SelectMemberFunctor0lt;T,Class&gt;::type'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::createFunctor', unmatched return type 'SelectFunctor0&lt;T,T&gt;::type'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::mapped', unmatched parameter type 'Iterator'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::mapped', unmatched parameter type 'Sequence const&amp;'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::blockingMap', unmatched parameter type 'Iterator'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::blockingMap', unmatched parameter type 'Sequence&amp;'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::startMapped', unmatched return type 'QtConcurrent::ThreadEngineStarter&lt;T&gt;'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::startFilteredReduced', unmatched return type 'ThreadEngineStarter&lt;ResultType&gt;'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::run', unmatched parameter type 'Class const*'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::run', unmatched parameter type 'Class*'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::run', unmatched parameter type 'Class const&amp;'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::run', unmatched parameter type 'FunctionObject*'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::run', unmatched parameter type 'FunctionObject'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::run', unmatched parameter type 'T'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::blockingFilter', unmatched parameter type 'Sequence&amp;'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QtConcurrent::createFunctor', unmatched return type 'QtConcurrent::SelectMemberFunctor0&lt;T,Class&gt;::type'"/>
+
+  <suppress-warning text="WARNING(Parser) :: ** WARNING scope not found for function definition:QFuture&lt;void&gt;::operator= - definition *ignored*"/>
+  <suppress-warning text="WARNING(Parser) :: ** WARNING scope not found for function definition:QFutureInterface&lt;void&gt;::future - definition *ignored*"/>
+  <suppress-warning text="WARNING(Parser) :: ** WARNING scope not found for function definition:QFutureWatcher&lt;void&gt;::setFuture - definition *ignored*"/>
+
+
+</typesystem>