Mercurial > projects > qtd
view generator/typesystem_core-java.xml @ 120:2c9ef955a171
add desktop examples
author | mandel |
---|---|
date | Fri, 05 Jun 2009 11:52:21 +0000 |
parents | e78566595089 |
children | 7664de4a55e5 |
line wrap: on
line source
<?xml version="1.0"?> <typesystem package="qt.core" default-superclass="QtDObject"> <inject-code> qt.Utilities.loadQtLibrary("QtCore"); </inject-code> <template name="core.return_string_instead_of_char*"> public final String %FUNCTION_NAME() { QNativePointer np = %FUNCTION_NAME_private(); String returned = ""; int i=0; while (np.byteAt(i) != 0) returned += (char) np.byteAt(i++); return returned; } </template> <template name="core.call_with_string_instead_of_char*"> public final void %FUNCTION_NAME(String %ARG_NAME) { %FUNCTION_NAME(QNativePointer.createCharPointer(%ARG_NAME)); } </template> <template name="core.private_function_return_self"> public final %RETURN_TYPE %FUNCTION_NAME(%ARGUMENTS) { %FUNCTION_NAME_private(%ARGUMENT_NAMES); return this; } </template> <template name="core.unary_other_type"> <insert-template name="core.private_function_return_self"> <replace from="%RETURN_TYPE" to="%OUT_TYPE"/> <replace from="%ARGUMENTS" to="%IN_TYPE other"/> <replace from="%ARGUMENT_NAMES" to="other"/> </insert-template> </template> <template name="core.unary_self_type"> <insert-template name="core.unary_other_type"> <replace from="%IN_TYPE" to="%TYPE"/> <replace from="%OUT_TYPE" to="%TYPE"/> </insert-template> </template> <template name="core.operator_assign_self_type"> <insert-template name="core.unary_self_type"> <replace from="%FUNCTION_NAME" to="operator_assign"/> </insert-template> </template> <template name="core.operator_assign_other_type"> <insert-template name="core.unary_other_type"> <replace from="%FUNCTION_NAME" to="operator_assign"/> </insert-template> </template> <template name="core.call_through_with_byte[]_instead_of_char*_and_int"> public final int %FUNCTION_NAME(byte data[]) { QNativePointer np = new QNativePointer(QNativePointer.Type.Byte, data.length); %COPY_IN int returned = (int) %FUNCTION_NAME(np, data.length); %COPY_OUT return returned; } </template> <template name="core.read_with_byte[]_instead_of_char*_and_int"> <insert-template name="core.call_through_with_byte[]_instead_of_char*_and_int"> <replace from="%COPY_IN" to=""/> <replace from="%COPY_OUT" to="for (int i=0; i<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<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<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->New%JAVATYPEArray((int) %len); __jni_env->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 > 0) __jni_env->Get%JAVATYPEArrayRegion(__array, 0, %len, __ptr); </template> <template name="core.get_array_length"> int %out = __jni_env->GetArrayLength((jarray) %ARRAY); </template> <template name="core.cleanup_convert_primitive_array_from_java"> __jni_env->Release%JAVATYPEArrayElements((%JNITYPEArray) %1, (%JNITYPE *) __ptr, 0); </template> <template name="core.convert_primitive_array_from_java"> %CTYPE *%out = (%CTYPE *) __jni_env->Get%JAVATYPEArrayElements((%JNITYPEArray) %in, 0); %CTYPE *__ptr = %out; </template> <primitive-type name="bool" java-name="bool" jni-name="jboolean"/> <primitive-type name="double" jni-name="jdouble"/> <primitive-type name="float" jni-name="jfloat"/> <primitive-type name="__int64" java-name="long" preferred-conversion="no" jni-name="jlong"/> <primitive-type name="unsigned __int64" java-name="long" preferred-conversion="no" jni-name="jlong"/> <primitive-type name="unsigned long long" java-name="ulong" preferred-conversion="no" jni-name="jlong"/> <primitive-type name="long long" java-name="long" preferred-conversion="no" jni-name="jlong"/> <primitive-type name="quintptr" preferred-conversion="no" java-name="ulong" jni-name="jlong" /> <primitive-type name="short" preferred-conversion="no" java-name="short" jni-name="jchar"/> <primitive-type name="short" preferred-java-type="no" java-name="short" jni-name="jshort" /> <primitive-type name="signed short" java-name="short" preferred-conversion="no" jni-name="jchar"/> <primitive-type name="unsigned short" java-name="ushort" preferred-conversion="no" jni-name="jchar"/> <primitive-type name="char" java-name="char" jni-name="jbyte"/> <primitive-type name="signed char" java-name="char" 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" preferred-conversion="no" jni-name="jint"/> <primitive-type name="ulong" java-name="uint" 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"/> <value-type name="QDate"> <inject-code> <import-file name="typesystem_core-java.java" quote-after-line="class QDate___" quote-before-line="}// class"/> </inject-code> <extra-includes> <include file-name="qt.QNativePointer" location="java"/> </extra-includes> <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="QDir"> <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> <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> <value-type name="QPoint"> <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"> <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="QSize"> <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"> <inject-code> <insert-template name="core.multiply-devide-add-subtract"> <replace from="%TYPE" to="QSizeF"/> </insert-template> </inject-code> </value-type> <value-type name="QLocale"> <extra-includes> <include file-name="qt.QNativePointer" location="java"/> </extra-includes> <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> <object-type name="QAbstractItemModel"> <modify-function signature="parent()const" remove="all"/> <extra-includes> <include file-name="QStringList" location="global"/> <include file-name="QSize" location="global"/> </extra-includes> <modify-function signature="match(QModelIndex,int,QVariant,int,QFlags<Qt::MatchFlag>)const"> <modify-argument index="5"> <replace-default-expression with="Qt.MatchFlag.MatchStartsWith, Qt.MatchFlag.MatchWrap"/> </modify-argument> </modify-function> <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->index(row, col, QModelIndex()); return __qt_this->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->index(row, col, QModelIndex()); return qtjambi_from_qvariant(__jni_env, __qt_this->data(index, role)); } </inject-code> <modify-function signature="mimeData(QList<QModelIndex>)const"> <modify-argument index="0"> <define-ownership class="shell" owner="c++"/> </modify-argument> </modify-function> </object-type> <value-type name="QByteArray"> <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> <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> <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> <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> <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> <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"/> <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> <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> <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> <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> <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> <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> <object-type name="QFile"> <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> <extra-includes> <include file-name="qt.QNativePointer" location="java"/> </extra-includes> <modify-function signature="putChar(char)" rename="putByte"/> <modify-function signature="ungetChar(char)" rename="ungetByte"/> <modify-function signature="getChar(char*)"> <access modifier="private"/> <rename to="getByte"/> </modify-function> <modify-function signature="peek(char*,long long)"> <access modifier="private"/> </modify-function> <inject-code> <insert-template name="core.read_with_byte[]_instead_of_char*_and_int"> <replace from="%FUNCTION_NAME" to="peek"/> </insert-template> </inject-code> <modify-function signature="read(char*,long long)"> <access modifier="private"/> </modify-function> <inject-code> <insert-template name="core.read_with_byte[]_instead_of_char*_and_int"> <replace from="%FUNCTION_NAME" to="read"/> </insert-template> </inject-code> <modify-function signature="readLine(char*,long long)"> <access modifier="private"/> </modify-function> <inject-code> <insert-template name="core.read_with_byte[]_instead_of_char*_and_int"> <replace from="%FUNCTION_NAME" to="readLine"/> </insert-template> </inject-code> <modify-function signature="write(const char*,long long)"> <access modifier="private"/> </modify-function> <inject-code> <insert-template name="core.write_with_byte[]_instead_of_char*_and_int"> <replace from="%FUNCTION_NAME" to="write"/> </insert-template> </inject-code> <template name="core.iodevice_convert_char*_to_byte[]"> <insert-template name="core.convert_primitive_array_to_java"> <replace from="%JNITYPE" to="jbyte"/> <replace from="%JAVATYPE" to="Byte"/> </insert-template> </template> <template name="core.iodevice_cleanup_to_java"> <insert-template name="core.cleanup_convert_primitive_array_to_java"> <replace from="%JNITYPE" to="jbyte"/> <replace from="%JAVATYPE" to="Byte"/> </insert-template> </template> <template name="core.iodevice_cleanup"> jint %out = (jint) %in; <insert-template name="core.cleanup_convert_primitive_array_from_java"> <replace from="%JAVATYPE" to="Byte"/> <replace from="%JNITYPE" to="jbyte"/> </insert-template> </template> <template name="core.iodevice_convert_byte[]_to_char*"> <insert-template name="core.convert_primitive_array_from_java"> <replace from="%CTYPE" to="char"/> <replace from="%JAVATYPE" to="Byte"/> <replace from="%JNITYPE" to="jbyte"/> </insert-template> </template> <modify-function signature="readData(char*,long long)"> <modify-argument index="0"> <replace-type modified-type="int"/> <conversion-rule class="native"> <insert-template name="core.iodevice_cleanup"/> </conversion-rule> <conversion-rule class="shell"> qint64 %out = %in; <insert-template name="core.iodevice_cleanup_to_java"> <replace from="%len" to="(int) %in"/> </insert-template> </conversion-rule> </modify-argument> <modify-argument index="1"> <replace-type modified-type="byte[]"/> <conversion-rule class="shell"> <insert-template name="core.iodevice_convert_char*_to_byte[]"> <replace from="%len" to="%2"/> </insert-template> </conversion-rule> <conversion-rule class="native"> <insert-template name="core.iodevice_convert_byte[]_to_char*"/> </conversion-rule> </modify-argument> <modify-argument index="2"> <remove-argument/> <conversion-rule class="shell"> // nothing </conversion-rule> <conversion-rule class="native"> <insert-template name="core.get_array_length"> <replace from="%ARRAY" to="%1"/> </insert-template> </conversion-rule> </modify-argument> </modify-function> <modify-function signature="writeData(const char*,long long)"> <modify-argument index="1"> <replace-type modified-type="byte[]"/> <conversion-rule class="shell"> <insert-template name="core.iodevice_convert_char*_to_byte[]"> <replace from="%len" to="%2"/> </insert-template> </conversion-rule> <conversion-rule class="native"> <insert-template name="core.iodevice_convert_byte[]_to_char*"/> </conversion-rule> </modify-argument> <modify-argument index="2"> <remove-argument/> <conversion-rule class="shell"> // nothing </conversion-rule> <conversion-rule class="native"> <insert-template name="core.get_array_length"> <replace from="%ARRAY" to="%1"/> </insert-template> </conversion-rule> </modify-argument> <modify-argument index="0"> <replace-type modified-type="int"/> <conversion-rule class="native"> <insert-template name="core.iodevice_cleanup"/> </conversion-rule> </modify-argument> </modify-function> <modify-function signature="readLineData(char*,long long)"> <modify-argument index="1"> <replace-type modified-type="byte[]"/> <conversion-rule class="shell"> <insert-template name="core.iodevice_convert_char*_to_byte[]"> <replace from="%len" to="%2"/> </insert-template> </conversion-rule> <conversion-rule class="native"> <insert-template name="core.iodevice_convert_byte[]_to_char*"/> </conversion-rule> </modify-argument> <modify-argument index="2"> <remove-argument/> <conversion-rule class="shell"> // nothing </conversion-rule> <conversion-rule class="native"> <insert-template name="core.get_array_length"> <replace from="%ARRAY" to="%1"/> </insert-template> </conversion-rule> </modify-argument> <modify-argument index="0"> <replace-type modified-type="int"/> <conversion-rule class="native"> <insert-template name="core.iodevice_cleanup"/> </conversion-rule> <conversion-rule class="shell"> qint64 %out = %in; <insert-template name="core.iodevice_cleanup_to_java"> <replace from="%len" to="(int) %in"/> </insert-template> </conversion-rule> </modify-argument> </modify-function> </object-type> <value-type name="QLineF"> <inject-code> <import-file name="typesystem_core-java.java" quote-after-line="class QLineF___" quote-before-line="}// class"/> </inject-code> <modify-function signature="intersect(QLineF,QPointF*)const "> <access modifier="private"/> </modify-function> </value-type> <object-type name="QCryptographicHash"> <inject-code> <import-file name="typesystem_core-java.java" quote-after-line="class QCryptographicHash___" quote-before-line="}// class"/> </inject-code> <modify-function signature="addData(const char*,int)"> <access modifier="private"/> </modify-function> </object-type> <object-type name="QTextCodec"> <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 * -> 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 * -> 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, &%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="QTranslator"> <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->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->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->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="QBuffer"> <inject-code> <import-file name="typesystem_core-java.java" quote-after-line="class QBuffer___" quote-before-line="}// class"/> </inject-code> <extra-includes> <include file-name="qt.QNativePointer" location="java"/> </extra-includes> <modify-function signature="QBuffer(QByteArray*,QObject*)"> <access modifier="private"/> <modify-argument index="2"> <remove-default-expression /> </modify-argument> </modify-function> <modify-function signature="setBuffer(QByteArray*)"> <access modifier="private"/> </modify-function> <modify-function signature="setData(const char*,int)"> <access modifier="private"/> </modify-function> </object-type> <object-type name="QTimer"> <inject-code class="java"> <import-file name="typesystem_core-java.java" quote-after-line="class QTimer___" quote-before-line="}// class"/> </inject-code> </object-type> <object-type name="QProcess"> <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>,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"> <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="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"> <modify-function signature="QCoreApplication(int &, 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="QDataStream"> <extra-includes> <include file-name="qt.QNativePointer" location="java"/> </extra-includes> <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<<(bool)"> <rename to="writeBoolean"/> <modify-argument index="0" replace-value="this"/> </modify-function> <modify-function signature="operator<<(signed char)"> <rename to="writeByte"/> <modify-argument index="0" replace-value="this"/> </modify-function> <modify-function signature="operator<<(int)"> <rename to="writeInt"/> <modify-argument index="0" replace-value="this"/> </modify-function> <modify-function signature="operator<<(long long)"> <rename to="writeLong"/> <modify-argument index="0" replace-value="this"/> </modify-function> <modify-function signature="operator<<(float)"> <rename to="writeFloat"/> <modify-argument index="0" replace-value="this"/> </modify-function> <modify-function signature="operator<<(double)"> <rename to="writeDouble"/> <modify-argument index="0" replace-value="this"/> </modify-function> <modify-function signature="operator<<(short)"> <rename to="writeShort_char"/> <access modifier="private"/> <modify-argument index="0" replace-value="this"/> </modify-function> <modify-function signature="operator>>(int&)"> <rename to="operator_shift_right_int"/> <modify-argument index="0" replace-value="this"/> <access modifier="private"/> </modify-function> <modify-function signature="operator>>(bool&)"> <rename to="operator_shift_right_boolean"/> <modify-argument index="0" replace-value="this"/> <access modifier="private"/> </modify-function> <modify-function signature="operator>>(short&)"> <rename to="operator_shift_right_short"/> <modify-argument index="0" replace-value="this"/> <access modifier="private"/> </modify-function> <modify-function signature="operator>>(long long&)"> <rename to="operator_shift_right_long"/> <modify-argument index="0" replace-value="this"/> <access modifier="private"/> </modify-function> <modify-function signature="operator>>(signed char&)"> <rename to="operator_shift_right_byte"/> <modify-argument index="0" replace-value="this"/> <access modifier="private"/> </modify-function> <modify-function signature="operator>>(unsigned short&)"> <rename to="operator_shift_right_char"/> <modify-argument index="0" replace-value="this"/> <access modifier="private"/> </modify-function> <modify-function signature="operator>>(float&)"> <rename to="operator_shift_right_float"/> <modify-argument index="0" replace-value="this"/> <access modifier="private"/> </modify-function> <modify-function signature="operator>>(double&)"> <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" JNIEXPORT jstring JNICALL QTJAMBI_FUNCTION_PREFIX(Java_com_trolltech_qt_core_QDataStream_readString_1private) (JNIEnv *env, jobject, jlong stream) { 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>>(*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<<(*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<QIODevice::OpenModeFlag>)"> <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->GetByteArrayElements(array, 0); QDataStream *qtStream = (QDataStream *) qtjambi_from_jlong(stream); int count = qtStream->%QT_FUNCTION_NAME%(rawBuffer, length); env->ReleaseByteArrayElements(array, (jbyte *) rawBuffer, 0); QTJAMBI_DEBUG_TRACE("(native) -> 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="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::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"> <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="QTextStream"> <extra-includes> <include file-name="qt.QNativePointer" location="java"/> </extra-includes> <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<<(QBool)"> <rename to="writeBoolean"/> <modify-argument index="0" replace-value="this"/> </modify-function> <modify-function signature="operator<<(char)"> <modify-argument index="0" replace-value="this"/> <rename to="writeByte"/> </modify-function> <modify-function signature="operator<<(signed int)"> <rename to="writeInt"/> <modify-argument index="0" replace-value="this"/> </modify-function> <modify-function signature="operator<<(long long)"> <rename to="writeLong"/> <modify-argument index="0" replace-value="this"/> </modify-function> <modify-function signature="operator<<(float)"> <rename to="writeFloat"/> <modify-argument index="0" replace-value="this"/> </modify-function> <modify-function signature="operator<<(double)"> <rename to="writeDouble"/> <modify-argument index="0" replace-value="this"/> </modify-function> <modify-function signature="operator<<(signed short)"> <rename to="writeShort_char"/> <modify-argument index="0" replace-value="this"/> <access modifier="private"/> </modify-function> <modify-function signature="operator>>(char&)"> <access modifier="private"/> <modify-argument index="0" replace-value="this"/> <rename to="operator_shift_right_byte"/> </modify-function> <modify-function signature="operator>>(signed short&)"> <access modifier="private"/> <modify-argument index="0" replace-value="this"/> <rename to="operator_shift_right_short"/> </modify-function> <modify-function signature="operator>>(signed int&)"> <access modifier="private"/> <modify-argument index="0" replace-value="this"/> <rename to="operator_shift_right_int"/> </modify-function> <modify-function signature="operator>>(long long&)"> <access modifier="private"/> <modify-argument index="0" replace-value="this"/> <rename to="operator_shift_right_long"/> </modify-function> <modify-function signature="operator>>(float&)"> <access modifier="private"/> <modify-argument index="0" replace-value="this"/> <rename to="operator_shift_right_float"/> </modify-function> <modify-function signature="operator>>(double&)"> <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) >> str; jstring s = qtjambi_from_qstring(env, str); QTJAMBI_DEBUG_TRACE("(native) -> 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) << qstr; QTJAMBI_DEBUG_TRACE("(native) -> leaving: QTextStream::readString()"); } </inject-code> </object-type> <value-type name="QBitArray"> <inject-code> <import-file name="typesystem_core-java.java" quote-after-line="class QBitArray___" quote-before-line="}// class"/> </inject-code> </value-type> <template name="convert_qtjambifuture_to_native"> QtJambiFuture %out = %in != 0 ? (const QtJambiFuture& ) *(QtJambiFuture *)qtjambi_from_jlong(%in) : QtJambiFuture(); </template> <template name="convert_futurevoid_to_native"> QtJambiVoidFuture %out = %in != 0 ? (const QtJambiVoidFuture& ) *(QtJambiVoidFuture *)qtjambi_from_jlong(%in) : QtJambiVoidFuture(); </template> <value-type name="QFuture"> <modify-function signature="operator==(const QFuture &)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="QtJambiFuture"> <modify-function signature="QFuture(const QFuture &)"> <modify-argument index="1"> <replace-type modified-type="qt.core.QFuture<T>" /> <conversion-rule class="native"> <insert-template name="convert_qtjambifuture_to_native" /> </conversion-rule> </modify-argument> </modify-function> </value-type> <value-type name="QtJambiVoidFuture"> <modify-function signature="QFuture(const QFuture &)"> <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> <object-type name="QFutureWatcherBase"> <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 &futureInterface() const { return dummyBase; } virtual QFutureInterfaceBase &futureInterface() { return dummyBase; } </inject-code> </object-type> <object-type name="QFutureWatcher"> <modify-function signature="setFuture(const QFuture &)"> <modify-argument index="1"> <replace-type modified-type="qt.core.QFuture<T>" /> <conversion-rule class="native"> <insert-template name="convert_qtjambifuture_to_native" /> </conversion-rule> </modify-argument> </modify-function> </object-type> <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->future(); jobject __java_return_value = qtjambi_from_object(__jni_env, &__qt_return_value, "QFuture", "com/trolltech/qt/core/", true); QTJAMBI_DEBUG_TRACE("(native) -> 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<QtJambiFuture> __qt_return_value = __qt_this->futures(); jobject __java_return_value = qtjambi_arraylist_new(__jni_env, __qt_return_value.size()); QList<QtJambiFuture> ::const_iterator __qt_return_value_end_it = __qt_return_value.constEnd(); for (QList<QtJambiFuture> ::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, &__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) -> leaving: QFutureSynchronizer::futures() const"); return __java_return_value; } </template> <object-type name="QtJambiFutureWatcher"> <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="QtJambiVoidFutureWatcher"> <modify-function signature="setFuture(const QFuture &)"> <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=""QFuture"" to=""QFutureVoid"" /> </insert-template> </inject-code> </object-type> <object-type name="QtJambiFutureSynchronizer"> <modify-function signature="QFutureSynchronizer(const QFuture &)"> <modify-argument index="1"> <replace-type modified-type="qt.core.QFuture<T>" /> <conversion-rule class="native"> <insert-template name="convert_qtjambifuture_to_native" /> </conversion-rule> </modify-argument> </modify-function> <modify-function signature="addFuture(const QFuture &)"> <modify-argument index="1"> <replace-type modified-type="qt.core.QFuture<T>" /> <conversion-rule class="native"> <insert-template name="convert_qtjambifuture_to_native" /> </conversion-rule> </modify-argument> </modify-function> <modify-function signature="setFuture(const QFuture &)"> <modify-argument index="1"> <replace-type modified-type="qt.core.QFuture<T>" /> <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"> <modify-function signature="QFutureSynchronizer(const QFuture &)"> <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 &)"> <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 &)"> <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=""QFuture"" to=""QFutureVoid"" /> </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="QtJambiFutureIterator"> <modify-function signature="QFutureIterator(const QFuture &)"> <modify-argument index="1"> <replace-type modified-type="qt.core.QFuture<T>" /> <conversion-rule class="native"> <insert-template name="convert_qtjambifuture_to_native" /> </conversion-rule> </modify-argument> </modify-function> </object-type> <namespace-type name="QtConcurrent"> <inject-code class="java"> <import-file name="typesystem_core-java.java" quote-after-line="class QtConcurrent___" quote-before-line="}// class"/> </inject-code> </namespace-type> </typesystem>