summaryrefslogtreecommitdiffstats
path: root/src/plugins/bearer/connman/qconnmanengine.cpp
Commit message (Collapse)AuthorAgeFilesLines
* QtNetwork: Delete bearer managementMårten Nordheim2020-04-051-570/+0
| | | | | | | | | | All remaining pieces are gone, configuration included. Relevant CMakeLists and configure.cmake were regenerated. Fixes: QTBUG-76502 Change-Id: I667b5da7e3802830d236d50b5e9190c2ee9c19e2 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix static linking when bearer management plugins are builtSimon Hausmann2019-10-151-1/+1
| | | | | | | | | | | | | The bearer plugins include copies of moc generated code that results in duplicate symbols when static linking pulls in multiple bearer plugins. Instead of relying on toolchain defined behavior, this patch moves the code that is shared into the shared library as private API. This way it will exist only once in memory and once at link time, resulting no linking errors about duplicate symbols. Fixes: QTBUG-79211 Change-Id: Iafa45c234e7fdd998971fc9cb7116334d08907bc Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Short live qt_unique_lock/qt_scoped_lock! (until C++17)Marc Mutz2019-08-131-23/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that QRecursiveMutex is getting split off of QMutex, QMutexLocker will stop working on QRecursiveMutex once the split has been finalized in Qt 6. Even today, QMutexLocker contains casts from QBasicMutex to QMutex that some reviewers are uncomfortable with. One way to carry QMutexLocker forward is to template it on the mutex type, possibly with aliases like QBasicMutexLocker and QRecursiveMutexLocker. C++17 code would then not require a port, thanks to CTAD. But we have the problem now, and we can't template QMutexLocker in Qt 5. The alternative is to look at std and realize that they have surpassed QMutexLocker in expressiveness already. A scoped_lock cannot be unlocked again, a unique_lock can be moved around. QMutexLocker doesn't do either. The only "problem" is that the std lock classes are already templates, but we can't, yet, rely on C++17 CTAD to make them look as if they weren't. So, prepare for a future with C++17 CTAD by writing factory functions, qt_scoped_lock and qt_unique_lock, which will later port mechanically to their C++17 equivalents (mostly). The functions are added to a new private qlocking_p.h becauee we don't want to make them public. These are for use in Qt's own implementation, or for users that don't care about compatibility and will not mind them to be removed once we depend on C++17. Originally, I planned to use qmutex_p.h instead, but that header is not self-contained and causes build errors when we started to include it into libraries other than QtCore. Regarding the return value of qt_scoped_lock: Ideally, we'd like to return a std::scoped_lock, but two things stand in the way: First, scoped_lock was only added in C++17 (we fall back to lock_guard if scoped_lock is not available). Second, returning one from a function requires C++17 guaranteed copy elision, because neither scoped_lock not lock_guard have a copy ctor. In order for code not to come to depend on a particular lock class, we return any of lock_guard, unique_lock or scoped_guard, depending on what the compiler supports, and therefore wrap the functions in the unnamed namespace to avoid running into ODR if (private) headers are used from different projects (autotests, e.g.). By the time we can drop them, however, qt_*_lock will be semantically 100% identical to their replacements. Port some initial users. Change-Id: I2a208ef2a4a533ee8e675812273986460e6b4d00 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* bearer plugins: eradicate Java-style iterators and Q_FOREACHMarc Mutz2016-09-021-7/+9
| | | | | | | | | | | | | | | | | | | This is the simple part of the job, removing Q_FOREACH loops which are obviously safe to be replaced by C++11 range-for. In QNetworkManagerEngine::sessionStateForId(), instead of iterating over QHash::keys(), iterate over the QHash directly (using C++11 range-for, as we're only using the values, not the keys). In QNetworkManagerEngine::connectToId(), simplify the loop body by merging three identical if blocks into one. Saves ~1.7KiB accumulated over the three Linux bearer plugins: connman, generic, nm (optimized GCC 6.1 Linux AMD64 build). Change-Id: Ic66139c25f7e2173f5a919927e269b873334d2c8 Reviewed-by: Lorn Potter <lorn.potter@canonical.com>
* Merge remote-tracking branch 'origin/5.6' into 5.7Edward Welbourne2016-07-261-3/+7
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qtemporarydir.cpp One side encapsulated a repeated piece of #if-ery in a local define; the other added to the #if-ery. Made its addition to the other's. src/corelib/kernel/qeventdispatcher_unix_p.h One side moved some members into a struct; this collided with a #undef check that neither side now has. Discarded the #undef part. src/gui/opengl/qopengltexturehelper_p.h 5.7 deleted a bunch of methods; not clear why merge got confused. src/tools/moc/moc.cpp One added a name to the copyright header; another changed its URL. Change-Id: I9e9032b819f030d67f1915445acf2793e98713fa
| * Bearer/Connman: emit missing updateCompleted()Takumi ASAKI2016-07-201-3/+7
| | | | | | | | | | | | | | | | | | | | | | emit missing updateCompleted() in some conditions after QNetworkConfigurationManager::updateConfigurations() is called. * There is no wifi devices. * The wifi device returns error when scan is called. Change-Id: I2668644249a0584bf43efea95348424aa64ab4a6 Reviewed-by: Lorn Potter <lorn.potter@canonical.com>
* | Updated license headersJani Heikkinen2016-01-151-14/+20
|/ | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: I046ec3e47b1876cd7b4b0353a576b352e3a946d9 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Use QList::reserve(), reduces reallocationsSérgio Martins2015-06-271-1/+3
| | | | | Change-Id: I9f218bdd65a97ad9c867b695f3ba27ab64a54d2a Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Replace #ifdefs with qmake feature checks.Ulf Hermann2015-06-221-2/+0
| | | | | | | | This prevents the building of dysfunctional plugins that don't define a loader function, or won't compile at all. Change-Id: Ib62edb8db4a8917effa05292cb702bb4022f552c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Update copyright headersJani Heikkinen2015-02-111-7/+7
| | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Outdated header.LGPL removed (use header.LGPL21 instead) Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing combination. New header.LGPL-COMM taken in the use file which were using old header.LGPL3 (src/plugins/platforms/android/extract.cpp) Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license combination Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-10-141-1/+1
|\ | | | | | | Change-Id: Ic01820f2390e419a5b286643e7351e85ae032473
| * Fix QtBearer connman backend report correctly on lte networkLorn Potter2014-10-131-1/+1
| | | | | | | | | | | | Task-number: QTBUG-41813 Change-Id: I977facc2ee59571d24e60ac9d5d41e957403b344 Reviewed-by: Richard J. Moore <rich@kde.org>
* | Don't use QStringLiteral in comparisonsMarc Mutz2014-10-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | For QLatin1String, operator== is overloaded, so comparing to a latin-1 (C) string literal is efficient, since strlen() is comparatively fast. OTOH, QStringLiteral, when not using RVO, litters the code with QString dtor calls, which are not inline. Worse, absent lambdas, it even allocates memory. So, just compare using QLatin1String instead. Change-Id: I7af3bf3a67c55dae33ffaf9922d004fa168a3f9c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Update license headers and add new license filesMatti Paaso2014-09-241-19/+11
| | | | | | | | | | | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* | Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-09-231-55/+5
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The isAlwaysAskOption was removed in 38621713150b663355ebeb799a5a50d8e39a3c38 so manually removed code in src/plugins/bearer/connman/qconnmanengine.cpp Conflicts: src/corelib/global/qglobal.h src/corelib/tools/qcollator_macx.cpp src/corelib/tools/qstring.cpp src/gui/kernel/qwindow.cpp src/gui/kernel/qwindow_p.h src/gui/text/qtextengine.cpp src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig_p.h src/plugins/platforms/android/qandroidinputcontext.cpp src/plugins/platforms/xcb/qglxintegration.cpp src/plugins/platforms/xcb/qglxintegration.h src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/testlib/qtestcase.cpp src/testlib/qtestlog.cpp src/widgets/dialogs/qfiledialog.cpp src/widgets/kernel/qwindowcontainer.cpp tests/auto/corelib/tools/qcollator/tst_qcollator.cpp tests/auto/gui/text/qtextscriptengine/tst_qtextscriptengine.cpp tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp Change-Id: Ic5d4187f682257a17509f6cd28d2836c6cfe2fc8
| * remove always ask option.Lorn Potter2014-08-231-51/+5
| | | | | | | | | | | | | | | | | | | | | | Jolla removed the always ask option in the UI, which is the reason for all this code. Now, if mobile data is autoconnectable, whether roaming or home, it will be connected. Change-Id: I6a86315262e8c4c5551b2b2097389559096f14d5 Reviewed-by: Pasi Sjöholm <pasi.sjoholm@jolla.com> Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | Assign a parent to QConnmanServiceInterface instancesJakub Adam2014-06-051-1/+1
| | | | | | | | | | | | | | Makes sure they are properly deleted. Change-Id: I60a64c43456308ad9b6d8d0e3e8cbef8c2afb43e Reviewed-by: Aaron McCarthy <mccarthy.aaron@gmail.com>
* | fix crash in connman bearer backend when accessing null objectsLorn Potter2014-05-221-3/+9
| | | | | | | | | | | | Change-Id: Ib199b4093d86d1596b630223d0734171ba0d82c5 Reviewed-by: Lorn Potter <lorn.potter@jollamobile.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | make sure connman bearer service is autconnect before connectingLorn Potter2014-03-201-1/+14
|/ | | | | Change-Id: I4c9a93d69f7fe990bf9d7f2e939abbe2c82ba449 Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Normalize signal & slot signatures in connectionThiago Macieira2014-02-221-2/+2
| | | | | | | | | | | Profiling showed that Qt Creator spent 2% of its load time normalizing signals and slots. By pre-normalizing everything, we ensure that there is no runtime cost. Profiling after this commit and the others in this series shows that the cost dropped down to zero. Change-Id: Ifc5a2c2552e245fb9a5f31514e9dd683c5c55327 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Refactor and remove dead code, add property caching.Lorn Potter2014-02-071-204/+197
| | | | | | | This helps with a flood of dbus messages due to properties. Change-Id: I7aa9d36a077d84a88dab561d007d597b0780e096 Reviewed-by: Aaron McCarthy <mccarthy.aaron@gmail.com>
* make 'AlwaysAsk' if found help determine whether the configuration is ↵Lorn Potter2014-01-111-1/+7
| | | | | | | | | | | Discovered or not. Since bearer has no idea about user interaction, we just do this, and make the roaming/always ask scenario unavailable. Change-Id: Id509a4d3346cdbb9367ddb465364c3500fc62fdf Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* fix connman QNetworkConfiguration DiscoveredLorn Potter2014-01-111-5/+7
| | | | | | | | | | Make Discovered depend on autoconnectable service This stops seemingly automatic use of a non autconnectable service, and allows the connection dialog to popup. Change-Id: Idea9a22eb4bbfb4fefeca7867526a2ddc3954376 Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* update the network configuration listLorn Potter2014-01-111-0/+22
| | | | | | | | | when changes in the networks happen. Task-number: QTBUG-34021 Change-Id: I2bd187e7d04d6876294f18d917c9a384afe5db35 Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* On configuration removal, take it away from foundConfigurationsLorn Potter2013-12-161-0/+1
| | | | | | | | | Prevents derefence of freed QNetworkConfigurationPrivate pointer in QConnmanEngine::getConfigurations(). original submitter: Jakub Adam <jakub.adam@jollamobile.com> Change-Id: Ib915c5a68aeb3196c6ac91c96338ebee9dad30b6 Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* make sure to signal only changed configurationsLorn Potter2013-12-161-4/+8
| | | | | | | really use this Change-Id: I082f8d84da572a2c51f67355dcbc06394940c421 Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* add NetworkSessionRequired to connman caps.Lorn Potter2013-12-161-1/+2
| | | | | | | | This allows QNetworkAccessManager::get(..) to make a connection, instead of failing. Change-Id: If5af707f7e67946357f5530cac724b223441116a Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* always use connman to connect to cellular servicesLorn Potter2013-12-161-27/+2
| | | | | | | connman provides better error messages. Change-Id: Ifcfd4a4ff8d632273ab9ff7478a6c43cbf2cde98 Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Whitespace cleanup: remove trailing whitespaceAxel Waggershauser2013-03-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Remove all trailing whitespace from the following list of files: *.cpp *.h *.conf *.qdoc *.pro *.pri *.mm *.rc *.pl *.qps *.xpm *.txt *README excluding 3rdparty, test-data and auto generated code. Note A): the only non 3rdparty c++-files that still have trailing whitespace after this change are: * src/corelib/codecs/cp949codetbl_p.h * src/corelib/codecs/qjpunicode.cpp * src/corelib/codecs/qbig5codec.cpp * src/corelib/xml/qxmlstream_p.h * src/tools/qdoc/qmlparser/qqmljsgrammar.cpp * src/tools/uic/ui4.cpp * tests/auto/other/qtokenautomaton/tokenizers/* * tests/benchmarks/corelib/tools/qstring/data.cpp * util/lexgen/tokenizer.cpp Note B): in about 30 files some overlapping 'leading tab' and 'TAB character in non-leading whitespace' issues have been fixed to make the sanity bot happy. Plus some general ws-fixes here and there as asked for during review. Change-Id: Ia713113c34d82442d6ce4d93d8b1cf545075d11d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Ofono also changed the context API. This updates it to workLorn Potter2013-02-231-2/+2
| | | | | Change-Id: Ic3a055cb6a56be89b48a9ac77776217f910dee44 Reviewed-by: Lorn Potter <lorn.potter@jollamobile.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-181-1/+1
| | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-221-24/+24
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* plugins/bearer: normalize signals/slotsMarc Mutz2012-07-131-2/+2
| | | | | | | | | This is the result of running util/normalize --modify from Qt 4.7 with manual review. Change-Id: I7c9539056a4434ed10a0255152eac1781f7833be Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Add const & to foreach 'iterators'Albert Astals Cid2012-06-271-10/+10
| | | | | | | Change-Id: I8c0600dfd919f45d14a0011f2da9b9fe0b9a0df3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* No need to stat with QFile::exists before QFile::open, for reading.David Faure2012-02-171-2/+2
| | | | | | Change-Id: I14ca7f8a377bca39004defc96d69d62c151181f5 Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Jeremy Katz <jeremy.katz@nokia.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-301-1/+1
| | | | | | | | | | As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: I311e001373776812699d6efc045b5f742890c689 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update contact information in license headers.Jason McDonald2012-01-231-1/+1
| | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: I431bbbf76d7c27d8b502f87947675c116994c415 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update copyright year in license headers.Jason McDonald2012-01-051-1/+1
| | | | | Change-Id: I02f2c620296fcd91d4967d58767ea33fc4e1e7dc Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update licenseheader text in source files for qtbase Qt moduleJyri Tahtela2011-05-241-17/+17
| | | | | | | Updated version of LGPL and FDL licenseheaders. Apply release phase licenseheaders for all source files. Reviewed-by: Trust Me
* Initial import from the monolithic Qt.Qt by Nokia2011-04-271-0/+594
This is the beginning of revision history for this module. If you want to look at revision history older than this, please refer to the Qt Git wiki for how to use Git history grafting. At the time of writing, this wiki is located here: http://qt.gitorious.org/qt/pages/GitIntroductionWithQt If you have already performed the grafting and you don't see any history beyond this commit, try running "git log" with the "--follow" argument. Branched from the monolithic repo, Qt master branch, at commit 896db169ea224deb96c59ce8af800d019de63f12