core: Add Exit and ExitCallback

This allows ISelfController::Exit to stop the currently running application. This is typically used by homebrew to exit back to the homebrew menu after calling consoleExit with libnx.
This commit is contained in:
Morph 2021-09-25 23:14:49 -04:00
parent 3a33519598
commit d8467ca6c0
2 changed files with 25 additions and 0 deletions

View file

@ -387,6 +387,18 @@ public:
*/
void ExecuteProgram(std::size_t program_index);
/// Type used for the frontend to designate a callback for System to exit the application.
using ExitCallback = std::function<void()>;
/**
* Registers a callback from the frontend for System to exit the application.
* @param callback Callback from the frontend to exit the application.
*/
void RegisterExitCallback(ExitCallback&& callback);
/// Instructs the frontend to exit the application.
void Exit();
/// Applies any changes to settings to this core instance.
void ApplySettings();