aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/baremetal/baremetaldevice.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Baremetal: Inline baremetaldeviceconfigurationwizard.*hjk2025-01-201-2/+87
| | | | | | | ... into baremetaldevice.cpp. Change-Id: I4586c2ca252dbf26c319247cc3ddb6ced369a2ff Reviewed-by: Jarek Kobus <[email protected]>
* BareMetal: Use a StringAspect to store debugServerProviderIdhjk2024-08-061-21/+12
| | | | | Change-Id: I001587a460af928a22c891ea5600b5d2676f4b4b Reviewed-by: Christian Kandeler <[email protected]>
* ProjectExplorer: Change IDevice::toMap signaturehjk2024-08-011-3/+2
| | | | | | | | | | | From Store toMap() to toMap(Store). More symmetric code on the user side and better in line with ProjectConfiguration/AspectContainer at the price of a few more lines in the base. Change-Id: I6069c96c250c1846e870879bcb52c58fdd806478 Reviewed-by: Christian Kandeler <[email protected]>
* IDevice: Replace QSharedPointer with std::shared_ptrJarek Kobus2024-02-021-1/+1
| | | | | | | | | | | | | According to https://wiki.qt.io/Things_To_Look_Out_For_In_Reviews QSharedPointer impl is poor and it's going to be removed from Qt 7. Replace QWeakPointer with std::weak_ptr. Replace QEnableSharedFromThis with std::enable_shared_from_this. Use std::static_pointer_cast and std::dynamic_pointer_cast for casts used with QSharedPointer before. Change-Id: If255a100c790860934f36d52906b93f33c31cfe8 Reviewed-by: hjk <[email protected]>
* BareMetal: Use new setup scheme for various factorieshjk2023-11-171-12/+23
| | | | | Change-Id: I62f17efb8241acbfa954c07b0fa6f088990be7a2 Reviewed-by: Jarek Kobus <[email protected]>
* Plugins: A bit more Keys and Storehjk2023-08-251-2/+2
| | | | | Change-Id: Iee55eeaa881dd9f2047fdbe95ad8d827f4ba34e0 Reviewed-by: Marcus Tillmanns <[email protected]>
* Utils: Rename the new Storage to Storehjk2023-08-241-1/+1
| | | | | | | | | Apparently that's what the young people on the web use for such a thing. Change-Id: I75d5396ff3cb3c26efd6008b5f2261354c4f7896 Reviewed-by: Marcus Tillmanns <[email protected]> Reviewed-by: Jarek Kobus <[email protected]> Reviewed-by: <[email protected]>
* Use Utils::Storage instead of QVariantMap in a few placeshjk2023-08-231-1/+2
| | | | | Change-Id: I02833cf2bc3caaadc22ff93ae530e4aebe4c3868 Reviewed-by: Marcus Tillmanns <[email protected]>
* ProjectExplorer: Allow Devices to be added without using the wizardhjk2023-03-241-1/+0
| | | | | | | | | This re-organizes the buttons on the main device page a bit: The topmost one still starts the wizard selection, below that are direct individual buttons to add specific devices. Change-Id: I52b2803febf658259dde9589544656fd4c8fc889 Reviewed-by: David Schulz <[email protected]>
* Remove GPL-3.0+ from license identifiersKai Köhne2023-01-061-1/+1
| | | | | | | | | | | | | | | Since we also license under GPL-3.0 WITH Qt-GPL-exception-1.0, this applies only to a hypothetical newer version of GPL, that doesn't exist yet. If such a version emerges, we can still decide to relicense... While at it, replace (deprecated) GPL-3.0 with more explicit GPL-3.0-only Change was done by running find . -type f -exec perl -pi -e "s/LicenseRef-Qt-Commercial OR GPL-3.0\+ OR GPL-3.0 WITH Qt-GPL-exception-1.0/LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0/g" {} \; Change-Id: I5097e6ce8d10233993ee30d7e25120e2659eb10b Reviewed-by: Eike Ziller <[email protected]>
* IDevice: Provide default implementation for signalOperation()Jarek Kobus2022-11-291-5/+0
| | | | | | | | Don't repeat implementation returning nullptr in derived classes. Change-Id: I437f5d206464bf92706cd135d793438f46455ad6 Reviewed-by: hjk <[email protected]> Reviewed-by: <[email protected]>
* BareMetal: Convert to Tr::trhjk2022-10-111-8/+8
| | | | | | Change-Id: I7ac423c13d95b33cad332d2ce9fafb4f658980bc Reviewed-by: Alessandro Portale <[email protected]> Reviewed-by: <[email protected]>
* Use SPDX license identifiersLucie Gérard2022-08-261-25/+3
| | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Task-number: QTBUG-67283 Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813 Reviewed-by: Eike Ziller <[email protected]>
* ProjectExplorer: Remove IDeviceFactory::setCanCreatehjk2022-02-041-1/+0
| | | | | | | | | | | | | That's implicit now by using setCreator() The Android case looks odd as this is (and was) effectively static information at startup. This will be addressed in a follow-up patch, for now keep it functionally equivalent. Change-Id: I4e6082f88dcd21379186340189acb581caef172a Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: <[email protected]> Reviewed-by: Christian Kandeler <[email protected]>
* ProjectExplorer: Use a lambda for DeviceFactory::create()hjk2022-01-261-9/+7
| | | | | | | | Somewhat slimmer interface on the user code side and follows existing practice. Change-Id: I20ed8f5a00591265d32ea9ce93e1f1bbc76d2437 Reviewed-by: Christian Kandeler <[email protected]>
* De-Q_OBJECT-ify most DeviceFactorieshjk2020-01-231-9/+3
| | | | | | | | | | WinRt is the odd one out. Some were using setObjectName, but only used for debug reasons, not really needed. Change-Id: I4a370e4694443bc1c455fda4337ef3acfb9259b8 Reviewed-by: Christian Kandeler <[email protected]>
* BareMetal: Get rid of SSH connection parametersDenis Shienkov2019-11-261-11/+1
| | | | | | | | | | ... as we don't use the SSH parameters at all. Tested on the STM32 NUCLEO-F767ZI board with the OpenOCD and the ST-Link providers on Windows host. Change-Id: I1e21112c9058129d14ce584a804777532933a7d9 Reviewed-by: hjk <[email protected]>
* BareMetal: Get rid of unused GdbServerProviderProcess classDenis Shienkov2019-11-261-20/+0
| | | | | | | | | | | | | We don't need in this class, because the remote GDB servers are launches by the RunWorker. Besides, the BareMetalDevice::canCreateProcess() and the BareMetalDevice::createProcess() are not even gets called at all. Tested with the STM32 Nucleo-F767ZI board using the ST-Util GDB provider. Change-Id: I8d3770ec59738c63aa44dd39d371a1b443a81f9a Reviewed-by: hjk <[email protected]>
* BareMetal: Don't create default GDB server providerDenis Shienkov2019-11-191-14/+4
| | | | | | | | | | | | | | | | ... if a BareMetalDevice doesn't have any configured provider yet. Reason is that a 'Default GDB' provider does not means that it is default. It just means, that this provider can be attached to the remote running GDB server (it is equivalent of "Attach to Running Debug Server"). Besides, in future, it is makes sense to remove this provider at all as it is useless. Change-Id: I2c5c59595dc7d724ac6e05177bbc6ae85cf67e2e Reviewed-by: hjk <[email protected]>
* BareMetal: Continue minimize dependency from GDB engineDenis Shienkov2019-11-191-25/+5
| | | | | | | | | | | The BareMetalDevice and the BareMetalDebugSupport classes should not know anything about the specific implementation of the providers. For this purpose, we just extend a providers by a new virtual methods which are should be overridden for a concrete provider. Change-Id: Ic5fef49f6b79e0ee7e8c4c386b4ed36cb5346dc1 Reviewed-by: hjk <[email protected]>
* BareMetal: Remove QLatin1Char and QLatin1String macrosDenis Shienkov2019-11-041-3/+3
| | | | | | | | ... where it is possible, because it is unnecessary to use in QtC code. Besides, it simplifies a code bit. Change-Id: I8f547c952f3e2bfe046462957f175da7fc780171 Reviewed-by: hjk <[email protected]>
* BareMetal: Minimize dependency from GDB engineDenis Shienkov2019-11-041-31/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem is that this plugin was originally developed only for working with the GDB debugging engine. This hard dependency penetrates to all plugin logic, that excludes an easy addition of other types of a debugger engines. This patch tries to minimize the GDB dependency and improves code a bit in the following way: * A code that belongs to the GDB engine moved to the separate debugservers/gdb directory. * A classes having a common functionality are renamed with 'Debug' suffixes instead of 'Gdb' suffixes. * Introduced a new interface IDebugServerProvider{Factory|ConfigWidget} whih are used as a base for all derived debug servers providers (e.g. for the OpenOCD, STLink and etc). * The IDebugServerProvider interface has a new virtual engineType() method to show a supported debugger engine by a specific debugger server provider. This method is used in BareMetalDebugSupport class to detect a provider engine for an additional initialization (which depends on an used debugger engine). * The IDebugServerProvider interface has a new virtual hasProcess() method. E.g. this is required for a future debug server providers which has not a remote processes. In this case the BareMetalDevice::canCreateProcess() will report about that in a right way. Thus, this approach allowed us to preserve a previous behavior of an already implemented GDB providers. Also it makes possible to add a new providers in a future with a minimized costs. Change-Id: I1be84b9178d4aa78c3ef5108a9e6b381e245f36f Reviewed-by: hjk <[email protected]>
* ProjectExplorer: Base IDevice::osType on a data memberhjk2019-08-191-5/+1
| | | | | Change-Id: I969563e6e62895a51fb4692c8eb0bab278f0ecae Reviewed-by: Christian Kandeler <[email protected]>
* ProjectExplorer::IDevice: Add a default display nameChristian Kandeler2019-08-021-0/+6
| | | | | | Task-number: QTCREATORBUG-16281 Change-Id: Ieff929343b5dc3a84d9ecf5f4f0a032cb4ae4076 Reviewed-by: hjk <[email protected]>
* BareMetal: Streamline GdbServerProvider codehjk2019-07-241-3/+2
| | | | | | | | | | | | | Combine host and port values in a url object which is elsewhere typically used, and move the member to the base class as all current providers have something like that. Base typeDisplayName on a datamember, and provide a reusable base implementation of channelString() Change-Id: Iedac09bb80d0bc1818cd88b0de99794e951999b8 Reviewed-by: Denis Shienkov <[email protected]> Reviewed-by: Orgad Shaneh <[email protected]>
* BareMetal: Fix recent constructor breakagehjk2019-06-201-1/+4
| | | | | | | | Amends f42078846545b. The setDisplayType() call accidentally ended up in the desctuctor, not the constructor Change-Id: I63593325d0a6e3250c13b9e16781159190a238b1 Reviewed-by: David Schulz <[email protected]>
* ProjectExplorer: Make Device::displayType a data memberhjk2019-06-191-5/+2
| | | | | Change-Id: If650f660e3b10bc28d575ded07a854f59be26f87 Reviewed-by: Christian Kandeler <[email protected]>
* ProjectExplorer: Use the fromMap(toMap()) pattern to clone deviceshjk2019-05-101-12/+1
| | | | | Change-Id: Ie6e73f5ef1019907dd311aac116d71f08b5a5202 Reviewed-by: Christian Kandeler <[email protected]>
* bare-metal: Add missed 'const' keywordsDenis Shienkov2019-05-091-1/+1
| | | | | Change-Id: I109a4df799a06f11381a49a32bdd7a56c4d9dff1 Reviewed-by: hjk <[email protected]>
* bare-metal: Return initializier lists instead of ctorsDenis Shienkov2019-05-081-1/+1
| | | | | Change-Id: Ifc764130ca9c20f77ae1e1549fddba41a900150a Reviewed-by: hjk <[email protected]>
* bare-metal: Refactor the plugin code a bit moreDenis Shienkov2019-05-081-4/+6
| | | | | | | | | | | | * An include files and forward declarations are sorted in an alphabetical order. * Used the 'final' keywords for the methods and classes which not should be overridden. * Used the 'auto' and 'explicit' keywords more. * A class members are initialized in an initializier list. Change-Id: Ia74783e47aff92467d696d471760b5a97bca3d7a Reviewed-by: hjk <[email protected]>
* Move IDeviceFactory closer to IDevice implementationhjk2019-02-211-0/+24
| | | | | | | | | Except for the DesktopDevice, which is kind of special. Also try a bit to make (and partially fail at doing so) naming and code structure (#include, use of namespaces) more similar to each other. Change-Id: I9fe266e706b72c14f59ff03ca1ae02dba3adcc71 Reviewed-by: Christian Kandeler <[email protected]>
* Fix warning: "Use midRef() instead of mid()"Alessandro Portale2019-01-171-1/+1
| | | | | | | [-Wclazy-qstring-ref] Change-Id: If8a0844b39377feb3772542559655854a92b93cd Reviewed-by: hjk <[email protected]>
* BareMetal: Streamline BareMetalDevice constructionhjk2019-01-161-21/+0
| | | | | | | Remove create() and init() functions and ctors except default constructor. Change-Id: Ib88fb147b911b8e7b1b6848e739cd5548d38fa73 Reviewed-by: Christian Kandeler <[email protected]>
* ProjectExplorer: Introduce a setter for IDevice origin and idhjk2019-01-151-1/+1
| | | | | | | | | | | They are not completely orthogonal, so use one function for now. This is the step towards streamlining the IDevice::ctor/create lines of functions. Change-Id: I1fe9144c45c7da0c9dcbda3bf424e976e0519cd6 Reviewed-by: Christian Kandeler <[email protected]>
* ProjectExplorer: Use setter for IDevice::typehjk2019-01-141-4/+4
| | | | | | | | Second step towards streamlining the IDevice::ctor/create lines of functions. Change-Id: I8b0f2270a9f6545ff9419ef8cf44b456c2233223 Reviewed-by: Christian Kandeler <[email protected]>
* ProjectExplorer: Use setter for IDevice::machineTypehjk2019-01-141-4/+4
| | | | | | | | First step towards streamlining the IDevice::ctor/create lines of functions. Change-Id: I44226f8a05902cadd40c8820ab67752070d186c0 Reviewed-by: Christian Kandeler <[email protected]>
* ProjectExplorer: Simplify IDevice extra device action setuphjk2019-01-141-17/+0
| | | | | | | Function objects are easy nowadays. Change-Id: Iec2b770b99d8f11b7a090fb3bd51af8aa60f6fe0 Reviewed-by: Christian Kandeler <[email protected]>
* BareMetal: ModernizeAlessandro Portale2018-11-061-1/+1
| | | | | | | | | | | modernize-use-auto modernize-use-nullptr modernize-use-override modernize-use-equals-default modernize-use-using Change-Id: Ia4e7f4e75a49357ca1b225f25af68a0480fba748 Reviewed-by: hjk <[email protected]>
* Combine some SshConnectionParameter membershjk2017-12-191-4/+4
| | | | | | | | Combine host, port, username and password into a 'url' member and add some convenience accessors. Change-Id: Iddc26ff00dad1285c96aa56f196dbc4febe8e974 Reviewed-by: Christian Kandeler <[email protected]>
* ProjectExplorer: Introduce a Utils::OsType IDevice::osType() functionhjk2017-06-281-0/+5
| | | | | | | | | | | | E.g. for easier construction of command lines in situations like if (isLocal()) runnable.commandLineArguments = argumentString(Utils::HostOsInfo::hostOs()); else runnable.commandLineArguments = argumentString(Utils::OsTypeLinux); Change-Id: I5a35304e5d1b5a042952201f39f4134a5cd0ce24 Reviewed-by: Christian Kandeler <[email protected]>
* BareMetal: Fix crash on shutdownOrgad Shaneh2017-03-231-0/+6
| | | | | | Change-Id: I40c2381f5d70d57c8bb7b6d4727a5350a52eefc5 Reviewed-by: Denis Shienkov <[email protected]> Reviewed-by: hjk <[email protected]>
* BareMetal: Update device address when provider is changedOrgad Shaneh2017-03-201-1/+25
| | | | | | Change-Id: Id020328797c4ec9a739cbf5844f9c4a9acf363ff Reviewed-by: Denis Shienkov <[email protected]> Reviewed-by: Tobias Hunger <[email protected]>
* BareMetal: Apply "static" pattern to GdbServerProviderManagerOrgad Shaneh2017-03-171-4/+3
| | | | | Change-Id: I7fe76b5912808ac0855ef09cd6d31afdf9225f6f Reviewed-by: hjk <[email protected]>
* ProjectExplorer: Introduce IDeviceFactory::iconForId()Alessandro Portale2016-11-301-13/+0
| | | | | | | | | | | This adds the possibility to have an icon for a device type. Now, a Kit can have a proper icon if just the device type but not device is selected. Change-Id: I2a382ffd5b46cbbf74cdd0b934b3d450d300bfff Reviewed-by: Tobias Hunger <[email protected]> Reviewed-by: Vikas Pachdha <[email protected]> Reviewed-by: Alessandro Portale <[email protected]>
* BareMetal: Themable, HighDPI-able device iconAlessandro Portale2016-10-241-0/+13
| | | | | | Change-Id: Id8d9c0885895f582dbb034546b701ec82f1492e6 Reviewed-by: hjk <[email protected]> Reviewed-by: Alessandro Portale <[email protected]>
* BareMetal: Store host/port in ssh params of deviceOrgad Shaneh2016-05-031-0/+10
| | | | | | | | That's where they're read from later when invoked from Attach to Running Debug Server dialog. Change-Id: I6cda6796e73ee49115af3afd1d45bc89fd8aff51 Reviewed-by: hjk <[email protected]>
* Update License according to agreement with Free Qt FoundationTobias Hunger2016-01-191-18/+13
| | | | | | | * Update files in src/plugins Change-Id: Ia5d77fad7d19d4bb3498e78661982f68729adb22 Reviewed-by: Tobias Hunger <[email protected]>
* BareMetal: Do not add a duplicate entry for GDB server providerOrgad Shaneh2015-08-271-7/+15
| | | | | | | | | | | In case the SDK settings contain some host which was imported, and the server provider was modified to a different host, it is re-imported on next execution of Creator. Also fix a potential memory leak when registration fails. Change-Id: I96d087ab35e0dc54975768c4bc697218080049ae Reviewed-by: hjk <[email protected]>
* BareMetal: Support seamless 3.3 -> 3.4 upgradeOrgad Shaneh2015-04-271-2/+16
| | | | | | | Change-Id: I49caf77ee5e9f08fdede9d6881a4da717c5da057 Reviewed-by: Tobias Hunger <[email protected]> Reviewed-by: Eike Ziller <[email protected]> Reviewed-by: hjk <[email protected]>