Procházet zdrojové kódy

Merge pull request #206 from mailwl/aoc-listaddoncontent

Service/AOC: stub ListAddOnContent function
bunnei před 8 roky
rodič
revize
6a2197806e

+ 1 - 0
src/common/logging/backend.cpp

@@ -35,6 +35,7 @@ namespace Log {
     SUB(Service, ACC)                                                                              \
     SUB(Service, Audio)                                                                            \
     SUB(Service, AM)                                                                               \
+    SUB(Service, AOC)                                                                              \
     SUB(Service, APM)                                                                              \
     SUB(Service, Friend)                                                                           \
     SUB(Service, FS)                                                                               \

+ 1 - 0
src/common/logging/log.h

@@ -51,6 +51,7 @@ enum class Class : ClassType {
                        ///  should have its own subclass.
     Service_ACC,       ///< The ACC (Accounts) service
     Service_AM,        ///< The AM (Applet manager) service
+    Service_AOC,       ///< The AOC (AddOn Content) service
     Service_APM,       ///< The APM (Performance) service
     Service_Audio,     ///< The Audio (Audio control) service
     Service_Friend,    ///< The friend service

+ 23 - 2
src/core/hle/service/aoc/aoc_u.cpp

@@ -2,16 +2,37 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include "common/logging/log.h"
+#include "core/hle/ipc_helpers.h"
 #include "core/hle/service/aoc/aoc_u.h"
 
 namespace Service {
 namespace AOC {
 
+AOC_U::AOC_U() : ServiceFramework("aoc:u") {
+    static const FunctionInfo functions[] = {
+        {0, nullptr, "CountAddOnContentByApplicationId"},
+        {1, nullptr, "ListAddOnContentByApplicationId"},
+        {2, nullptr, "CountAddOnContent"},
+        {3, &AOC_U::ListAddOnContent, "ListAddOnContent"},
+        {4, nullptr, "GetAddOnContentBaseIdByApplicationId"},
+        {5, nullptr, "GetAddOnContentBaseId"},
+        {6, nullptr, "PrepareAddOnContentByApplicationId"},
+        {7, nullptr, "PrepareAddOnContent"},
+    };
+    RegisterHandlers(functions);
+}
+
+void AOC_U::ListAddOnContent(Kernel::HLERequestContext& ctx) {
+    IPC::ResponseBuilder rb{ctx, 4};
+    rb.Push(RESULT_SUCCESS);
+    rb.Push<u64>(0);
+    LOG_WARNING(Service_AOC, "(STUBBED) called");
+}
+
 void InstallInterfaces(SM::ServiceManager& service_manager) {
     std::make_shared<AOC_U>()->InstallAsService(service_manager);
 }
 
-AOC_U::AOC_U() : ServiceFramework("aoc:u") {}
-
 } // namespace AOC
 } // namespace Service

+ 3 - 0
src/core/hle/service/aoc/aoc_u.h

@@ -13,6 +13,9 @@ class AOC_U final : public ServiceFramework<AOC_U> {
 public:
     AOC_U();
     ~AOC_U() = default;
+
+private:
+    void ListAddOnContent(Kernel::HLERequestContext& ctx);
 };
 
 /// Registers all AOC services with the specified service manager.