summaryrefslogtreecommitdiffstats
path: root/src/interfaceframework/qifservicemanager.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Mark security critical files according to QUIP 23Zoltan Gera2025-05-151-0/+1
| | | | | | | Fixes: QTBUG-135758 Pick-to: 6.9 6.8 Change-Id: Id7933f012bbf124b721e79ad91962d68c91d75f3 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* Use QElapsedTimer::start instead of restartVolker Hilsheimer2025-04-171-1/+1
| | | | | | | restart() becomes [[nodiscard]] in qtbase. Change-Id: Idfad41245d01135667989b573c1450f1f3795c3f Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Add missing QElapsedTimer includeDominik Holland2025-04-021-0/+1
| | | | | | Fixes: QTBUG-135435 Change-Id: I107968b073463187ac8b2c598f60e0620f7710d7 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* qdoc: Fix \instantiates deprecation warningDominik Holland2024-08-221-2/+2
| | | | | | | Pick-to: 6.8 Change-Id: I0dbaa8419a75e26e6925cac33792dc4737aba345 Reviewed-by: Robert Griebl <robert.griebl@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Fix compilation against older Qt versionsDominik Holland2024-07-261-0/+4
| | | | | | Change-Id: I1b0d1eeb849db9a80c71c541466d5861d3537fc1 Reviewed-by: Robert Griebl <robert.griebl@qt.io> Reviewed-by: Zoltan Gera <zoltan.gera@qt.io>
* Fix warnings caused by logging macro deprecationsZoltan Gera2024-06-261-1/+1
| | | | | | | | | | Q_DECLARE_EXPORTED_LOGGING_CATEGORY is deprecated in favor for using QT_DECLARE_EXPORTED_QT_LOGGING_CATEGORY. Also Q_STATIC_LOGGING_CATEGORY should be used whenever Q_LOGGING_CATEGORY is standing without a corresponding declaring macro. Change-Id: Ie9b6cfead2268d2355ba7b8a5613599d249c19d6 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* doc: Add documentation for the new asynchronous backend loading featureDominik Holland2024-06-191-0/+125
| | | | | | Pick-to: 6.8 Change-Id: I9f9474167d61c96bf00427baf34e667f86e8018e Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
* QIfServiceManager: Fix wrong logging category for plugin search messageDominik Holland2024-06-181-1/+1
| | | | | | | | | The summary for how long the plugin search took was sent using the wrong logging category. Pick-to: 6.8 Change-Id: If2587ed7e678dee94f0160de5f0197da609d50d2 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* QIfServiceManager: Add logs/performance output for the plugin searchDominik Holland2024-06-141-2/+14
| | | | | | | | | The output should help to determine what files are considered to be a plugin and how long the search takes in total. Pick-to: 6.8 Change-Id: Ib0432c892133666f48a44d5bfe18c4fb515fa9f5 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Add support for asynchronous backend loadingDominik Holland2024-06-141-17/+193
| | | | | | | | | | | | | | Backend plugins can now be loaded inside a separate thread. For this usecase a new QIfServiceObjectHandle class is introduced which is returned using a new findServiceHandleByInterface function. The handles can be loaded asynchronously using a new loadServiceObject() function. Documentation will be added in a followup commit. Pick-to: 6.8 Change-Id: I70b39f3288187a839196182e8c2c78b9d89bab18 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Add better support for static backend pluginsDominik Holland2024-05-291-2/+2
| | | | | | | | | | | | | | | | | | Correctly initialize the resources in the simulation plugin when build statically. Also make sure the QIfServiceManager always uses the id from static plugins to dissambiguate plugins. The main part of this commit is the refactoring of the backends autotest into several test binaries using a common base class. This is needed as static simulator plugin and dynamic simulator plugin can't be loaded into the same process. This should also make it easier to add backend specific tests in the future. Pick-to: 6.7 Change-Id: I326b6e1a11b80b7992893cf3955f86e07f5236f8 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Fix memory leaks found by the Address SanitizerDominik Holland2024-02-141-3/+9
| | | | | | Pick-to: 6.7 6.6 6.5 6.2 Change-Id: I7095ffb9fc26dc6d74b11cf22d73c8cd844a1dcd Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* doc: Add missing documentationDominik Holland2024-02-141-0/+2
| | | | | | Pick-to: 6.7 6.6 6.5 6.2 Change-Id: Ie562dbd37817ea252a36e48317bc2840d75a363f Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Axivion: Add file based and line based suppressionsDominik Holland2024-01-291-0/+2
| | | | | | Change-Id: I4e74f6ad324a4f86b097090546a7d7c516521f05 Pick-to: 6.7 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Fix problems found by the static code analyzerDominik Holland2024-01-291-1/+1
| | | | | | Pick-to: 6.7 6.6 6.5 Change-Id: I46cace14654cfb679457d427df029752d95d2dcc Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Include the autogenerated moc file in all our source filesDominik Holland2023-07-181-0/+2
| | | | | | | Pick-to: 6.6 Change-Id: Idc18a31b2c755dac9702ef878b898188134dc5c1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* QIfServiceManager: Improve the backend unloading codeDominik Holland2023-07-141-19/+7
| | | | | | | | | | | For autotests we support unloading all our backends. Unloading plugins can lead to various errors. Instead of really unloading the plugin, just destroy the plugin instances, the actual plugin and all it libraries will stay loaded. Pick-to: 6.2 6.5 6.6 Change-Id: Ie4429ee8c7958cdff6ceb82cf5e587f6a2a398a0 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Clazy fixes and getting rid of old QT_VERSION checksDominik Holland2023-05-091-10/+2
| | | | | Change-Id: I985d8dcf2892a7a5ac7e8ba14417e8cd7ea6f42a Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Start using the new literal operator from Qt::StringLiteralsDominik Holland2023-05-091-9/+11
| | | | | Change-Id: I4f5d723d01dc8e8e410920f96e6a445b194ac389 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Add documentation for the new featuresDominik Holland2023-01-171-1/+11
| | | | | | Pick-to: 6.5 Change-Id: I8db93d48211394f6861fa6c2ba9f19525c9a59c7 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Use std::as_const instead of qAsConstDominik Holland2023-01-111-4/+4
| | | | | | Pick-to: 6.5 Change-Id: I2606d1168dbd0061118e5e05fb44d22dcfac248c Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Improve the auto discovery systemDominik Holland2022-12-071-7/+46
| | | | | | | | | | | | | | | | | | | | The auto discovery system works fine when only a single production or a single simulation backend were found. In case multiple backends were found the first backend was used, which was not always the desired backend. The QIfServiceManager can now also use an additional list of preferred backends. This list can contain wildcards and tries to find a single matching backend. A new preferredBackends property is also added to QIfAbstractFeature and QIfAbstractFeatureListModel. Task-number: QTBUG-99081 Task-number: QTBUG-99082 Change-Id: Ic5834c826f157d9b457dea769ef88c29ab90f617 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Add a new QIfConfiguration classDominik Holland2022-12-071-0/+11
| | | | | | | | | | | | | | | | | | | | | | | This class provides a way to store and update settings for ServiceObjects, Features and the SimulationEngine. The configurationId of an Object decides to which configuration group it belongs. Default values for Configurations are loaded from a ini file and can be overridden using environment variables. This first commit adds the API for storing service settings. Those service settings are passed to the matching ServiceObjects. This can be used for backend specific settings e.g. a server url for the autogenerated remote objects backends. Fixes: QTBUG-99078 Task-number: QTBUG-99079 Task-number: QTBUG-99081 Change-Id: I814335af1944b87921ecde7873f035d71d183721 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Improve logging of QIfServiceManagerDominik Holland2022-09-211-4/+5
| | | | | | | | | Add add additional information about what type of backend is added. Pick-to: 6.2 6.3 6.4 Change-Id: I7d08834eb25761cc9ad13952813f596b629ae07f Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Fix all remaining warnings and mark the module as warning freeDominik Holland2022-09-011-2/+2
| | | | | | | | ... at least compile-time warnings. Pick-to: 6.4 Change-Id: Ie14e5eb8ffbd4867f5809b5ebe77945816a50a25 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Use SPDX license identifiersDominik Holland2022-06-151-40/+4
| | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Change-Id: I601c778c0e88c61cda97ef3bd0259faf39b915e5 Pick-to: 6.4 Task-number: QTBUG-67283 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Use new QML type registration systemDominik Holland2022-01-271-0/+7
| | | | | | | | | | | | | | All QML Types are registered with the new register macros and the module plugins are now generated by cmake as well. With that all module plugins are now optional as well and are not loaded when the module library is linked into the application. The autogenerated code is prepared to be using the same macros. Task-number: QTBUG-99000 Pick-to: 6.3 Change-Id: I4244c14b10c7a1fa83b4321fdce2d5845ecb7fd0 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
* Rename all files to match the new module nameDominik Holland2021-06-161-0/+668
This is a follow-up of the previous commit. Task-number: AUTOSUITE-1633 Change-Id: I6feb63a346a4c94c434df83cd1255904fe8acc68 Reviewed-by: Robert Griebl <robert.griebl@qt.io>