Просмотр исходного кода

am: Implement ILibraryAppletAccessor IsCompleted and GetResult

Zach Hilman 7 лет назад
Родитель
Сommit
3cf7246e37
2 измененных файлов с 9 добавлено и 4 удалено
  1. 1 0
      src/core/frontend/applets/software_keyboard.cpp
  2. 8 4
      src/core/hle/service/am/am.cpp

+ 1 - 0
src/core/frontend/applets/software_keyboard.cpp

@@ -3,6 +3,7 @@
 // Refer to the license.txt file included.
 
 #include "common/logging/backend.h"
+#include "common/string_util.h"
 #include "core/frontend/applets/software_keyboard.h"
 
 namespace Core::Frontend {

+ 8 - 4
src/core/hle/service/am/am.cpp

@@ -533,7 +533,7 @@ public:
         // clang-format off
         static const FunctionInfo functions[] = {
             {0, &ILibraryAppletAccessor::GetAppletStateChangedEvent, "GetAppletStateChangedEvent"},
-            {1, nullptr, "IsCompleted"},
+            {1, &ILibraryAppletAccessor::IsCompleted, "IsCompleted"},
             {10, &ILibraryAppletAccessor::Start, "Start"},
             {20, nullptr, "RequestExit"},
             {25, nullptr, "Terminate"},
@@ -576,11 +576,15 @@ private:
         LOG_WARNING(Service_AM, "(STUBBED) called");
     }
 
-    void GetResult(Kernel::HLERequestContext& ctx) {
-        IPC::ResponseBuilder rb{ctx, 2};
+    void IsCompleted(Kernel::HLERequestContext& ctx) {
+        IPC::ResponseBuilder rb{ctx, 3};
         rb.Push(RESULT_SUCCESS);
+        rb.Push<u32>(applet->TransactionComplete());
+    }
 
-        LOG_WARNING(Service_AM, "(STUBBED) called");
+    void GetResult(Kernel::HLERequestContext& ctx) {
+        IPC::ResponseBuilder rb{ctx, 2};
+        rb.Push(applet->GetStatus());
     }
 
     void Start(Kernel::HLERequestContext& ctx) {