diff options
Diffstat (limited to 'src/citra_qt/main.h')
-rw-r--r-- | src/citra_qt/main.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/citra_qt/main.h b/src/citra_qt/main.h index 9b57c5772..3e29534fb 100644 --- a/src/citra_qt/main.h +++ b/src/citra_qt/main.h @@ -5,12 +5,14 @@ #ifndef _CITRA_QT_MAIN_HXX_ #define _CITRA_QT_MAIN_HXX_ +#include <memory> #include <QMainWindow> #include "ui_main.h" class GImageInfo; class GRenderWindow; +class EmuThread; class ProfilerWidget; class DisassemblerWidget; class RegistersWidget; @@ -34,8 +36,27 @@ public: GMainWindow(); ~GMainWindow(); +signals: + + /** + * Signal that is emitted when a new EmuThread has been created and an emulation session is + * about to start. At this time, the core system emulation has been initialized, and all + * emulation handles and memory should be valid. + * + * @param emu_thread Pointer to the newly created EmuThread (to be used by widgets that need to + * access/change emulation state). + */ + void EmulationStarting(EmuThread* emu_thread); + + /** + * Signal that is emitted when emulation is about to stop. At this time, the EmuThread and core + * system emulation handles and memory are still valid, but are about become invalid. + */ + void EmulationStopping(); + private: void BootGame(std::string filename); + void ShutdownGame(); void closeEvent(QCloseEvent* event) override; @@ -55,6 +76,8 @@ private: GRenderWindow* render_window; + std::unique_ptr<EmuThread> emu_thread; + ProfilerWidget* profilerWidget; DisassemblerWidget* disasmWidget; RegistersWidget* registersWidget; |