summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZach Hilman <zachhilman@gmail.com>2019-07-06 19:09:27 +0200
committerZach Hilman <zachhilman@gmail.com>2019-09-22 04:24:10 +0200
commit4c1c8801a51335aa4a74e7db0868b861803d0c61 (patch)
tree98304ff292ee922a6acc9d384c74a8d9ed47efd6
parentcore: Track system exit lock status (diff)
downloadyuzu-4c1c8801a51335aa4a74e7db0868b861803d0c61.tar
yuzu-4c1c8801a51335aa4a74e7db0868b861803d0c61.tar.gz
yuzu-4c1c8801a51335aa4a74e7db0868b861803d0c61.tar.bz2
yuzu-4c1c8801a51335aa4a74e7db0868b861803d0c61.tar.lz
yuzu-4c1c8801a51335aa4a74e7db0868b861803d0c61.tar.xz
yuzu-4c1c8801a51335aa4a74e7db0868b861803d0c61.tar.zst
yuzu-4c1c8801a51335aa4a74e7db0868b861803d0c61.zip
-rw-r--r--src/core/hle/service/am/am.cpp4
-rw-r--r--src/core/hle/service/am/am.h2
2 files changed, 6 insertions, 0 deletions
diff --git a/src/core/hle/service/am/am.cpp b/src/core/hle/service/am/am.cpp
index 6c594dcaf..c98fefdeb 100644
--- a/src/core/hle/service/am/am.cpp
+++ b/src/core/hle/service/am/am.cpp
@@ -550,6 +550,10 @@ void AppletMessageQueue::OperationModeChanged() {
on_operation_mode_changed.writable->Signal();
}
+void AppletMessageQueue::RequestExit() {
+ PushMessage(AppletMessage::ExitRequested);
+}
+
ICommonStateGetter::ICommonStateGetter(Core::System& system,
std::shared_ptr<AppletMessageQueue> msg_queue)
: ServiceFramework("ICommonStateGetter"), system(system), msg_queue(std::move(msg_queue)) {
diff --git a/src/core/hle/service/am/am.h b/src/core/hle/service/am/am.h
index 28f870302..9d2c8b2ca 100644
--- a/src/core/hle/service/am/am.h
+++ b/src/core/hle/service/am/am.h
@@ -45,6 +45,7 @@ class AppletMessageQueue {
public:
enum class AppletMessage : u32 {
NoMessage = 0,
+ ExitRequested = 4,
FocusStateChanged = 15,
OperationModeChanged = 30,
PerformanceModeChanged = 31,
@@ -59,6 +60,7 @@ public:
AppletMessage PopMessage();
std::size_t GetMessageCount() const;
void OperationModeChanged();
+ void RequestExit();
private:
std::queue<AppletMessage> messages;