2022-08-19 15:59:36 +02:00
|
|
|
// Copyright (C) 2020 Denis Shienkov <denis.shienkov@gmail.com>
|
2022-12-21 10:12:09 +01:00
|
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
2020-10-26 07:59:23 +02:00
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "gdbserverprovider.h"
|
|
|
|
|
|
|
|
|
|
QT_BEGIN_NAMESPACE
|
|
|
|
|
class QCheckBox;
|
|
|
|
|
class QPlainTextEdit;
|
|
|
|
|
QT_END_NAMESPACE
|
|
|
|
|
|
2022-10-10 14:36:17 +02:00
|
|
|
namespace BareMetal::Internal {
|
2020-10-26 07:59:23 +02:00
|
|
|
|
|
|
|
|
// GenericGdbServerProvider
|
|
|
|
|
|
|
|
|
|
class GenericGdbServerProvider final : public GdbServerProvider
|
|
|
|
|
{
|
|
|
|
|
private:
|
|
|
|
|
GenericGdbServerProvider();
|
|
|
|
|
QSet<StartupMode> supportedStartupModes() const final;
|
2023-04-05 13:32:22 +02:00
|
|
|
ProjectExplorer::RunWorker *targetRunner(ProjectExplorer::RunControl *runControl) const final {
|
|
|
|
|
Q_UNUSED(runControl)
|
2023-03-30 16:50:20 +10:00
|
|
|
// Generic Runner assumes GDB Server already running
|
|
|
|
|
return nullptr;
|
|
|
|
|
}
|
2020-10-26 07:59:23 +02:00
|
|
|
|
|
|
|
|
friend class GenericGdbServerProviderConfigWidget;
|
|
|
|
|
friend class GenericGdbServerProviderFactory;
|
|
|
|
|
friend class BareMetalDevice;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// GenericGdbServerProviderFactory
|
|
|
|
|
|
|
|
|
|
class GenericGdbServerProviderFactory final : public IDebugServerProviderFactory
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
GenericGdbServerProviderFactory();
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// GenericGdbServerProviderConfigWidget
|
|
|
|
|
|
|
|
|
|
class GenericGdbServerProviderConfigWidget final
|
|
|
|
|
: public GdbServerProviderConfigWidget
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
explicit GenericGdbServerProviderConfigWidget(
|
|
|
|
|
GenericGdbServerProvider *provider);
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
void apply() final;
|
|
|
|
|
void discard() final;
|
|
|
|
|
|
|
|
|
|
void setFromProvider();
|
|
|
|
|
|
|
|
|
|
HostWidget *m_hostWidget = nullptr;
|
|
|
|
|
QCheckBox *m_useExtendedRemoteCheckBox = nullptr;
|
|
|
|
|
QPlainTextEdit *m_initCommandsTextEdit = nullptr;
|
|
|
|
|
QPlainTextEdit *m_resetCommandsTextEdit = nullptr;
|
|
|
|
|
};
|
|
|
|
|
|
2022-10-10 14:36:17 +02:00
|
|
|
} // BareMetal::Internal
|