Go to file
Volker Hilsheimer 31f98957cf Add compile-time generation of JNI class names
As with method signatures, register class names using template function
specialization in the QtJniTypes namespace, and then declare C++ types
as JNI classes with a class name string. Such classes implicitly get
registered as JNI types as well.

Add a QJniObject construct method (since C++ constructors that are
templates cannot be explicitly instantiated with a type), and a
QJniEnvironment::findClass overload.

Add test coverage, also for the recently added macros for native
methods.

As a drive-by, change the name of the Q_JNI_DECLARE_NATIVE_METHOD
macro to Q_DECLARE_JNI_NATIVE_METHOD for consistency.

Change-Id: Ic19562d78da726f202b3bdf4e9354e8ad24d8bd9
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2022-05-27 22:27:13 +02:00
.github/workflows Repair github action workflow 2021-11-10 18:57:33 +01:00
bin CMake: Automatically use Xcode generator in qt-cmake + iOS 2022-05-20 13:06:00 +02:00
cmake Avoid some new clang 14 warnings on Android NDK 24 build 2022-05-27 17:28:37 +03:00
coin CI: add Windows host support for QNX 2022-04-05 17:03:40 +03:00
config.tests CMake: Test the linker too for -mno-direct-extern-access 2022-05-25 16:29:31 -07:00
dist Add Qt 6.0.0 changes file 2020-11-16 10:02:08 +02:00
doc Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
examples Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
lib Purge all fonts 2015-08-18 19:59:14 +00:00
libexec Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
LICENSES Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
mkspecs wasm: update emscripten to 3.1.10 2022-05-27 17:46:29 +10:00
qmake Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
src Add compile-time generation of JNI class names 2022-05-27 22:27:13 +02:00
tests Add compile-time generation of JNI class names 2022-05-27 22:27:13 +02:00
util Core: make CLDR data constexpr 2022-05-27 09:33:28 +08:00
.cmake.conf cmake: only use qtbase configuration in qtbase 2022-03-18 12:33:10 +01:00
.gitattributes Give batch files CRLF line endings 2020-11-04 15:02:29 +00:00
.gitignore Assume qhelpgenerator in libexec instead of bin 2021-11-08 19:27:32 +01:00
.lgtm.yml Skip LGTM analysis for the bootstrap library and tools 2020-07-16 01:04:34 +02:00
.tag
CMakeLists.txt Use REALPATH based check for symbolic links on Windows 2022-01-07 14:31:38 +01:00
conanfile.py Conan: Fix how conans.model.options.PackageOption value is evaluated 2022-05-27 07:17:21 +03:00
config_help.txt Build system: Allow user to enable Intel CET 2022-04-06 13:06:24 +08:00
configure Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
configure.bat Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
configure.cmake CMake: Test the linker too for -mno-direct-extern-access 2022-05-25 16:29:31 -07:00
dependencies.yaml Re-add dependencies.yaml now that qt5.git wip/qt6 builds fine 2019-09-18 13:19:31 +02:00
qt_cmdline.cmake Build system: Allow user to enable Intel CET 2022-04-06 13:06:24 +08:00
sync.profile QVector: make sure the forwarding headers for the Java iterators exist 2022-05-23 14:53:18 -07:00