aboutsummaryrefslogtreecommitdiffstats
path: root/src/androidextras/jni/qandroidjniobject.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/androidextras/jni/qandroidjniobject.cpp')
-rw-r--r--src/androidextras/jni/qandroidjniobject.cpp2507
1 files changed, 0 insertions, 2507 deletions
diff --git a/src/androidextras/jni/qandroidjniobject.cpp b/src/androidextras/jni/qandroidjniobject.cpp
deleted file mode 100644
index 8154a30..0000000
--- a/src/androidextras/jni/qandroidjniobject.cpp
+++ /dev/null
@@ -1,2507 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qandroidjniobject.h"
-#include <QtCore/private/qjni_p.h>
-#include <QtCore/qhash.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \class QAndroidJniObject
- \inmodule QtAndroidExtras
- \brief Provides APIs to call Java code from C++.
- \since 5.2
-
- \sa QAndroidJniEnvironment
-
- \section1 General Notes
-
- \list
- \li Class names needs to contain the fully-qualified class name, for example: \b"java/lang/String".
- \li Method signatures are written as \b"(Arguments)ReturnType"
- \li All object types are returned as a QAndroidJniObject.
- \endlist
-
- \section1 Method Signatures
-
- For functions that take no arguments, QAndroidJniObject provides convenience functions that will use
- the correct signature based on the provided template type. For example:
-
- \code
- jint x = QAndroidJniObject::callMethod<jint>("getSize");
- QAndroidJniObject::callMethod<void>("touch");
- \endcode
-
- In other cases you will need to supply the signature yourself, and it is important that the
- signature matches the function you want to call. The signature structure is \b \(A\)R, where \b A
- is the type of the argument\(s\) and \b R is the return type. Array types in the signature must
- have the \b\[ suffix and the fully-qualified type names must have the \b L prefix and \b ; suffix.
-
- The example below demonstrates how to call two different static functions.
- \code
- // Java class
- package org.qtproject.qt5;
- class TestClass
- {
- static String fromNumber(int x) { ... }
- static String[] stringArray(String s1, String s2) { ... }
- }
- \endcode
-
- The signature for the first function is \b"\(I\)Ljava/lang/String;"
-
- \code
- // C++ code
- QAndroidJniObject stringNumber = QAndroidJniObject::callStaticObjectMethod("org/qtproject/qt5/TestClass",
- "fromNumber"
- "(I)Ljava/lang/String;",
- 10);
- \endcode
-
- and the signature for the second function is \b"\(Ljava/lang/String;Ljava/lang/String;\)\[Ljava/lang/String;"
-
- \code
- // C++ code
- QAndroidJniObject string1 = QAndroidJniObject::fromString("String1");
- QAndroidJniObject string2 = QAndroidJniObject::fromString("String2");
- QAndroidJniObject stringArray = QAndroidJniObject::callStaticObjectMethod("org/qtproject/qt5/TestClass",
- "stringArray"
- "(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;"
- string1.object<jstring>(),
- string2.object<jstring>());
- \endcode
-
-
- \section1 Handling Java Exception
-
- When calling Java functions that might throw an exception, it is important that you check, handle
- and clear out the exception before continuing.
-
- \note It is unsafe to make a JNI call when there are exceptions pending.
-
- \snippet code/src_androidextras_qandroidjniobject.cpp Check for exceptions
-
- \section1 Java Native Methods
-
- Java native methods makes it possible to call native code from Java, this is done by creating a
- function declaration in Java and prefixing it with the \b native keyword.
- Before a native function can be called from Java, you need to map the Java native function to a
- native function in your code. Mapping functions can be done by calling the RegisterNatives() function
- through the \l{QAndroidJniEnvironment}{JNI environment pointer}.
-
- The example below demonstrates how this could be done.
-
- Java implementation:
- \snippet code/src_androidextras_qandroidjniobject.cpp Java native methods
-
- C++ Implementation:
- \snippet code/src_androidextras_qandroidjniobject.cpp Registering native methods
-
- \section1 The Lifetime of a Java Object
-
- Most \l{Object types}{objects} received from Java will be local references and will only stay valid
- in the scope you received them. After that, the object becomes eligible for garbage collection. If you
- want to keep a Java object alive you need to either create a new global reference to the object and
- release it when you are done, or construct a new QAndroidJniObject and let it manage the lifetime of the Java object.
- \sa object()
-
- \note The QAndroidJniObject does only manage its own references, if you construct a QAndroidJniObject from a
- global or local reference that reference will not be released by the QAndroidJniObject.
-
- \section1 JNI Types
-
- \section2 Object Types
- \table
- \header
- \li Type
- \li Signature
- \row
- \li jobject
- \li Ljava/lang/Object;
- \row
- \li jclass
- \li Ljava/lang/Class;
- \row
- \li jstring
- \li Ljava/lang/String;
- \row
- \li jthrowable
- \li Ljava/lang/Throwable;
- \row
- \li jobjectArray
- \li [Ljava/lang/Object;
- \row
- \li jarray
- \li [\e<type>
- \row
- \li jbooleanArray
- \li [Z
- \row
- \li jbyteArray
- \li [B
- \row
- \li jcharArray
- \li [C
- \row
- \li jshortArray
- \li [S
- \row
- \li jintArray
- \li [I
- \row
- \li jlongArray
- \li [J
- \row
- \li jfloatArray
- \li [F
- \row
- \li jdoubleArray
- \li [D
- \endtable
-
-
- \section2 Primitive Types
- \table
- \header
- \li Type
- \li Signature
- \row
- \li jboolean
- \li Z
- \row
- \li jbyte
- \li B
- \row
- \li jchar
- \li C
- \row
- \li jshort
- \li S
- \row
- \li jint
- \li I
- \row
- \li jlong
- \li J
- \row
- \li jfloat
- \li F
- \row
- \li jdouble
- \li D
- \endtable
-
- \section3 Other
- \table
- \header
- \li Type
- \li Signature
- \row
- \li void
- \li V
- \row
- \li \e{Custom type}
- \li L\e<fully-qualified-name>;
- \endtable
-
- For more information about JNI see: \l http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/jniTOC.html
-*/
-
-/*!
- \fn QAndroidJniObject::QAndroidJniObject()
-
- Constructs an invalid QAndroidJniObject.
-
- \sa isValid()
-*/
-
-/*!
- \fn QAndroidJniObject::QAndroidJniObject(const char *className)
-
- Constructs a new QAndroidJniObject by calling the default constructor of \a className.
-
- \code
-
- ...
- QAndroidJniObject myJavaString("java/lang/String");
- ...
-
- \endcode
-*/
-
-/*!
- \fn QAndroidJniObject::QAndroidJniObject(const char *className, const char *signature, ...)
-
- Constructs a new QAndroidJniObject by calling the constructor of \a className with \a signature
- and arguments.
-
- \code
-
- ...
- jstring myJStringArg = ...;
- QAndroidJniObject myNewJavaString("java/lang/String", "(Ljava/lang/String;)V", myJStringArg);
- ...
-
- \endcode
-*/
-
-/*!
- \fn QAndroidJniObject::QAndroidJniObject(jclass clazz)
-
- Constructs a new QAndroidJniObject by calling the default constructor of \a clazz.
-
- Note: The QAndroidJniObject will create a new reference to the class \a clazz
- and releases it again when it is destroyed. References to the class created
- outside the QAndroidJniObject needs to be managed by the caller.
-
-*/
-
-/*!
- \fn QAndroidJniObject::QAndroidJniObject(jclass clazz, const char *signature, ...)
-
- Constructs a new QAndroidJniObject from \a clazz by calling the constructor with \a signature
- and arguments.
-
- \code
- jclass myClazz = ...;
- QAndroidJniObject::QAndroidJniObject(myClazz, "(I)V", 3);
- \endcode
-*/
-
-/*!
- \fn QAndroidJniObject::QAndroidJniObject(jobject object)
-
- Constructs a new QAndroidJniObject around the Java object \a object.
-
- Note: The QAndroidJniObject will hold a reference to the Java object \a object
- and release it when destroyed. Any references to the Java object \a object
- outside QAndroidJniObject needs to be managed by the caller.
-
- \sa fromLocalRef()
-*/
-
-/*!
- Destroys the QAndroidJniObject and releases any references held by the QAndroidJniObject.
-*/
-QAndroidJniObject::~QAndroidJniObject()
-{
- // must be empty until ### Qt 6
-}
-
-/*!
- \fn template <typename T> T QAndroidJniObject::callMethod(const char *methodName, const char *sig, ...) const
-
- Calls the method \a methodName with a signature \a sig and returns the value.
-
- \code
- QAndroidJniObject myJavaString = ...;
- jint index = myJavaString.callMethod<jint>("indexOf", "(I)I", 0x0051);
- \endcode
-
-*/
-
-/*!
- \fn template <typename T> T QAndroidJniObject::callMethod(const char *methodName) const
-
- Calls the method \a methodName and returns the value.
-
- \code
- QAndroidJniObject myJavaString = ...;
- jint size = myJavaString.callMethod<jint>("length");
- \endcode
-*/
-
-/*!
- \fn QAndroidJniObject QAndroidJniObject::callObjectMethod(const char *methodName) const
-
- Calls the Java objects method \a methodName and returns a new QAndroidJniObject for
- the returned Java object.
-
- \code
- ...
- QAndroidJniObject myJavaString1 = ...;
- QAndroidJniObject myJavaString2 = myJavaString1.callObjectMethod<jstring>("toString");
- ...
- \endcode
-*/
-
-/*!
- \fn QAndroidJniObject QAndroidJniObject::callObjectMethod(const char *methodName, const char *signature, ...) const
-
- Calls the Java object's method \a methodName with the signature \a signature and arguments
-
- \code
- QAndroidJniObject myJavaString; ==> "Hello, Java"
- QAndroidJniObject mySubstring = myJavaString.callObjectMethod("substring", "(II)Ljava/lang/String;", 7, 10);
- \endcode
-*/
-
-/*!
- \fn template <typename T> T QAndroidJniObject::callStaticMethod(jclass clazz, const char *methodName)
-
- Calls the static method \a methodName on \a clazz and returns the value.
-
- \code
- ...
- jclass javaMathClass = ...; // ("java/lang/Math")
- jdouble randNr = QAndroidJniObject::callStaticMethod<jdouble>(javaMathClass, "random");
- ...
- \endcode
-*/
-
-/*!
- \fn template <typename T> T QAndroidJniObject::callStaticMethod(const char *className, const char *methodName)
-
- Calls the static method \a methodName on class \a className and returns the value.
-
- \code
- jint value = QAndroidJniObject::callStaticMethod<jint>("MyClass", "staticMethod");
- \endcode
-*/
-
-/*!
- \fn template <typename T> T QAndroidJniObject::callStaticMethod(const char *className, const char *methodName, const char *signature, ...)
-
- Calls the static method with \a methodName with \a signature on class \a className with optional arguments.
-
- \code
- ...
- jint a = 2;
- jint b = 4;
- jint max = QAndroidJniObject::callStaticMethod<jint>("java/lang/Math", "max", "(II)I", a, b);
- ...
- \endcode
-*/
-
-/*!
- \fn template <typename T> T QAndroidJniObject::callStaticMethod(jclass clazz, const char *methodName, const char *signature, ...)
-
- Calls the static method \a methodName with \a signature on \a clazz and returns the value.
-
- \code
- ...
- jclass javaMathClass = ...; // ("java/lang/Math")
- jint a = 2;
- jint b = 4;
- jint max = QAndroidJniObject::callStaticMethod<jint>(javaMathClass, "max", "(II)I", a, b);
- ...
- \endcode
-*/
-
-/*!
- \fn QAndroidJniObject QAndroidJniObject::callStaticObjectMethod(const char *className, const char *methodName)
-
- Calls the static method with \a methodName on the class \a className.
-
- \code
- QAndroidJniObject string = QAndroidJniObject::callStaticObjectMethod<jstring>("CustomClass", "getClassName");
- \endcode
-*/
-
-/*!
- \fn QAndroidJniObject QAndroidJniObject::callStaticObjectMethod(const char *className, const char *methodName, const char *signature, ...)
-
- Calls the static method with \a methodName and \a signature on the class \a className.
-
- \code
- QAndroidJniObject thread = QAndroidJniObject::callStaticObjectMethod("java/lang/Thread", "currentThread", "()Ljava/lang/Thread;");
- QAndroidJniObject string = QAndroidJniObject::callStaticObjectMethod("java/lang/String", "valueOf", "(I)Ljava/lang/String;", 10);
- \endcode
-*/
-
-/*!
- \fn QAndroidJniObject QAndroidJniObject::callStaticObjectMethod(jclass clazz, const char *methodName)
-
- Calls the static method with \a methodName on \a clazz.
-
-*/
-
-/*!
- \fn QAndroidJniObject QAndroidJniObject::callStaticObjectMethod(jclass clazz, const char *methodName, const char *signature, ...)
-
- Calls the static method with \a methodName and \a signature on class \a clazz.
-*/
-
-/*!
- \fn T QAndroidJniObject::getField(const char *fieldName) const
-
- Retrieves the value of the field \a fieldName.
-
- \code
- QAndroidJniObject volumeControl = ...;
- jint fieldValue = volumeControl.getField<jint>("MAX_VOLUME");
- \endcode
-*/
-
-/*!
- \fn QAndroidJniObject QAndroidJniObject::getObjectField(const char *fieldName) const
-
- Retrieves the object of field \a fieldName.
-
- \code
- QAndroidJniObject field = jniObject.getObjectField<jstring>("FIELD_NAME");
- \endcode
-*/
-
-/*!
- \fn QAndroidJniObject QAndroidJniObject::getObjectField(const char *fieldName, const char *signature) const
-
- Retrieves the object from the field with \a signature and \a fieldName.
-
- \note Since \b{Qt 5.3} this function can be used without a template type.
-
- \code
- QAndroidJniObject field = jniObject.getObjectField("FIELD_NAME", "Ljava/lang/String;");
- \endcode
-*/
-
-/*!
- \fn T QAndroidJniObject::getStaticField(const char *className, const char *fieldName)
-
- Retrieves the value from the static field \a fieldName on the class \a className.
-*/
-
-/*!
- \fn T QAndroidJniObject::getStaticField(jclass clazz, const char *fieldName)
-
- Retrieves the value from the static field \a fieldName on \a clazz.
-*/
-
-/*!
- \fn QAndroidJniObject QAndroidJniObject::getStaticObjectField(const char *className, const char *fieldName)
-
- Retrieves the object from the field \a fieldName on the class \a className.
-
- \code
- QAndroidJniObject jobj = QAndroidJniObject::getStaticObjectField<jstring>("class/with/Fields", "FIELD_NAME");
- \endcode
-*/
-
-/*!
- \fn QAndroidJniObject QAndroidJniObject::getStaticObjectField(const char *className, const char *fieldName, const char *signature)
- Retrieves the object from the field with \a signature and \a fieldName on class \a className.
-
- \note Since \b{Qt 5.3} this function can be used without a template type.
-
- \code
- QAndroidJniObject jobj = QAndroidJniObject::getStaticObjectField("class/with/Fields", "FIELD_NAME", "Ljava/lang/String;");
- \endcode
-*/
-
-/*!
- \fn QAndroidJniObject QAndroidJniObject::getStaticObjectField(jclass clazz, const char *fieldName)
-
- Retrieves the object from the field \a fieldName on \a clazz.
-
- \code
- QAndroidJniObject jobj = QAndroidJniObject::getStaticObjectField<jstring>(clazz, "FIELD_NAME");
- \endcode
-*/
-
-/*!
- \fn QAndroidJniObject QAndroidJniObject::getStaticObjectField(jclass clazz, const char *fieldName, const char *signature)
- Retrieves the object from the field with \a signature and \a fieldName on \a clazz.
-
- \note Since \b{Qt 5.3} this function can be used without a template type.
-
- \code
- QAndroidJniObject jobj = QAndroidJniObject::getStaticObjectField(clazz, "FIELD_NAME", "Ljava/lang/String;");
- \endcode
-*/
-
-/*!
- \fn template <typename T> void QAndroidJniObject::setField(const char *fieldName, T value)
-
- Sets the value of \a fieldName to \a value.
-
- \code
- ...
- QAndroidJniObject obj;
- obj.setField<jint>("AN_INT_FIELD", 10);
- jstring myString = ...
- obj.setField<jstring>("A_STRING_FIELD", myString);
- ...
- \endcode
-*/
-
-/*!
- \fn template <typename T> void QAndroidJniObject::setField(const char *fieldName, const char *signature, T value)
-
- Sets the value of \a fieldName with \a signature to \a value.
-
- \code
- QAndroidJniObject stringArray = ...;
- QAndroidJniObject obj = ...;
- obj.setField<jobjectArray>("KEY_VALUES", "([Ljava/lang/String;)V", stringArray.object<jobjectArray>())
- \endcode
-*/
-
-/*!
- \fn template <typename T> void QAndroidJniObject::setStaticField(const char *className, const char *fieldName, T value)
-
- Sets the value of the static field \a fieldName in class \a className to \a value.
-*/
-
-/*!
- \fn template <typename T> void QAndroidJniObject::setStaticField(const char *className, const char *fieldName, const char *signature, T value);
-
- Sets the static field with \a fieldName and \a signature to \a value on class \a className.
-*/
-
-/*!
- \fn template <typename T> void QAndroidJniObject::setStaticField(jclass clazz, const char *fieldName, T value)
-
- Sets the static field \a fieldName of the class \a clazz to \a value.
-*/
-
-/*!
- \fn template <typename T> void QAndroidJniObject::setStaticField(jclass clazz, const char *fieldName, const char *signature, T value);
-
- Sets the static field with \a fieldName and \a signature to \a value on class \a clazz.
-*/
-
-/*!
- \fn bool QAndroidJniObject::isClassAvailable(const char *className)
-
- Returns true if the Java class \a className is available.
-
- \code
- ...
- if (QAndroidJniObject::isClassAvailable("java/lang/String")) {
- ...
- }
- ...
- \endcode
-*/
-
-/*!
- \fn bool QAndroidJniObject::isValid() const
-
- Returns true if this instance holds a valid Java object.
-
- \code
- ...
- QAndroidJniObject qjniObject; ==> isValid() == false
- QAndroidJniObject qjniObject(0) ==> isValid() == false
- QAndroidJniObject qjniObject("could/not/find/Class") ==> isValid() == false
- ...
- \endcode
-*/
-
-/*!
- \fn template <typename T> T QAndroidJniObject::object() const
-
- Returns the object held by the QAndroidJniObject as type T.
-
- \code
- QAndroidJniObject string = QAndroidJniObject::fromString("Hello, JNI");
- jstring jstring = string.object<jstring>();
- \endcode
-
- \note The returned object is still owned by the QAndroidJniObject. If you want to keep the object valid
- you should create a new QAndroidJniObject or make a new global reference to the object and
- free it yourself.
-
- \snippet code/src_androidextras_qandroidjniobject.cpp QAndroidJniObject scope
-
- \note Since \b{Qt 5.3} this function can be used without a template type, if the returned type
- is a \c jobject.
-
- \code
- jobject object = jniObject.object();
- \endcode
-*/
-
-/*!
- \fn template <typename T> QAndroidJniObject &QAndroidJniObject::operator=(T object)
-
- Replace the current object with \a object. The old Java object will be released.
-*/
-
-/*!
- \fn QString QAndroidJniObject::toString() const
-
- Returns a QString with a string representation of the java object.
- Calling this function on a Java String object is a convenient way of getting the actual string
- data.
-
- \code
- QAndroidJniObject string = ...; // "Hello Java"
- QString qstring = string.toString(); // "Hello Java"
- \endcode
-
- \sa fromString()
-*/
-
-/*!
- \fn QAndroidJniObject QAndroidJniObject::fromString(const QString &string)
-
- Creates a Java string from the QString \a string and returns a QAndroidJniObject holding that string.
-
- \code
- ...
- QString myQString = "QString";
- QAndroidJniObject myJavaString = QAndroidJniObject::fromString(myQString);
- ...
- \endcode
-
- \sa toString()
-*/
-
-/*!
- \fn QAndroidJniObject QAndroidJniObject::fromLocalRef(jobject localRef)
- \since 5.7
-
- Creates a QAndroidJniObject from the local JNI reference \a localRef.
- This function takes ownership of \a localRef and frees it before returning.
-
- \note Only call this function with a local JNI reference. For example, most raw JNI calls, through
- the JNI environment, returns local references to a java object.
-
- \code
- jobject localRef = env->GetObjectArrayElement(array, index);
- QAndroidJniObject element = QAndroidJniObject::fromLocalRef(localRef);
- \endcode
-*/
-
-/*!
- \fn bool operator==(const QAndroidJniObject &o1, const QAndroidJniObject &o2)
- \relates QAndroidJniObject
-
- Returns true if both objects, \a o1 and \a o2, are referencing the same Java object, or if both
- are NULL. In any other cases false will be returned.
-*/
-
-/*!
- \fn bool operator!=(const QAndroidJniObject &o1, const QAndroidJniObject &o2)
- \relates QAndroidJniObject
-
- Returns true if \a o1 holds a reference to a different object then \a o2.
-*/
-
-
-QAndroidJniObject::QAndroidJniObject(const char *className, const char *sig, ...)
-{
- va_list args;
- QJNIObjectPrivate::QVaListPrivate vargs = { args };
- va_start(args, sig);
- d = QSharedPointer<QJNIObjectPrivate>(new QJNIObjectPrivate(className, sig, vargs));
- va_end(args);
-}
-
-QAndroidJniObject::QAndroidJniObject(jclass clazz, const char *sig, ...)
-{
- va_list args;
- QJNIObjectPrivate::QVaListPrivate vargs = { args };
- va_start(args, sig);
- d = QSharedPointer<QJNIObjectPrivate>(new QJNIObjectPrivate(clazz, sig, vargs));
- va_end(args);
-}
-
-
-QAndroidJniObject::QAndroidJniObject() : d(new QJNIObjectPrivate)
-{
-
-}
-
-QAndroidJniObject::QAndroidJniObject(const char *className) : d(new QJNIObjectPrivate(className))
-{
-}
-
-QAndroidJniObject::QAndroidJniObject(jclass clazz) : d(new QJNIObjectPrivate(clazz))
-{
-}
-
-QAndroidJniObject::QAndroidJniObject(jobject obj) : d(new QJNIObjectPrivate(obj))
-{
-}
-
-QAndroidJniObject::QAndroidJniObject(const QJNIObjectPrivate &o) : d(new QJNIObjectPrivate(o))
-{
-
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::callMethod<void>(const char *methodName, const char *sig, ...) const
-{
- va_list args;
- va_start(args, sig);
- d->callMethodV<void>(methodName, sig, args);
- va_end(args);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jboolean QAndroidJniObject::callMethod<jboolean>(const char *methodName, const char *sig, ...) const
-{
- va_list args;
- va_start(args, sig);
- jboolean res = d->callMethodV<jboolean>(methodName, sig, args);
- va_end(args);
- return res;
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jbyte QAndroidJniObject::callMethod<jbyte>(const char *methodName, const char *sig, ...) const
-{
- va_list args;
- va_start(args, sig);
- jbyte res = d->callMethodV<jbyte>(methodName, sig, args);
- va_end(args);
- return res;
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jchar QAndroidJniObject::callMethod<jchar>(const char *methodName, const char *sig, ...) const
-{
- va_list args;
- va_start(args, sig);
- jchar res = d->callMethodV<jchar>(methodName, sig, args);
- va_end(args);
- return res;
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jshort QAndroidJniObject::callMethod<jshort>(const char *methodName, const char *sig, ...) const
-{
- va_list args;
- va_start(args, sig);
- jshort res = d->callMethodV<jshort>(methodName, sig, args);
- va_end(args);
- return res;
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jint QAndroidJniObject::callMethod<jint>(const char *methodName, const char *sig, ...) const
-{
- va_list args;
- va_start(args, sig);
- jint res = d->callMethodV<jint>(methodName, sig, args);
- va_end(args);
- return res;
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jlong QAndroidJniObject::callMethod<jlong>(const char *methodName, const char *sig, ...) const
-{
- va_list args;
- va_start(args, sig);
- jlong res = d->callMethodV<jlong>(methodName, sig, args);
- va_end(args);
- return res;
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jfloat QAndroidJniObject::callMethod<jfloat>(const char *methodName, const char *sig, ...) const
-{
- va_list args;
- va_start(args, sig);
- jfloat res = d->callMethodV<jfloat>(methodName, sig, args);
- va_end(args);
- return res;
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jdouble QAndroidJniObject::callMethod<jdouble>(const char *methodName, const char *sig, ...) const
-{
- va_list args;
- va_start(args, sig);
- jdouble res = d->callMethodV<jdouble>(methodName, sig, args);
- va_end(args);
- return res;
-}
-
-QAndroidJniObject QAndroidJniObject::callObjectMethod(const char *methodName,
- const char *sig,
- ...) const
-{
- va_list args;
- va_start(args, sig);
- QJNIObjectPrivate res = d->callObjectMethodV(methodName, sig, args);
- va_end(args);
- return res;
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::callMethod<void>(const char *methodName) const
-{
- callMethod<void>(methodName, "()V");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jboolean QAndroidJniObject::callMethod<jboolean>(const char *methodName) const
-{
- return callMethod<jboolean>(methodName, "()Z");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jbyte QAndroidJniObject::callMethod<jbyte>(const char *methodName) const
-{
- return callMethod<jbyte>(methodName, "()B");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jchar QAndroidJniObject::callMethod<jchar>(const char *methodName) const
-{
- return callMethod<jchar>(methodName, "()C");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jshort QAndroidJniObject::callMethod<jshort>(const char *methodName) const
-{
- return callMethod<jshort>(methodName, "()S");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jint QAndroidJniObject::callMethod<jint>(const char *methodName) const
-{
- return callMethod<jint>(methodName, "()I");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jlong QAndroidJniObject::callMethod<jlong>(const char *methodName) const
-{
- return callMethod<jlong>(methodName, "()J");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jfloat QAndroidJniObject::callMethod<jfloat>(const char *methodName) const
-{
- return callMethod<jfloat>(methodName, "()F");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jdouble QAndroidJniObject::callMethod<jdouble>(const char *methodName) const
-{
- return callMethod<jdouble>(methodName, "()D");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callObjectMethod<jobject>(const char *methodName) const
-{
- return d->callObjectMethod(methodName, "()Ljava/lang/Object;");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callObjectMethod<jclass>(const char *methodName) const
-{
- return d->callObjectMethod(methodName, "()Ljava/lang/Class;");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callObjectMethod<jstring>(const char *methodName) const
-{
- return d->callObjectMethod(methodName, "()Ljava/lang/String;");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callObjectMethod<jobjectArray>(const char *methodName) const
-{
- return d->callObjectMethod(methodName, "()[Ljava/lang/Object;");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callObjectMethod<jbooleanArray>(const char *methodName) const
-{
- return d->callObjectMethod(methodName, "()[Z");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callObjectMethod<jbyteArray>(const char *methodName) const
-{
- return d->callObjectMethod(methodName, "()[B");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callObjectMethod<jcharArray>(const char *methodName) const
-{
- return d->callObjectMethod(methodName, "()[C");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callObjectMethod<jshortArray>(const char *methodName) const
-{
- return d->callObjectMethod(methodName, "()[S");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callObjectMethod<jintArray>(const char *methodName) const
-{
- return d->callObjectMethod(methodName, "()[I");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callObjectMethod<jlongArray>(const char *methodName) const
-{
- return d->callObjectMethod(methodName, "()[J");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callObjectMethod<jfloatArray>(const char *methodName) const
-{
- return d->callObjectMethod(methodName, "()[F");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callObjectMethod<jdoubleArray>(const char *methodName) const
-{
- return d->callObjectMethod(methodName, "()[D");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callObjectMethod<jthrowable>(const char *methodName) const
-{
- return d->callObjectMethod(methodName, "()Ljava/lang/Throwable;");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::callStaticMethod<void>(const char *className,
- const char *methodName,
- const char *sig,
- ...)
-{
- va_list args;
- va_start(args, sig);
- QJNIObjectPrivate::callStaticMethodV<void>(className, methodName, sig, args);
- va_end(args);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::callStaticMethod<void>(jclass clazz,
- const char *methodName,
- const char *sig,
- ...)
-{
- va_list args;
- va_start(args, sig);
- QJNIObjectPrivate::callStaticMethodV<void>(clazz, methodName, sig, args);
- va_end(args);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jboolean QAndroidJniObject::callStaticMethod<jboolean>(const char *className,
- const char *methodName,
- const char *sig,
- ...)
-{
- va_list args;
- va_start(args, sig);
- jboolean res = QJNIObjectPrivate::callStaticMethodV<jboolean>(className, methodName, sig, args);
- va_end(args);
- return res;
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jboolean QAndroidJniObject::callStaticMethod<jboolean>(jclass clazz,
- const char *methodName,
- const char *sig,
- ...)
-{
- va_list args;
- va_start(args, sig);
- jboolean res = QJNIObjectPrivate::callStaticMethodV<jboolean>(clazz, methodName, sig, args);
- va_end(args);
- return res;
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jbyte QAndroidJniObject::callStaticMethod<jbyte>(const char *className,
- const char *methodName,
- const char *sig,
- ...)
-{
- va_list args;
- va_start(args, sig);
- jbyte res = QJNIObjectPrivate::callStaticMethodV<jbyte>(className, methodName, sig, args);
- va_end(args);
- return res;
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jbyte QAndroidJniObject::callStaticMethod<jbyte>(jclass clazz,
- const char *methodName,
- const char *sig,
- ...)
-{
- va_list args;
- va_start(args, sig);
- jbyte res = QJNIObjectPrivate::callStaticMethodV<jbyte>(clazz, methodName, sig, args);
- va_end(args);
- return res;
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jchar QAndroidJniObject::callStaticMethod<jchar>(const char *className,
- const char *methodName,
- const char *sig,
- ...)
-{
- va_list args;
- va_start(args, sig);
- jchar res = QJNIObjectPrivate::callStaticMethodV<jchar>(className, methodName, sig, args);
- va_end(args);
- return res;
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jchar QAndroidJniObject::callStaticMethod<jchar>(jclass clazz,
- const char *methodName,
- const char *sig,
- ...)
-{
- va_list args;
- va_start(args, sig);
- jchar res = QJNIObjectPrivate::callStaticMethodV<jchar>(clazz, methodName, sig, args);
- va_end(args);
- return res;
-}
-
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jshort QAndroidJniObject::callStaticMethod<jshort>(const char *className,
- const char *methodName,
- const char *sig,
- ...)
-{
- va_list args;
- va_start(args, sig);
- jshort res = QJNIObjectPrivate::callStaticMethodV<jshort>(className, methodName, sig, args);
- va_end(args);
- return res;
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jshort QAndroidJniObject::callStaticMethod<jshort>(jclass clazz,
- const char *methodName,
- const char *sig,
- ...)
-{
- va_list args;
- va_start(args, sig);
- jshort res = QJNIObjectPrivate::callStaticMethodV<jshort>(clazz, methodName, sig, args);
- va_end(args);
- return res;
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jint QAndroidJniObject::callStaticMethod<jint>(const char *className,
- const char *methodName,
- const char *sig,
- ...)
-{
- va_list args;
- va_start(args, sig);
- jint res = QJNIObjectPrivate::callStaticMethodV<jint>(className, methodName, sig, args);
- va_end(args);
- return res;
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jint QAndroidJniObject::callStaticMethod<jint>(jclass clazz,
- const char *methodName,
- const char *sig,
- ...)
-{
- va_list args;
- va_start(args, sig);
- jint res = QJNIObjectPrivate::callStaticMethodV<jint>(clazz, methodName, sig, args);
- va_end(args);
- return res;
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jlong QAndroidJniObject::callStaticMethod<jlong>(const char *className,
- const char *methodName,
- const char *sig,
- ...)
-{
- va_list args;
- va_start(args, sig);
- jlong res = QJNIObjectPrivate::callStaticMethodV<jlong>(className, methodName, sig, args);
- va_end(args);
- return res;
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jlong QAndroidJniObject::callStaticMethod<jlong>(jclass clazz,
- const char *methodName,
- const char *sig,
- ...)
-{
- va_list args;
- va_start(args, sig);
- jlong res = QJNIObjectPrivate::callStaticMethodV<jlong>(clazz, methodName, sig, args);
- va_end(args);
- return res;
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jfloat QAndroidJniObject::callStaticMethod<jfloat>(const char *className,
- const char *methodName,
- const char *sig,
- ...)
-{
- va_list args;
- va_start(args, sig);
- jfloat res = QJNIObjectPrivate::callStaticMethodV<jfloat>(className, methodName, sig, args);
- va_end(args);
- return res;
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jfloat QAndroidJniObject::callStaticMethod<jfloat>(jclass clazz,
- const char *methodName,
- const char *sig,
- ...)
-{
- va_list args;
- va_start(args, sig);
- jfloat res = QJNIObjectPrivate::callStaticMethodV<jfloat>(clazz, methodName, sig, args);
- va_end(args);
- return res;
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jdouble QAndroidJniObject::callStaticMethod<jdouble>(const char *className,
- const char *methodName,
- const char *sig,
- ...)
-{
- va_list args;
- va_start(args, sig);
- jdouble res = QJNIObjectPrivate::callStaticMethodV<jdouble>(className, methodName, sig, args);
- va_end(args);
- return res;
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jdouble QAndroidJniObject::callStaticMethod<jdouble>(jclass clazz,
- const char *methodName,
- const char *sig,
- ...)
-{
- va_list args;
- va_start(args, sig);
- jdouble res = QJNIObjectPrivate::callStaticMethodV<jdouble>(clazz, methodName, sig, args);
- va_end(args);
- return res;
-}
-
-QAndroidJniObject QAndroidJniObject::callStaticObjectMethod(const char *className,
- const char *methodName,
- const char *sig,
- ...)
-{
- va_list args;
- va_start(args, sig);
- QJNIObjectPrivate res = QJNIObjectPrivate::callStaticObjectMethodV(className,
- methodName,
- sig,
- args);
- va_end(args);
- return res;
-}
-
-QAndroidJniObject QAndroidJniObject::callStaticObjectMethod(jclass clazz,
- const char *methodName,
- const char *sig,
- ...)
-{
- va_list args;
- va_start(args, sig);
- QJNIObjectPrivate res = QJNIObjectPrivate::callStaticObjectMethodV(clazz, methodName, sig, args);
- va_end(args);
- return res;
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::callStaticMethod<void>(const char *className, const char *methodName)
-{
- callStaticMethod<void>(className, methodName, "()V");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::callStaticMethod<void>(jclass clazz, const char *methodName)
-{
- callStaticMethod<void>(clazz, methodName, "()V");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jboolean QAndroidJniObject::callStaticMethod<jboolean>(const char *className, const char *methodName)
-{
- return callStaticMethod<jboolean>(className, methodName, "()Z");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jboolean QAndroidJniObject::callStaticMethod<jboolean>(jclass clazz, const char *methodName)
-{
- return callStaticMethod<jboolean>(clazz, methodName, "()Z");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jbyte QAndroidJniObject::callStaticMethod<jbyte>(const char *className, const char *methodName)
-{
- return callStaticMethod<jbyte>(className, methodName, "()B");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jbyte QAndroidJniObject::callStaticMethod<jbyte>(jclass clazz, const char *methodName)
-{
- return callStaticMethod<jbyte>(clazz, methodName, "()B");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jchar QAndroidJniObject::callStaticMethod<jchar>(const char *className, const char *methodName)
-{
- return callStaticMethod<jchar>(className, methodName, "()C");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jchar QAndroidJniObject::callStaticMethod<jchar>(jclass clazz, const char *methodName)
-{
- return callStaticMethod<jchar>(clazz, methodName, "()C");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jshort QAndroidJniObject::callStaticMethod<jshort>(const char *className, const char *methodName)
-{
- return callStaticMethod<jshort>(className, methodName, "()S");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jshort QAndroidJniObject::callStaticMethod<jshort>(jclass clazz, const char *methodName)
-{
- return callStaticMethod<jshort>(clazz, methodName, "()S");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jint QAndroidJniObject::callStaticMethod<jint>(const char *className, const char *methodName)
-{
- return callStaticMethod<jint>(className, methodName, "()I");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jint QAndroidJniObject::callStaticMethod<jint>(jclass clazz, const char *methodName)
-{
- return callStaticMethod<jint>(clazz, methodName, "()I");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jlong QAndroidJniObject::callStaticMethod<jlong>(const char *className, const char *methodName)
-{
- return callStaticMethod<jlong>(className, methodName, "()J");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jlong QAndroidJniObject::callStaticMethod<jlong>(jclass clazz, const char *methodName)
-{
- return callStaticMethod<jlong>(clazz, methodName, "()J");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jfloat QAndroidJniObject::callStaticMethod<jfloat>(const char *className, const char *methodName)
-{
- return callStaticMethod<jfloat>(className, methodName, "()F");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jfloat QAndroidJniObject::callStaticMethod<jfloat>(jclass clazz, const char *methodName)
-{
- return callStaticMethod<jfloat>(clazz, methodName, "()F");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jdouble QAndroidJniObject::callStaticMethod<jdouble>(const char *className, const char *methodName)
-{
- return callStaticMethod<jdouble>(className, methodName, "()D");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jdouble QAndroidJniObject::callStaticMethod<jdouble>(jclass clazz, const char *methodName)
-{
- return callStaticMethod<jdouble>(clazz, methodName, "()D");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callStaticObjectMethod<jobject>(const char *className,
- const char *methodName)
-{
- return callStaticObjectMethod(className, methodName, "()Ljava/lang/Object;");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callStaticObjectMethod<jobject>(jclass clazz,
- const char *methodName)
-{
- return callStaticObjectMethod(clazz, methodName, "()Ljava/lang/Object;");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callStaticObjectMethod<jclass>(const char *className,
- const char *methodName)
-{
- return callStaticObjectMethod(className, methodName, "()Ljava/lang/Class;");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callStaticObjectMethod<jclass>(jclass clazz,
- const char *methodName)
-{
- return callStaticObjectMethod(clazz, methodName, "()Ljava/lang/Class;");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callStaticObjectMethod<jstring>(const char *className,
- const char *methodName)
-{
- return callStaticObjectMethod(className, methodName, "()Ljava/lang/String;");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callStaticObjectMethod<jstring>(jclass clazz,
- const char *methodName)
-{
- return callStaticObjectMethod(clazz, methodName, "()Ljava/lang/String;");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callStaticObjectMethod<jobjectArray>(const char *className,
- const char *methodName)
-{
- return callStaticObjectMethod(className, methodName, "()[Ljava/lang/Object;");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callStaticObjectMethod<jobjectArray>(jclass clazz,
- const char *methodName)
-{
- return callStaticObjectMethod(clazz, methodName, "()[Ljava/lang/Object;");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callStaticObjectMethod<jbooleanArray>(const char *className,
- const char *methodName)
-{
- return callStaticObjectMethod(className, methodName, "()[Z");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callStaticObjectMethod<jbooleanArray>(jclass clazz,
- const char *methodName)
-{
- return callStaticObjectMethod(clazz, methodName, "()[Z");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callStaticObjectMethod<jbyteArray>(const char *className,
- const char *methodName)
-{
- return callStaticObjectMethod(className, methodName, "()[B");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callStaticObjectMethod<jbyteArray>(jclass clazz,
- const char *methodName)
-{
- return callStaticObjectMethod(clazz, methodName, "()[B");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callStaticObjectMethod<jcharArray>(const char *className,
- const char *methodName)
-{
- return callStaticObjectMethod(className, methodName, "()[C");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callStaticObjectMethod<jcharArray>(jclass clazz,
- const char *methodName)
-{
- return callStaticObjectMethod(clazz, methodName, "()[C");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callStaticObjectMethod<jshortArray>(const char *className,
- const char *methodName)
-{
- return callStaticObjectMethod(className, methodName, "()[S");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callStaticObjectMethod<jshortArray>(jclass clazz,
- const char *methodName)
-{
- return callStaticObjectMethod(clazz, methodName, "()[S");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callStaticObjectMethod<jintArray>(const char *className,
- const char *methodName)
-{
- return callStaticObjectMethod(className, methodName, "()[I");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callStaticObjectMethod<jintArray>(jclass clazz,
- const char *methodName)
-{
- return callStaticObjectMethod(clazz, methodName, "()[I");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callStaticObjectMethod<jlongArray>(const char *className,
- const char *methodName)
-{
- return callStaticObjectMethod(className, methodName, "()[J");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callStaticObjectMethod<jlongArray>(jclass clazz,
- const char *methodName)
-{
- return callStaticObjectMethod(clazz, methodName, "()[J");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callStaticObjectMethod<jfloatArray>(const char *className,
- const char *methodName)
-{
- return callStaticObjectMethod(className, methodName, "()[F");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callStaticObjectMethod<jfloatArray>(jclass clazz,
- const char *methodName)
-{
- return callStaticObjectMethod(clazz, methodName, "()[F");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callStaticObjectMethod<jdoubleArray>(const char *className,
- const char *methodName)
-{
- return callStaticObjectMethod(className, methodName, "()[D");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callStaticObjectMethod<jdoubleArray>(jclass clazz,
- const char *methodName)
-{
- return callStaticObjectMethod(clazz, methodName, "()[D");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callStaticObjectMethod<jthrowable>(const char *className,
- const char *methodName)
-{
- return callStaticObjectMethod(className, methodName, "()Ljava/lang/Throwable;");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::callStaticObjectMethod<jthrowable>(jclass clazz,
- const char *methodName)
-{
- return callStaticObjectMethod(clazz, methodName, "()Ljava/lang/Throwable;");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jboolean QAndroidJniObject::getField<jboolean>(const char *fieldName) const
-{
- return d->getField<jboolean>(fieldName);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jbyte QAndroidJniObject::getField<jbyte>(const char *fieldName) const
-{
- return d->getField<jbyte>(fieldName);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jchar QAndroidJniObject::getField<jchar>(const char *fieldName) const
-{
- return d->getField<jchar>(fieldName);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jshort QAndroidJniObject::getField<jshort>(const char *fieldName) const
-{
- return d->getField<jshort>(fieldName);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jint QAndroidJniObject::getField<jint>(const char *fieldName) const
-{
- return d->getField<jint>(fieldName);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jlong QAndroidJniObject::getField<jlong>(const char *fieldName) const
-{
- return d->getField<jlong>(fieldName);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jfloat QAndroidJniObject::getField<jfloat>(const char *fieldName) const
-{
- return d->getField<jfloat>(fieldName);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jdouble QAndroidJniObject::getField<jdouble>(const char *fieldName) const
-{
- return d->getField<jdouble>(fieldName);
-}
-
-QAndroidJniObject QAndroidJniObject::getObjectField(const char *fieldName, const char *sig) const
-{
- return d->getObjectField(fieldName, sig);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getObjectField<jobject>(const char *fieldName, const char *sig) const
-{
- return d->getObjectField(fieldName, sig);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getObjectField<jobject>(const char *fieldName) const
-{
- return d->getObjectField(fieldName, "Ljava/lang/Object;");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getObjectField<jclass>(const char *fieldName) const
-{
- return d->getObjectField(fieldName, "Ljava/lang/Class;");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getObjectField<jbooleanArray>(const char *fieldName) const
-{
- return d->getObjectField(fieldName, "[Z");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getObjectField<jbyteArray>(const char *fieldName) const
-{
- return d->getObjectField(fieldName, "[B");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getObjectField<jcharArray>(const char *fieldName) const
-{
- return d->getObjectField(fieldName, "[C");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getObjectField<jshortArray>(const char *fieldName) const
-{
- return d->getObjectField(fieldName, "[S");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getObjectField<jintArray>(const char *fieldName) const
-{
- return d->getObjectField(fieldName, "[I");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getObjectField<jlongArray>(const char *fieldName) const
-{
- return d->getObjectField(fieldName, "[J");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getObjectField<jfloatArray>(const char *fieldName) const
-{
- return d->getObjectField(fieldName, "[F");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getObjectField<jdoubleArray>(const char *fieldName) const
-{
- return d->getObjectField(fieldName, "[D");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getObjectField<jstring>(const char *fieldName) const
-{
- return d->getObjectField(fieldName, "Ljava/lang/String;");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getObjectField<jthrowable>(const char *fieldName) const
-{
- return d->getObjectField(fieldName, "Ljava/lang/Throwable;");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getObjectField<jobjectArray>(const char *fieldName,
- const char *sig) const
-{
- return d->getObjectField(fieldName, sig);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setField<jboolean>(const char *fieldName, jboolean value)
-{
- d->setField<jboolean>(fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setField<jbyte>(const char *fieldName, jbyte value)
-{
- d->setField<jbyte>(fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setField<jchar>(const char *fieldName, jchar value)
-{
- d->setField<jchar>(fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setField<jshort>(const char *fieldName, jshort value)
-{
- d->setField<jshort>(fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setField<jint>(const char *fieldName, jint value)
-{
- d->setField<jint>(fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setField<jlong>(const char *fieldName, jlong value)
-{
- d->setField<jlong>(fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setField<jfloat>(const char *fieldName, jfloat value)
-{
- d->setField<jfloat>(fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setField<jdouble>(const char *fieldName, jdouble value)
-{
- d->setField<jdouble>(fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setField<jobject>(const char *fieldName,
- const char *sig,
- jobject value)
-{
- d->setField<jobject>(fieldName, sig, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setField<jobjectArray>(const char *fieldName,
- const char *sig,
- jobjectArray value)
-{
- d->setField<jobjectArray>(fieldName, sig, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setField<jobject>(const char *fieldName,
- jobject value)
-{
- setField<jobject>(fieldName, "Ljava/lang/Object;", value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setField<jclass>(const char *fieldName,
- jclass value)
-{
- setField<jobject>(fieldName, "Ljava/lang/Class;", value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setField<jstring>(const char *fieldName, jstring value)
-{
- d->setField<jstring>(fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setField<jbooleanArray>(const char *fieldName, jbooleanArray value)
-{
- d->setField<jbooleanArray>(fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setField<jbyteArray>(const char *fieldName, jbyteArray value)
-{
- d->setField<jbyteArray>(fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setField<jcharArray>(const char *fieldName, jcharArray value)
-{
- d->setField<jcharArray>(fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setField<jshortArray>(const char *fieldName, jshortArray value)
-{
- d->setField<jshortArray>(fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setField<jintArray>(const char *fieldName, jintArray value)
-{
- d->setField<jintArray>(fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setField<jlongArray>(const char *fieldName, jlongArray value)
-{
- d->setField<jlongArray>(fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setField<jfloatArray>(const char *fieldName, jfloatArray value)
-{
- d->setField<jfloatArray>(fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setField<jdoubleArray>(const char *fieldName, jdoubleArray value)
-{
- d->setField<jdoubleArray>(fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setField<jthrowable>(const char *fieldName, jthrowable value)
-{
- d->setField<jobject>(fieldName, "Ljava/lang/Throwable;", value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jboolean QAndroidJniObject::getStaticField<jboolean>(jclass clazz, const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticField<jboolean>(clazz, fieldName);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jboolean QAndroidJniObject::getStaticField<jboolean>(const char *className, const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticField<jboolean>(className, fieldName);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jbyte QAndroidJniObject::getStaticField<jbyte>(jclass clazz, const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticField<jbyte>(clazz, fieldName);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jbyte QAndroidJniObject::getStaticField<jbyte>(const char *className, const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticField<jbyte>(className, fieldName);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jchar QAndroidJniObject::getStaticField<jchar>(jclass clazz, const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticField<jchar>(clazz, fieldName);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jchar QAndroidJniObject::getStaticField<jchar>(const char *className, const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticField<jchar>(className, fieldName);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jshort QAndroidJniObject::getStaticField<jshort>(jclass clazz, const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticField<jshort>(clazz, fieldName);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jshort QAndroidJniObject::getStaticField<jshort>(const char *className, const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticField<jshort>(className, fieldName);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jint QAndroidJniObject::getStaticField<jint>(jclass clazz, const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticField<jint>(clazz, fieldName);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jint QAndroidJniObject::getStaticField<jint>(const char *className, const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticField<jint>(className, fieldName);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jlong QAndroidJniObject::getStaticField<jlong>(jclass clazz, const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticField<jlong>(clazz, fieldName);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jlong QAndroidJniObject::getStaticField<jlong>(const char *className, const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticField<jlong>(className, fieldName);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jfloat QAndroidJniObject::getStaticField<jfloat>(jclass clazz, const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticField<jfloat>(clazz, fieldName);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jfloat QAndroidJniObject::getStaticField<jfloat>(const char *className, const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticField<jfloat>(className, fieldName);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jdouble QAndroidJniObject::getStaticField<jdouble>(jclass clazz, const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticField<jdouble>(clazz, fieldName);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT jdouble QAndroidJniObject::getStaticField<jdouble>(const char *className, const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticField<jdouble>(className, fieldName);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getStaticObjectField<jobject>(jclass clazz,
- const char *fieldName,
- const char *sig)
-{
- return QJNIObjectPrivate::getStaticObjectField(clazz, fieldName, sig);
-}
-
-QAndroidJniObject QAndroidJniObject::getStaticObjectField(jclass clazz,
- const char *fieldName,
- const char *sig)
-{
- return QJNIObjectPrivate::getStaticObjectField(clazz, fieldName, sig);
-}
-
-QAndroidJniObject QAndroidJniObject::getStaticObjectField(const char *className,
- const char *fieldName,
- const char *sig)
-{
- return QJNIObjectPrivate::getStaticObjectField(className, fieldName, sig);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getStaticObjectField<jobject>(const char *className,
- const char *fieldName,
- const char *sig)
-{
- return QJNIObjectPrivate::getStaticObjectField(className, fieldName, sig);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getStaticObjectField<jobjectArray>(jclass clazz,
- const char *fieldName,
- const char *sig)
-{
- return QJNIObjectPrivate::getStaticObjectField(clazz, fieldName, sig);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getStaticObjectField<jobjectArray>(const char *className,
- const char *fieldName,
- const char *sig)
-{
- return QJNIObjectPrivate::getStaticObjectField(className, fieldName, sig);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getStaticObjectField<jobject>(jclass clazz,
- const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticObjectField(clazz, fieldName, "Ljava/lang/Object;");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getStaticObjectField<jobject>(const char *className,
- const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticObjectField(className, fieldName, "Ljava/lang/Object;");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getStaticObjectField<jclass>(jclass clazz,
- const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticObjectField(clazz, fieldName, "Ljava/lang/Class;");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getStaticObjectField<jclass>(const char *className,
- const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticObjectField(className, fieldName, "Ljava/lang/Class;");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getStaticObjectField<jstring>(jclass clazz,
- const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticObjectField(clazz, fieldName, "Ljava/lang/String;");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getStaticObjectField<jstring>(const char *className,
- const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticObjectField(className, fieldName, "Ljava/lang/String;");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getStaticObjectField<jobjectArray>(jclass clazz,
- const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticObjectField(clazz, fieldName, "[Ljava/lang/Object;");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getStaticObjectField<jobjectArray>(const char *className,
- const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticObjectField(className, fieldName, "[Ljava/lang/Object;");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getStaticObjectField<jbooleanArray>(jclass clazz,
- const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticObjectField(clazz, fieldName, "[Z");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getStaticObjectField<jbooleanArray>(const char *className,
- const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticObjectField(className, fieldName, "[Z");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getStaticObjectField<jbyteArray>(jclass clazz,
- const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticObjectField(clazz, fieldName, "[B");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getStaticObjectField<jbyteArray>(const char *className,
- const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticObjectField(className, fieldName, "[B");;
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getStaticObjectField<jcharArray>(jclass clazz,
- const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticObjectField(clazz, fieldName, "[C");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getStaticObjectField<jcharArray>(const char *className,
- const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticObjectField(className, fieldName, "[C");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getStaticObjectField<jshortArray>(jclass clazz,
- const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticObjectField(clazz, fieldName, "[S");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getStaticObjectField<jshortArray>(const char *className,
- const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticObjectField(className, fieldName, "[S");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getStaticObjectField<jintArray>(jclass clazz,
- const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticObjectField(clazz, fieldName, "[I");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getStaticObjectField<jintArray>(const char *className,
- const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticObjectField(className, fieldName, "[I");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getStaticObjectField<jlongArray>(jclass clazz,
- const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticObjectField(clazz, fieldName, "[J");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getStaticObjectField<jlongArray>(const char *className,
- const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticObjectField(className, fieldName, "[J");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getStaticObjectField<jfloatArray>(jclass clazz,
- const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticObjectField(clazz, fieldName, "[F");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getStaticObjectField<jfloatArray>(const char *className,
- const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticObjectField(className, fieldName, "[F");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getStaticObjectField<jdoubleArray>(jclass clazz,
- const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticObjectField(clazz, fieldName, "[D");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getStaticObjectField<jdoubleArray>(const char *className,
- const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticObjectField(className, fieldName, "[D");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getStaticObjectField<jthrowable>(jclass clazz,
- const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticObjectField(clazz, fieldName, "Ljava/lang/Throwable;");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject QAndroidJniObject::getStaticObjectField<jthrowable>(const char *className,
- const char *fieldName)
-{
- return QJNIObjectPrivate::getStaticObjectField(className, fieldName, "Ljava/lang/Throwable;");
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jboolean>(jclass clazz, const char *fieldName, jboolean value)
-{
- QJNIObjectPrivate::setStaticField<jboolean>(clazz, fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jboolean>(const char *className,
- const char *fieldName,
- jboolean value)
-{
- QJNIObjectPrivate::setStaticField<jboolean>(className, fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jbyte>(jclass clazz, const char *fieldName, jbyte value)
-{
- QJNIObjectPrivate::setStaticField<jbyte>(clazz, fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jbyte>(const char *className,
- const char *fieldName,
- jbyte value)
-{
- QJNIObjectPrivate::setStaticField<jbyte>(className, fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jchar>(jclass clazz, const char *fieldName, jchar value)
-{
- QJNIObjectPrivate::setStaticField<jchar>(clazz, fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jchar>(const char *className,
- const char *fieldName,
- jchar value)
-{
- QJNIObjectPrivate::setStaticField<jchar>(className, fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jshort>(jclass clazz, const char *fieldName, jshort value)
-{
- QJNIObjectPrivate::setStaticField<jshort>(clazz, fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jshort>(const char *className,
- const char *fieldName,
- jshort value)
-{
- QJNIObjectPrivate::setStaticField<jshort>(className, fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jint>(jclass clazz, const char *fieldName, jint value)
-{
- QJNIObjectPrivate::setStaticField<jint>(clazz, fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jint>(const char *className, const char *fieldName, jint value)
-{
- QJNIObjectPrivate::setStaticField<jint>(className, fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jlong>(jclass clazz, const char *fieldName, jlong value)
-{
- QJNIObjectPrivate::setStaticField<jlong>(clazz, fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jlong>(const char *className,
- const char *fieldName,
- jlong value)
-{
- QJNIObjectPrivate::setStaticField<jlong>(className, fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jfloat>(jclass clazz, const char *fieldName, jfloat value)
-{
- QJNIObjectPrivate::setStaticField<jfloat>(clazz, fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jfloat>(const char *className,
- const char *fieldName,
- jfloat value)
-{
- QJNIObjectPrivate::setStaticField<jfloat>(className, fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jdouble>(jclass clazz, const char *fieldName, jdouble value)
-{
- QJNIObjectPrivate::setStaticField<jdouble>(clazz, fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jdouble>(const char *className,
- const char *fieldName,
- jdouble value)
-{
- QJNIObjectPrivate::setStaticField<jdouble>(className, fieldName, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jobject>(jclass clazz,
- const char *fieldName,
- const char *sig,
- jobject value)
-{
- QJNIObjectPrivate::setStaticField<jobject>(clazz, fieldName, sig, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jobject>(const char *className,
- const char *fieldName,
- const char *sig,
- jobject value)
-{
- QJNIObjectPrivate::setStaticField<jobject>(className, fieldName, sig, value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jclass>(const char *className,
- const char *fieldName,
- jclass value)
-{
- QJNIObjectPrivate::setStaticField<jobject>(className, fieldName, "Ljava/lang/Class;", value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jclass>(jclass clazz, const char *fieldName, jclass value)
-{
- QJNIObjectPrivate::setStaticField<jobject>(clazz, fieldName, "Ljava/lang/Class;", value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jstring>(const char *className,
- const char *fieldName,
- jstring value)
-{
- QJNIObjectPrivate::setStaticField<jobject>(className, fieldName, "Ljava/lang/String;", value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jstring>(jclass clazz, const char *fieldName, jstring value)
-{
- QJNIObjectPrivate::setStaticField<jobject>(clazz, fieldName, "Ljava/lang/String;", value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jobjectArray>(const char *className,
- const char *fieldName,
- jobjectArray value)
-{
- QJNIObjectPrivate::setStaticField<jobject>(className, fieldName, "[Ljava/lang/Object;", value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jobjectArray>(jclass clazz,
- const char *fieldName,
- jobjectArray value)
-{
- QJNIObjectPrivate::setStaticField<jobject>(clazz, fieldName, "[Ljava/lang/Object;", value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jbooleanArray>(const char *className,
- const char *fieldName,
- jbooleanArray value)
-{
- QJNIObjectPrivate::setStaticField<jobject>(className, fieldName, "[Z", value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jbooleanArray>(jclass clazz,
- const char *fieldName,
- jbooleanArray value)
-{
- QJNIObjectPrivate::setStaticField<jobject>(clazz, fieldName, "[Z", value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jbyteArray>(const char *className,
- const char *fieldName,
- jbyteArray value)
-{
- QJNIObjectPrivate::setStaticField<jobject>(className, fieldName, "[B", value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jbyteArray>(jclass clazz,
- const char *fieldName,
- jbyteArray value)
-{
- QJNIObjectPrivate::setStaticField<jobject>(clazz, fieldName, "[B", value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jcharArray>(const char *className,
- const char *fieldName,
- jcharArray value)
-{
- QJNIObjectPrivate::setStaticField<jobject>(className, fieldName, "[C", value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jcharArray>(jclass clazz,
- const char *fieldName,
- jcharArray value)
-{
- QJNIObjectPrivate::setStaticField<jobject>(clazz, fieldName, "[C", value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jshortArray>(const char *className,
- const char *fieldName,
- jshortArray value)
-{
- QJNIObjectPrivate::setStaticField<jobject>(className, fieldName, "[S", value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jshortArray>(jclass clazz,
- const char *fieldName,
- jshortArray value)
-{
- QJNIObjectPrivate::setStaticField<jobject>(clazz, fieldName, "[S", value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jintArray>(const char *className,
- const char *fieldName,
- jintArray value)
-{
- QJNIObjectPrivate::setStaticField<jobject>(className, fieldName, "[I", value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jintArray>(jclass clazz,
- const char *fieldName,
- jintArray value)
-{
- QJNIObjectPrivate::setStaticField<jobject>(clazz, fieldName, "[I", value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jlongArray>(const char *className,
- const char *fieldName,
- jlongArray value)
-{
- QJNIObjectPrivate::setStaticField<jobject>(className, fieldName, "[J", value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jlongArray>(jclass clazz,
- const char *fieldName,
- jlongArray value)
-{
- QJNIObjectPrivate::setStaticField<jobject>(clazz, fieldName, "[J", value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jfloatArray>(const char *className,
- const char *fieldName,
- jfloatArray value)
-{
- QJNIObjectPrivate::setStaticField<jobject>(className, fieldName, "[F", value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jfloatArray>(jclass clazz,
- const char *fieldName,
- jfloatArray value)
-{
- QJNIObjectPrivate::setStaticField<jobject>(clazz, fieldName, "[F", value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jdoubleArray>(const char *className,
- const char *fieldName,
- jdoubleArray value)
-{
- QJNIObjectPrivate::setStaticField<jobject>(className, fieldName, "[D", value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jdoubleArray>(jclass clazz,
- const char *fieldName,
- jdoubleArray value)
-{
- QJNIObjectPrivate::setStaticField<jobject>(clazz, fieldName, "[D", value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jthrowable>(const char *className,
- const char *fieldName,
- jthrowable value)
-{
- QJNIObjectPrivate::setStaticField<jobject>(className, fieldName, "Ljava/lang/Throwable;", value);
-}
-
-template <>
-Q_ANDROIDEXTRAS_EXPORT void QAndroidJniObject::setStaticField<jthrowable>(jclass clazz,
- const char *fieldName,
- jthrowable value)
-{
- QJNIObjectPrivate::setStaticField<jobject>(clazz, fieldName, "Ljava/lang/Throwable;", value);
-}
-
-QAndroidJniObject QAndroidJniObject::fromString(const QString &string)
-{
- return QJNIObjectPrivate::fromString(string);
-}
-
-QString QAndroidJniObject::toString() const
-{
- return d->toString();
-}
-
-bool QAndroidJniObject::isClassAvailable(const char *className)
-{
- return QJNIObjectPrivate::isClassAvailable(className);
-}
-
-bool QAndroidJniObject::isValid() const
-{
- return d->isValid();
-}
-
-QAndroidJniObject QAndroidJniObject::fromLocalRef(jobject obj)
-{
- return QJNIObjectPrivate::fromLocalRef(obj);
-}
-
-jobject QAndroidJniObject::javaObject() const
-{
- return d->object();
-}
-
-bool QAndroidJniObject::isSameObject(jobject obj) const
-{
- return d->isSameObject(obj);
-}
-
-bool QAndroidJniObject::isSameObject(const QAndroidJniObject &obj) const
-{
- return d->isSameObject(*obj.d);
-}
-
-void QAndroidJniObject::assign(jobject o)
-{
- if (d->isSameObject(o))
- return;
-
- d = QSharedPointer<QJNIObjectPrivate>(new QJNIObjectPrivate(o));
-}
-
-QT_END_NAMESPACE