summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix problems when building for test coverageDominik Holland2018-04-236-30/+13
| | | | | | | | | | | | | The coverage target needs to be available in all Makefiles not just in debug configurations Use qtLibraryTarget for all plugins in the servicemanager autotest. This will automatically add the needed postfixes for debug and release plugins Change-Id: I887e27ce1cc514d74cbaef97b02eeb935939a7cf Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* Clazy and clang-tidy fixesDominik Holland2018-04-1974-540/+462
| | | | | | | Applied to all modules and the plugins Change-Id: Id1dd9adb4a9f5bdcd452242785439e118d63ef10 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* Fix the submodule detection during the configure stepDominik Holland2018-04-182-2/+5
| | | | | | | | | | | When building qtivi as part of the qt5 super repository the .qmake.conf of qtivi is not loaded during the configure step. Because of that the configure.pri files use their own <MODULE>_ROOT variables for the current path to check for the submodule. Task-number: AUTOSUITE-277 Change-Id: Ieefc612e1cb51b6fff5df692e55358c8972edf8e Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* Add documentation for the QIviPendingReply classDominik Holland2018-04-172-20/+530
| | | | | | | | | | | | | This includes C++ documentation for: QIviPendingReply QiviPendingReplyBase QiviPendingReplyWatcher and QML documentation for the PendingReply Task-number: QTAUTO-917 Change-Id: I4bd0d47b35ad598ac63fd1cdc212647b44e3c365 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* Disable the ivimedia-simulator backend when no QtMultimedia is availableDominik Holland2018-04-122-1/+7
| | | | | Change-Id: If00b2da0313e4a9f0352bcf50fcf1a609a2eea48 Reviewed-by: Bernd Weimer <bernd.weimer@pelagicore.com>
* Add a note why the ivivehiclefunctions module is not buildDominik Holland2018-04-121-1/+8
| | | | | | | E.g. when the ivicore module or the ivigenerator is missing Change-Id: I9efad9f74ee64eb8e5f4f52c0b36ae67a605aaa0 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* ivigenerator: Generate correct public headers when building a qt moduleDominik Holland2018-04-127-1/+25
| | | | | | | | | | When building a qt module all public headers need to use the module name in their include statements. This is done by using the QFACE_MODULE_NAME qmake variable, which is now mandatory when generating a qt module from a qface file Change-Id: I31232a48a3c978552a27f1d82f3eacba480427b2 Reviewed-by: Antti Hölttä <ahoelttae@luxoft.com>
* Update the version to use the new QtAS version schemaDominik Holland2018-04-112-3/+3
| | | | | | | The new version is now called 5.11 (same as the branch) Change-Id: If53387ecdefb6db9034b3c25b8238e0563c41bbb Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* Mark the attribute system obsoleteDominik Holland2018-04-105-19/+5
| | | | | | | | | The QIviProperty and QIviAttribute where already marked obsolete. The attribute system documentation which gives the overview was still listed and is now marked deprecated as well. Change-Id: Ie4890b92679856f91bd4ba7358ebb2bd719603a7 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* Fix bug with qtro-backend's pending repliesAntti Hölttä2018-04-092-0/+7
| | | | | | | | Calling a method through a remote backend now returns directly a failed reply if the client-server connection is not valid. Change-Id: I7be9dc5c71f111497ed03547bf1c0bc2457f9f43 Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* Update the README.mdDominik Holland2018-04-041-23/+20
| | | | | | | | | The new README reflects the repository setup and explains the basic build instructions as well as providing some links to the configuration documentation available at doc.qt.io Change-Id: Ibaaf6b1846dc81c9b7bbf966233f9d3956d7f48f Reviewed-by: Antti Hölttä <ahoelttae@luxoft.com>
* Make the QIviPendingReplyWatcher constructor privateDominik Holland2018-04-041-1/+1
| | | | | | | | The watcher should only be created by the QIviPendingReplyBase, which is a friend class. Change-Id: I58ccc2e582a3e66876bb49543263eb9fc57e5dbd Reviewed-by: Antti Hölttä <ahoelttae@luxoft.com>
* ivigenerator: Fix Makefile dependency problemsDominik Holland2018-04-041-0/+6
| | | | | | | | | When using a developer-build and 'make -j100' you could run into Makefile errors. This is fixed by adding an additional target for the qtivi_qface_install folder. Change-Id: I8b1103d820a2f703a706102c89b791f33156f3ab Reviewed-by: Antti Hölttä <ahoelttae@luxoft.com>
* Only check for the taglib submodule when really neededDominik Holland2018-03-291-1/+1
| | | | | | | | The taglib submodule doesn't need to be initialized when using the taglib from the system or no taglib at all. Change-Id: I9d8347de904383a2b577698c5a61c10d672eb7bd Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* Add config check for remote objects generatorAntti Hölttä2018-03-293-7/+29
| | | | | | | | | Add a configure check that disables ivigenerator's qtro features when the qt's remoteobjects module is not available. Task-number: QTAUTO-850 Change-Id: I43eddc59d84d28f5181f9ebf039eef49fbbde8d2 Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* Update the QIviSearchAndBrowseModel to use the new QIviPendingReplyDominik Holland2018-03-2815-152/+133
| | | | | | | | | Because of this, the indexOf function is now easier to implement and works from QML and C++. Task-number: QTAUTO-838 Change-Id: I094511abf8f55fd9728aa94e552dcc79f9bf0b58 Reviewed-by: Antti Hölttä <ahoelttae@luxoft.com>
* Add a warning if QIviAbstractFeature::connectToServiceObject was not calledDominik Holland2018-03-233-0/+11
| | | | | | | | | All subclasses need to call this function when reimplementing connectToServiceObject as otherwise the errorChanged and the initializationDone signal doesn't get connected properly. Change-Id: I0e9b39fe17ea019f36786931a89700ab8f08b67b Reviewed-by: Antti Hölttä <ahoelttae@luxoft.com>
* Use the new QIviPendingReply class in the autogenerator templatesDominik Holland2018-03-2314-46/+139
| | | | | | | | | | | | | Every method inside a qface file will now return a QIviPendingReply. This also changes the signature of the QIviVehicleFunctions module and its backend implementations. Also updated the window_qml example to make use of the new returned QIviPendingReplies from the open() and close() calls. Task-number: QTAUTO-837 Change-Id: Icf8a31fcd94630254f71b0c4fb2e1ef4296591af Reviewed-by: Antti Hölttä <ahoelttae@luxoft.com>
* Fix backend initialization issuesAntti Hölttä2018-03-2112-62/+143
| | | | | | | | | Fix initialization issues in generated backend classes and also in the QIviAbstractFeature class. Add initialization check to the autogenerated test. Add initialization and reconnection tests for remote object features. Change-Id: I5dbb179c612da721676a4b4959d8626a237f479a Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* Use QMAKE_PROJECT_NAME to mark all test executables for QtCreatorDominik Holland2018-03-2013-4/+17
| | | | | | | | | | | QtCreator uses the pro file name for selecting a runnable target. In this list it's not easy to spot which executables are autotest and which are real runnable tools/examples. Adding QMAKE_PROJECT_NAME to all autotests pro files makes sure they are prefixed with tst_ as the excutable itself is as well. Change-Id: I13f21e14eccb392e4bfd14124ce483720a1f22ac Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* QIviPendingReply: Only create a watcher when really neededDominik Holland2018-03-202-9/+56
| | | | | | | | | | | | The default constructor of QIviPendingReplyBase is just intended for the Qt meta type system and should create a invalid reply. In this case we don't need to create a watcher. Also added a static function to create failed replies. This is convenient for return statements. Change-Id: Ifd61d87fe894abf03fae150f4f56ceadc2773699 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* Add the QIviPendingReply classDominik Holland2018-03-167-2/+1116
| | | | | | | | | | | | | | The QIviPendingReply class is templated to provide a typesafe C++ API, but at the same time being usable from QML directly. For C++, signals are provided to inform the user that the reply has succeeded or failed. From QML one can either use the signals or using the "then" method to register JavaScript callbacks very similar to a JavaScript Promise. As the class provides the "then" method, it should also be convertable into a real JavaScript Promise. Task-number: QTAUTO-836 Change-Id: I030c70a964b48a5083ecef7f527d8a0b1c85f137 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* Fix the custom signals and slots in qtro templatesAntti Hölttä2018-03-1510-27/+242
| | | | | | | | | | | | | Fix the custom slot implememtation in qtro templates. Calling a slot on a remote object replica causes an asynchronous call and returns a pending result object. The current backend slot implementation merely waits for the call to finish before returning to the code that uses it. This behavior will change when all method calls are made asynchronous. Also add tests for passing a remote objects initial values to newly connected clients. Change-Id: I278bfc583a657e8a30265af8ec6c02e178f0f245 Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* Disable the QtSimulator connection of the simulator backend by defaultDominik Holland2018-03-141-4/+8
| | | | | | | | | | The simulator backend will now only create a QtSimulator connection when a valid simulator hostname is set. In addition the logging is more clear what's currently happening Change-Id: I33458d98bc03a461bff7c0a0e69d486c3f0e2da8 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* Fix linker errors with older Qt versionsDominik Holland2018-03-091-6/+6
| | | | | Change-Id: I33e72e89d04732b798257a6fa663dcafd42af3b9 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* mediaplugin: Change the default mode to use a persistent databaseDominik Holland2018-03-093-15/+31
| | | | | | | | | | | | The database is now written to the application's cache folder and is reused on the next start of the application. The indexer will now also use the systems music folder by default. The non persistent database can be enabled by setting the QTIVIMEDIA_TEMPORARY_DATABASE environment variable. Change-Id: I0c496295499e618d7ca5970a695aef83ee3cc8fd Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* Add a reload method to QIviSearchAndBrowseModelDominik Holland2018-03-093-2/+52
| | | | | | | | | | | The reload() method will reset the model and fetch the data again from the backend. This also fixes some problems, which resulted in duplicated entries during the initial fetch. Change-Id: I9741f23165a2da7a1587a2893f891a386d2cbabe Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* Add qtro templates that rely on the qt's replica compilerAntti Hölttä2018-03-0916-351/+93
| | | | | | | | | | Add qtro templates that rely on the qt's replica compiler instead of homemade replica and source templates. IVIGenerator generates .rep files that are passed further to the replica compiler. Task-number: QTAUTO-849 Change-Id: I2bc3bb1899386028b9e99ac991f679b56544e3ca Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* media_simulator: Report an error if the database path is not validDominik Holland2018-03-091-2/+6
| | | | | Change-Id: I40f2343bf9818b881e29e599ae0b8c1b7735fa63 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* Improve the DataChanged mode of QIviSearchAndBrowseModelDominik Holland2018-03-093-3/+76
| | | | | | | | | | Previously the DataChanged mode didn't work as expected when the View jumped to end of the list without scrolling. The model now remembers what chunks have been fetched and fetches the needed chunk once a item in this chunk needs to be accessed. Change-Id: I268f00aeb8d8ec204e8c16d54f2759792eea3117 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* Add autotest for the ivigenerator's qtro-featuresAntti Hölttä2018-03-0514-2/+620
| | | | | | | | | Add autoest for ivigenerator's qtro-features. Test program runs the server and client in the same process and tests the default values, initializations and the communication. Change-Id: I57176ad86b6b9f6f0a2ecbabe51430237c6dd124 Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* [media] speedup media indexingLukáš Tinkl2018-02-282-18/+15
| | | | | | | | | - the biggest bottleneck turned out to be the cover art saving to a PNG file - plus some other minor speedup and const fixes Change-Id: I53d79a6cc433edacac6452ec198d75c2b30ebe2c Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* ivigenerator: Fix the remote objects generation templatesDominik Holland2018-02-263-3/+3
| | | | | | | | | The last merge from 5.9 also included a fix to always generate uppercase class names. This also needs to be done in the remote objects templates. Change-Id: I7215db79e559254d2405adedc75fa5811a62b7c8 Reviewed-by: Antti Hölttä <ahoelttae@luxoft.com>
* Merge remote-tracking branch 'origin/5.9' into devDominik Holland2018-02-2626-62/+141
|\ | | | | | | Change-Id: Ifa81cd2a44e492204c19e395300cd0e95cbebe92
| * Fix section levels in the Qt AS Overview pagev2.0_QtASTarja Sundqvist2018-02-211-3/+3
| | | | | | | | | | | | | | | | | | | | | | Qt Automotive Suite Overview page contains section2 and section1 level titles. All titles changed as section1 (so the font size is same in each title). Task-number: QTAUTO-806 Change-Id: I2f732e87f3f33aa419dc332bbb1ea9ef3e70684d Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
| * Remove incorrect information from Qt Automotive Suite documentationTarja Sundqvist2018-02-212-19/+3
| | | | | | | | | | | | | | | | | | | | Incorrect information and links removed from the Qt Automotive Suite documentation. Task-number: QTAUTO-806 Change-Id: I20dabe3480551414a236ad5ae43c065445e3d405 Reviewed-by: Miao Luo <miao.luo@qt.io> Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
| * Fix the media_simulator to work on windowsDominik Holland2018-02-142-5/+15
| | | | | | | | | | | | | | | | QtMultimedia is not threadsafe. We now use a queued connection to set the current Track.w Change-Id: Ibb299805752efc29c1e2342e918f703007713418 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
| * Fix signal emission bug in QIviSerchAndBrowseModelDominik Holland2018-02-142-1/+12
| | | | | | | | | | | | | | | | The availableContentTypesChanged signal is now emitted whenever it is changed from within the backend. Change-Id: Ia0867d7fbccce5695cd892c800f09002aeea737f Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
| * Add command line options to the autogenerated control-panelDominik Holland2018-02-141-0/+9
| | | | | | | | | | Change-Id: Iac5a30b99316c3c217361c165f6390a17dc59b4a Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
| * Always generate class names with a uppercase first letter for modulesDominik Holland2018-02-1413-29/+33
| | | | | | | | | | | | | | | | | | The module names within qface are most of the time lowercase, which lead to lowercase class names and also registering a lower case QML singelton, which is not allowed. Change-Id: Ie52bf5bf6c564dab9eabc6040859f70be6cd3cb7 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
| * Add FOSS page to Qt Automotive Suite documentationTarja Sundqvist2018-02-124-2/+58
| | | | | | | | | | | | | | | | | | | | Added a new page that refers to the Qt AS module documentation including FOSS information. Task-number: AUTOSUITE-185 Change-Id: I760d8c1f75c727fc5635e03a79d96b417b260504 Reviewed-by: Miao Luo <miao.luo@qt.io> Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
| * Fix deployment of the qface-ivi-climate exampleDominik Holland2018-02-093-3/+8
| | | | | | | | | | | | Task-number: AUTOSUITE-190 Change-Id: I18a9f4d00951d3b0284846d7ef2808f59a512ff8 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* | Fix error when building with a developer-buildDominik Holland2018-02-261-0/+4
| | | | | | | | | | Change-Id: Ic2c8af3026bb9bad36b7db143fe47646d95d3473 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* | Check whether the taglib submodule is initialized an report an error if notDominik Holland2018-02-262-0/+25
| | | | | | | | | | Change-Id: I4c70a2b71ac3bbf0cb2aeb6eaf7531994ab0e539 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* | Remove the QtMultimedia based indexerDominik Holland2018-02-232-49/+17
| | | | | | | | | | | | | | | | | | As taglib is now a 3rdParty we can now always rely on it for indexing. If taglib is disabled, the complete indexer is disabled. This is better than providing an unstable indexer which doesn't work most of the times. Change-Id: I5995122f786ca083063153d780505d61f2d612a7 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* | media_simulator: Improve error reportingDominik Holland2018-02-239-31/+146
| | | | | | | | | | Change-Id: I5d8224cad498b52a883fa4381918e28fe8c06add Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* | Improve error reporting within QMLDominik Holland2018-02-238-39/+133
| | | | | | | | | | | | | | | | | | | | Instead of using qWarning for reporting errors the new qtivi_qmlOrCppWarning is used. This function will try to detect whether the API is used within QML and report an error incl. file and line numbers when possible. Change-Id: I96bdd48ebec8382e5115885e067b23298110deeb Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* | Only return the actual error message in QueryParser::errorString()Dominik Holland2018-02-233-3/+3
| | | | | | | | | | | | | | | | Previously also the column and additional text was added. This can lead to problems when using it inside a QML error. Change-Id: I6c54526fe29538b0ad51528f86dfb9fc89231db1 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* | Expose the QIviServiceManager to QMLDominik Holland2018-02-217-24/+94
| | | | | | | | | | | | | | | | Also add more metadata to the model, like the plugin name and the available interfaces Change-Id: I93e4f0139c862c3988b2509e398ae4ed8d3c6018 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* | Add taglib as 3rdPartyDominik Holland2018-02-207-21/+305
| | | | | | | | | | | | | | | | | | | | This makes the the ivimedia simulator backend work properly on all tier1 platforms. It can be configured using the --taglib configure option. Possible values are: no, qt and system Change-Id: I52f8589a5235ac8d4776bf46709fd88e4fc2022a Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>