view generator/typesystem_core.xml @ 282:256ab6cb8e85

Signals look-up andNew syntax for connect. The old one will not work from now on. This will allow for the signals overload. Although changes are done for both D1 and D2 versions, D1 won't work because of compiler bugs. I am tired of waiting for fixes.
author eldar
date Fri, 16 Oct 2009 02:43:59 +0000
parents 073b9153ed8a
children 17b5e13364b7 f9559a957be9
line wrap: on
line source

<?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() {
            return fromStringz(%FUNCTION_NAME_private());
        }
    </template>
<template name="core.call_with_string_instead_of_char*">
        public final void %FUNCTION_NAME(string %ARG_NAME) {
            %FUNCTION_NAME(%ARG_NAME is null? null : toStringz(%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="quintptr" jni-name="quintptr" />

    <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="QRect"/>
  <rejection class="QRectF"/>
  <rejection class="QLine"/>
  <rejection class="QLineF"/>

  <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" wrap="struct">
<!--    <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" wrap="struct">
<!--    <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="rowsAboutToBeInserted(QModelIndex,int,int)" private-signal="yes"/>
    <modify-function signature="rowsInserted(QModelIndex,int,int)" private-signal="yes"/>

    <modify-function signature="rowsAboutToBeRemoved(QModelIndex,int,int)" private-signal="yes"/>
    <modify-function signature="rowsRemoved(QModelIndex,int,int)" private-signal="yes"/>

    <modify-function signature="columnsAboutToBeInserted(QModelIndex,int,int)" private-signal="yes"/>
    <modify-function signature="columnsInserted(QModelIndex,int,int)" private-signal="yes"/>

    <modify-function signature="columnsAboutToBeRemoved(QModelIndex,int,int)" private-signal="yes"/>
    <modify-function signature="columnsRemoved(QModelIndex,int,int)" private-signal="yes"/>

    <modify-function signature="modelAboutToBeReset()" private-signal="yes"/>
    <modify-function signature="modelReset()" private-signal="yes"/>

        <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">

    <modify-function signature="at(int)const">
        <modify-argument index="return">
            <replace-type modified-type="ubyte"/>
        </modify-argument>
    </modify-function>

    <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="write(const char*)">
            <access modifier="private"/>
        </modify-function>

	<modify-function signature="write(const char*,long long)">
            <access modifier="private"/>
        </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" wrap="struct"/>
  <value-type name="QLineF" wrap="struct">
        <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()const">
        <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"/>
            <rename to="setBuffer_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="error()const">
            <rename to="lastError"/>
        </modify-function>
        <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">
	<inject-code class="native">

#ifdef CPP_SHARED
QTD_EXPORT_VAR(qtd_delete_d_qobject);

extern "C" DLL_PUBLIC void qtd_QObjectEntity_initCallBacks(pfunc_abstr del_d_qobj)
{
	QTD_EXPORT_VAR_SET(qtd_delete_d_qobject, del_d_qobj);
}
#endif


extern "C" DLL_PUBLIC void* qtd_get_d_qobject(void *nativeId)
{
    QtD_QObjectEntity *entity = QtD_QObjectEntity::getQObjectEntity((QObject*)nativeId);
    return entity ? entity-&gt;dId : NULL;
}

extern "C" DLL_PUBLIC void qtd_delete_qobject(void *nativeId)
{    
    delete (QObject*)nativeId;    
}

extern "C" DLL_PUBLIC void qtd_create_qobject_entity(void* nativeId, void *dId)
{
	new QtD_QObjectEntity((QObject*)nativeId, dId);
}

extern "C" DLL_PUBLIC void* qtd_QObject_metaObject(void* nativeId)
{
    return (void*)((QObject*)nativeId)->metaObject();
}

extern "C" DLL_PUBLIC void qtd_connect(void* nativeId, char* signal, int id, bool dynamicEntity)
{   
    QObject *sender = (QObject*)nativeId;
    QObject *receiver = dynamicEntity ? dynamic_cast&lt;QObject*&gt;(QtD_QObjectEntity::getQObjectEntity(sender)) : sender;
    const QMetaObject *mo = sender->metaObject();
    int nativeSigId = mo-&gt;indexOfSignal(signal);
    QMetaObject::connect(sender, nativeSigId, receiver, receiver-&gt;metaObject()-&gt;methodCount() + id);
}

extern "C" DLL_PUBLIC void qtd_disconnect(void* nativeId, char* signal, int id, bool dynamicEntity)
{
    QObject *sender = (QObject*)nativeId;
    QObject *receiver = dynamicEntity ? dynamic_cast&lt;QObject*&gt;(QtD_QObjectEntity::getQObjectEntity(sender)) : sender;
    const QMetaObject *mo = sender->metaObject();    
    int nativeSigId = mo-&gt;indexOfSignal(signal);
    QMetaObject::disconnect(sender, nativeSigId, receiver, receiver-&gt;metaObject()-&gt;methodCount() + id);
}

 	</inject-code>

	<inject-code class="java-free">
extern(C) void* qtd_get_d_qobject(void* nativeId);
extern(C) void qtd_delete_qobject(void* nativeId);
extern(C) void* qtd_create_qobject_entity(void* nativeId, void* dId);
extern(C) void* qtd_QObject_metaObject(void* nativeId);
extern(C) void qtd_connect(void *nativeId, cstringz signal, int id, bool dynamicEntity);
extern(C) void qtd_disconnect(void *nativeId, cstringz signal, int id, bool dynamicEntity);

extern(C) void qtd_delete_d_qobject(void* dId)
{
    auto obj = cast(QObject)dId;
	
	if (!(obj.__flags &amp; QtdObjectFlags.dOwnership))
	{
		// Avoid deleting native object twice
		obj.__setFlags(QtdObjectFlags.nativeOwnership, true);
		delete obj;
	}
}
	</inject-code>

    <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="scope() const">
        <rename to="scope_"/>
    </modify-function>
    <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="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&lt;&lt;(const QString&amp;)">
          <rename to="writeString"/>
          <modify-argument index="0" replace-value="this"/>
      </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>