qt5base-lts/tests/auto/corelib/kernel/qpermission
Volker Hilsheimer 207aae5560 Simplify the creation of APIs that take a callback
Functions in Qt that take a callback need to support callables with or
without context objects, and member functions of an object. The
implementation of those overloads follows a pattern that ultimately
results in a QSlotObjectBase implementation being created and
passed to an implementation helper that takes care of the logic.

Factor that common pattern into a new helper template in QtPrivate
that returns a suitable QSlotObjectBase after checking that the
functor is compatible with the specified argument types.

Use that new helper template in the implementation of
QCoreApplication::requestPermission and QHostInfo::lookupHost.

The only disadvantage of centralizing this logic is that we cannot print
a more detailed error message indicating which argument types the
caller expects. However, that information is visible from the detailed
compiler errors anyway.

Change-Id: I24cf0b2442217857b96ffc4d2d6c997c4fae34e0
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2023-04-26 22:06:31 +02:00
..
.gitignore Add minimal QPermission auto-test 2023-01-12 08:48:46 +01:00
CMakeLists.txt Add minimal QPermission auto-test 2023-01-12 08:48:46 +01:00
tst_qpermission.cpp Simplify the creation of APIs that take a callback 2023-04-26 22:06:31 +02:00