aboutsummaryrefslogtreecommitdiffstats
path: root/src/androidextras/jni
diff options
context:
space:
mode:
authorChristian Strømme <christian.stromme@digia.com>2014-02-10 18:09:15 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-02-13 12:39:04 +0100
commitaf130d3047322dc3889dc09970905cbdb40c86f4 (patch)
tree8b793456a4383e6f58cfec64ef09b0ebac552bd0 /src/androidextras/jni
parenta4dd3f81448db91b10bdfb236ac81caa8617c381 (diff)
Add non-templated versions of get[Static]ObjectField()
Ideally the getStaticObjectField() and getObjectField() methods, that take a signature, should never have been templated. Removing the templated versions now will cause ABI breakage, so the only solution is to add new non-templated versions. Change-Id: I2f6e9f259b7bc511ef5bcaeb8a2077b0f267b8c8 Reviewed-by: BogDan Vatra <bogdan@kde.org>
Diffstat (limited to 'src/androidextras/jni')
-rw-r--r--src/androidextras/jni/qandroidjniobject.cpp19
-rw-r--r--src/androidextras/jni/qandroidjniobject.h10
2 files changed, 29 insertions, 0 deletions
diff --git a/src/androidextras/jni/qandroidjniobject.cpp b/src/androidextras/jni/qandroidjniobject.cpp
index 9d38afd..2448d54 100644
--- a/src/androidextras/jni/qandroidjniobject.cpp
+++ b/src/androidextras/jni/qandroidjniobject.cpp
@@ -1469,6 +1469,11 @@ 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 <>
QAndroidJniObject QAndroidJniObject::getObjectField<jobject>(const char *fieldName, const char *sig) const
{
@@ -1750,6 +1755,13 @@ jdouble QAndroidJniObject::getStaticField<jdouble>(const char *className, const
return QJNIObjectPrivate::getStaticField<jdouble>(className, fieldName);
}
+QAndroidJniObject QAndroidJniObject::getStaticObjectField(jclass clazz,
+ const char *fieldName,
+ const char *sig)
+{
+ return QJNIObjectPrivate::getStaticObjectField(clazz, fieldName, sig);
+}
+
template <>
QAndroidJniObject QAndroidJniObject::getStaticObjectField<jobject>(jclass clazz,
const char *fieldName,
@@ -1892,6 +1904,13 @@ QAndroidJniObject QAndroidJniObject::getStaticObjectField<jdoubleArray>(const ch
return QJNIObjectPrivate::getStaticObjectField(className, fieldName, "[D");
}
+QAndroidJniObject QAndroidJniObject::getStaticObjectField(const char *className,
+ const char *fieldName,
+ const char *sig)
+{
+ return QJNIObjectPrivate::getStaticObjectField(className, fieldName, sig);
+}
+
template <>
QAndroidJniObject QAndroidJniObject::getStaticObjectField<jobjectArray>(jclass clazz,
const char *fieldName,
diff --git a/src/androidextras/jni/qandroidjniobject.h b/src/androidextras/jni/qandroidjniobject.h
index 712082f..6098f8c 100644
--- a/src/androidextras/jni/qandroidjniobject.h
+++ b/src/androidextras/jni/qandroidjniobject.h
@@ -97,26 +97,36 @@ public:
T getField(const char *fieldName) const;
template <typename T>
QAndroidJniObject getObjectField(const char *fieldName) const;
+ // ### Qt 6 remove templated version
template <typename T>
QAndroidJniObject getObjectField(const char *fieldName, const char *sig) const;
+ QAndroidJniObject getObjectField(const char *fieldName, const char *sig) const;
template <typename T>
void setField(const char *fieldName, T value);
template <typename T>
void setField(const char *fieldName, const char *sig, T value);
template <typename T>
static QAndroidJniObject getStaticObjectField(const char *className, const char *fieldName);
+ // ### Qt 6 remove templated version
template <typename T>
static QAndroidJniObject getStaticObjectField(const char *className,
const char *fieldName,
const char *sig);
+ static QAndroidJniObject getStaticObjectField(const char *className,
+ const char *fieldName,
+ const char *sig);
template <typename T>
static T getStaticField(const char *className, const char *fieldName);
template <typename T>
static QAndroidJniObject getStaticObjectField(jclass clazz, const char *fieldName);
+ // ### Qt 6 remove templated version
template <typename T>
static QAndroidJniObject getStaticObjectField(jclass clazz,
const char *fieldName,
const char *sig);
+ static QAndroidJniObject getStaticObjectField(jclass clazz,
+ const char *fieldName,
+ const char *sig);
template <typename T>
static T getStaticField(jclass clazz, const char *fieldName);