qt6-bb10/tests/auto/corelib/kernel
Volker Hilsheimer 367092d7e0 Return specific types for frequently used Java objects
This allows us to specialize JNI type signature templates for e.g. the
context object, which in Java signatures is "android/content/Context".

Introduce a Q_DECLARE_JNI_TYPE macro that takes care of the plumbing.
The types declared this way live in the QtJniTypes namespace, and
transparently convert from and to jobject. Since jobject is a typedef
to _jobject* we cannot create a subclass. Use a "Object" superclass
that we can provide a QJniObject constructor for so that we don't
require the QJniObject declaration to be able to use the macro.

The APIs in the QNativeInterface namespace doesn't provide source or
binary compatibility guarantees, so we can change the return types.

Change-Id: I4cf9fa734ec9a5550b6fddeb14ef0ffd72663f29
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2022-05-17 00:34:06 +02:00
..
qapplicationstatic Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
qcoreapplication Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
qdeadlinetimer Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
qelapsedtimer Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
qeventdispatcher Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
qeventloop Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
qjnienvironment Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
qjniobject Fold methods for object return type into generic methods 2022-05-17 00:34:06 +02:00
qjnitypes Return specific types for frequently used Java objects 2022-05-17 00:34:06 +02:00
qmath Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
qmetacontainer Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
qmetaenum Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
qmetamethod Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
qmetaobject Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
qmetaobjectbuilder Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
qmetaproperty Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
qmetatype Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
qmimedata Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
qobject Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
qpointer Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
qproperty Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
qsharedmemory Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
qsignalblocker Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
qsignalmapper Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
qsocketnotifier Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
qsystemsemaphore Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
qtimer Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
qtranslator Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
qvariant Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
qwineventnotifier Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
CMakeLists.txt Generate JNI signature strings at compile time 2022-05-05 07:29:25 +02:00