diff options
author | hjk <hjk@qt.io> | 2017-09-08 08:53:15 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2017-09-12 07:01:59 +0000 |
commit | f84d44e4e886bedbb80dcde1d8ca021d3c026eb3 (patch) | |
tree | b2e02639bcfbc0851023b5caf7988911441d1034 /src/plugins/debugger/gdb/coregdbadapter.h | |
parent | 991663d13b2e3460d64a9aefcadc1be2a1812680 (diff) | |
download | qt-creator-f84d44e4e886bedbb80dcde1d8ca021d3c026eb3.tar.gz |
Debugger: Merge *Adapter classes into GdbEngine
The main reason for having the adapters (complex target specific state
handling) is mostly gone now, leaving us mainly with the drawbacks
of the solution: An additional indirection, and using a hierarchy
for code sharing. So drop that, and use if/else chains instead
of virtual functions now, and start simplifying the result.
Change-Id: Idcf3a28da103c01cfa80cf9bab8ef51fe879b6d7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src/plugins/debugger/gdb/coregdbadapter.h')
-rw-r--r-- | src/plugins/debugger/gdb/coregdbadapter.h | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/src/plugins/debugger/gdb/coregdbadapter.h b/src/plugins/debugger/gdb/coregdbadapter.h deleted file mode 100644 index b4b7081455..0000000000 --- a/src/plugins/debugger/gdb/coregdbadapter.h +++ /dev/null @@ -1,78 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt Creator. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -****************************************************************************/ - -#pragma once - -#include "gdbengine.h" - -#include <QFile> - -namespace Debugger { -namespace Internal { - -class GdbCoreEngine : public GdbEngine -{ - Q_OBJECT - -public: - explicit GdbCoreEngine(bool useTerminal); - ~GdbCoreEngine() override; - - struct CoreInfo - { - QString rawStringFromCore; - QString foundExecutableName; // empty if no corresponding exec could be found - bool isCore = false; - }; - static CoreInfo readExecutableNameFromCore(const ProjectExplorer::StandardRunnable &debugger, - const QString &coreFile); - -private: - void setupEngine() override; - void setupInferior() override; - void runEngine() override; - void interruptInferior() override; - void shutdownEngine() override; - - void handleFileExecAndSymbols(const DebuggerResponse &response); - void handleTargetCore(const DebuggerResponse &response); - void handleRoundTrip(const DebuggerResponse &response); - void unpackCoreIfNeeded(); - QString coreFileName() const; - QString coreName() const; - - void continueSetupEngine(); - void writeCoreChunk(); - -private: - QString m_executable; - QString m_coreName; - QString m_tempCoreName; - QProcess *m_coreUnpackProcess = nullptr; - QFile m_tempCoreFile; -}; - -} // namespace Internal -} // namespace Debugger |