diff options
author | bunnei <bunneidev@gmail.com> | 2015-05-01 19:05:18 -0400 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2015-05-01 19:05:18 -0400 |
commit | 6a2d8c46f21e8813e0472dba28932ed461ce1a66 (patch) | |
tree | d7057cf9926c822c12cc7d82814a252db79ca600 /src/citra_qt/main.h | |
parent | 4d30edc11effef4021a7bd7d5dfe1d92678708b9 (diff) | |
parent | 046dd6e3ef3f4b4da2dd2eef0bdfe0f6fb28b1d8 (diff) |
Merge pull request #713 from bunnei/qt-emuthread-fixes
Fix emulation state resetting to support multiple emulation sessions
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; |