view generator/typesystem_core.xml @ 355:08c1ca7975ab

obviated redundant virtual dispatch callbacks
author Max Samukha <maxter@spambox.com>
date Tue, 25 May 2010 17:23:11 +0300
parents 18bd68f586c6
children 12cec2d14e1c
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="qint64" 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="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,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">

extern "C" DLL_PUBLIC void* qtd_get_d_qobject(void *nativeId)
{
    return QObjectEntity::getDId((QObject*)nativeId);
}

extern "C" DLL_PUBLIC void qtd_create_qobject_entity(void* nativeId, void *dId)
{
	new QObjectLink((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;(QObject::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_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);

	</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="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;(qint64)">
          <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;(qint64&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>