summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/hle/service/am/am.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/core/hle/service/am/am.cpp b/src/core/hle/service/am/am.cpp
index f9336192f..12954556d 100644
--- a/src/core/hle/service/am/am.cpp
+++ b/src/core/hle/service/am/am.cpp
@@ -442,7 +442,7 @@ public:
442 {30, &ILibraryAppletAccessor::GetResult, "GetResult"}, 442 {30, &ILibraryAppletAccessor::GetResult, "GetResult"},
443 {50, nullptr, "SetOutOfFocusApplicationSuspendingEnabled"}, 443 {50, nullptr, "SetOutOfFocusApplicationSuspendingEnabled"},
444 {100, &ILibraryAppletAccessor::PushInData, "PushInData"}, 444 {100, &ILibraryAppletAccessor::PushInData, "PushInData"},
445 {101, nullptr, "PopOutData"}, 445 {101, &ILibraryAppletAccessor::PopOutData, "PopOutData"},
446 {102, nullptr, "PushExtraStorage"}, 446 {102, nullptr, "PushExtraStorage"},
447 {103, nullptr, "PushInteractiveInData"}, 447 {103, nullptr, "PushInteractiveInData"},
448 {104, nullptr, "PopInteractiveOutData"}, 448 {104, nullptr, "PopInteractiveOutData"},
@@ -494,6 +494,16 @@ private:
494 NGLOG_DEBUG(Service_AM, "called"); 494 NGLOG_DEBUG(Service_AM, "called");
495 } 495 }
496 496
497 void PopOutData(Kernel::HLERequestContext& ctx) {
498 IPC::ResponseBuilder rb{ctx, 2, 0, 1};
499 rb.Push(RESULT_SUCCESS);
500 rb.PushIpcInterface<AM::IStorage>(std::move(storage_stack.top()));
501
502 storage_stack.pop();
503
504 NGLOG_DEBUG(Service_AM, "called");
505 }
506
497 std::stack<std::shared_ptr<AM::IStorage>> storage_stack; 507 std::stack<std::shared_ptr<AM::IStorage>> storage_stack;
498 Kernel::SharedPtr<Kernel::Event> state_changed_event; 508 Kernel::SharedPtr<Kernel::Event> state_changed_event;
499}; 509};