src/platform/qt/DebuggerController.h (view raw)
1/* Copyright (c) 2013-2014 Jeffrey Pfau
2 *
3 * This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6#ifndef QGBA_DEBUGGER_CONTROLLER
7#define QGBA_DEBUGGER_CONTROLLER
8
9#include <QObject>
10
11struct mDebugger;
12
13namespace QGBA {
14
15class GameController;
16
17class DebuggerController : public QObject {
18Q_OBJECT
19
20public:
21 DebuggerController(GameController* controller, mDebugger* debugger, QObject* parent = nullptr);
22
23public:
24 bool isAttached();
25
26public slots:
27 virtual void attach();
28 virtual void detach();
29 virtual void breakInto();
30 virtual void shutdown();
31
32protected:
33 virtual void shutdownInternal();
34
35 mDebugger* const m_debugger;
36 GameController* const m_gameController;
37
38private:
39 QMetaObject::Connection m_autoattach;
40};
41
42}
43
44#endif