summaryrefslogtreecommitdiffstats
path: root/src/intent-server-lib/intentserverrequest.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Modernize string literalsRobert Griebl2024-01-081-1/+3
| | | | | | | | | Replace all our custom qSL/qL1S/qL1C macros with standard C++ and QString unicode string literals. Change-Id: I9e0b69fb46525421f408f260518a69b8f8125d99 Pick-to: 6.7 Reviewed-by: Dominik Holland <[email protected]>
* Fix a potential crash, handling an intent request during app removalRobert Griebl2023-12-081-11/+12
| | | | | | | | | | | | | | | Handling/disambiguating an incoming intent request on the server could lead to accessing a dangling Intent pointer, if the application serving that Intent was removed during that time period. The solution is to run the whole handling and disambiguation step on copies of the Intent pointers. If an app DOES get removed during handling, the intent call will now fail gracefully, because we either cannot start the (now missing) application or we cannot establish an IPC connection anymore. Change-Id: I2bddf653304f37205c42bd430df448b46f73169a Pick-to: 6.6 6.5 Reviewed-by: Bernd Weimer <[email protected]>
* QML can now deal with QList<object derived type *> propertiesRobert Griebl2023-09-261-2/+2
| | | | | | | | | | This means we can finally make our QML API look nicer. Also extended the simple QML auto-test to make sure the changed API gets tested. Change-Id: I4ce3d7d49b2cf93ed1959bd2c1c835bd3e4ce0dc Reviewed-by: Dominik Holland <[email protected]>
* Intents: add broadcastsRobert Griebl2022-09-161-8/+23
| | | | | | | | | | | | | | | This commit adds a new intent type: a broadcast. Broadcasts will be delivered to all applications (*), but they do not have the possibility to return a reply back to the sender. Implementation wise, they are just treated as normal requests that are multiplexed for every application. (*) This can be limited with the new handleOnlyWhenRunning flag. Change-Id: If9f954cf5e52707624b95c80c8e984dfd6c4315a Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Dominik Holland <[email protected]>
* Use SPDX license identifiersDominik Holland2022-06-151-30/+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. Pick-to: 6.4 Task-number: QTBUG-67283 Change-Id: I09660e42dea769d720ff30e652485d9861cea965 Reviewed-by: Robert Griebl <[email protected]>
* Update copyright headers to 2021 an finally switch to the GPLRobert Griebl2021-06-011-25/+13
| | | | | | | | | Also removed all the SPDX tags and -QTAS license extensions. Change-Id: Ibd10fe37afcbba832831d027cf2f1891ca0226c0 Fixes: AUTOSUITE-1648 Fixes: AUTOSUITE-1646 Reviewed-by: Dominik Holland <[email protected]>
* Build optimization: include all moc cpps directly in the main cpp fileRobert Griebl2020-08-111-0/+2
| | | | | | | | This is a Qt module policy and helps a lot with build times -- especially on CI setups. Change-Id: I90574deb7e7b215054a5037b99ee4e7c7a040568 Reviewed-by: Thomas Senyk <[email protected]>
* Change intent implementation to better fit new architectureRobert Griebl2019-10-281-3/+4
| | | | | | | | | | - IntentServer is now a list model as all the other singletons. - IntentModel is the companion filter model for the IntentServer, just like the ApplicationModel is for the ApplicationManager - Intent is now a Q_OBJECT instead of a Q_GADGET Change-Id: Ifead097c543fb00b08ab21210e4526a6f65ba167 Reviewed-by: Dominik Holland <[email protected]>
* Rename from Luxoft AM to Qt AMRobert Griebl2019-08-051-1/+1
| | | | | | Change-Id: I84bbd9e7f735ed1864804a9887d3a02b7c925e53 Reviewed-by: Vladimir Minenko <[email protected]> Reviewed-by: Bernd Weimer <[email protected]>
* Update copyright statementsRobert Griebl2018-12-181-1/+2
| | | | | | | | - added 2019 - everything is (c) Luxoft instead of Pelagicore from now on Change-Id: I82f874f0b0601deae1bb39347821edaf3c4cc6d8 Reviewed-by: Dominik Holland <[email protected]>
* Multiple cleanupsRobert Griebl2018-10-301-1/+0
| | | | | Change-Id: I8f0df05d2d1cf7555ac7cd9ab681012953351f6a Reviewed-by: Daniel d'Andrada <[email protected]>
* Intents: cleanup and new featuresRobert Griebl2018-10-191-24/+36
| | | | | | | | | | | | | - A lot of API and naming cleanup - Intent is now a Q_GADGET and is passed around by value (prerequisite for dynamic app removal) - QUuid in Qml is working nowadays, so we only have to convert for D-Bus - Requests can now also be created from within the system-ui (this had the sideeffect of moving the createIntentRequest functions out of the ApplicationInterface and into the new singleton "IntentClient") Change-Id: I5999be4d67eeadc0b78859e06d16677a27831e24 Reviewed-by: Dominik Holland <[email protected]>
* Add support for Intents for both single- and multi-process modeRobert Griebl2018-10-121-0/+121
This commit adds support for Intents, aka. a loosely coupled IPC between arbitrary applications in the AM system. (please read https://wiki.qt.io/QtAppMan-Intents for same background information). The core implementation on both server and client side in this patch is not dependent on the AM itself (apart from the common-lib for convenience sake, but this dependency could easily be removed). There are 2 interfaces that are implemented in the manager-lib and launcher-lib that connect the Intent core to the actual AM and AM's qml runtime launcher. Missing features: - updating the list of intents on app installation and removal - support for background services in the AM itself - support for "file-handles" in the request and reply part - documentation - an example that is better focused on intents themselves Change-Id: Ia7cab2bb569fb2cdb8e5ab7e8167e477cff3068c Reviewed-by: Dominik Holland <[email protected]>