diff options
Diffstat (limited to 'src/core/hle')
| -rw-r--r-- | src/core/hle/service/aoc/aoc_u.cpp | 15 | ||||
| -rw-r--r-- | src/core/hle/service/aoc/aoc_u.h | 2 | 
2 files changed, 16 insertions, 1 deletions
| diff --git a/src/core/hle/service/aoc/aoc_u.cpp b/src/core/hle/service/aoc/aoc_u.cpp index 518161bf7..428069df2 100644 --- a/src/core/hle/service/aoc/aoc_u.cpp +++ b/src/core/hle/service/aoc/aoc_u.cpp @@ -13,6 +13,7 @@  #include "core/file_sys/patch_manager.h"  #include "core/file_sys/registered_cache.h"  #include "core/hle/ipc_helpers.h" +#include "core/hle/kernel/event.h"  #include "core/hle/kernel/process.h"  #include "core/hle/service/aoc/aoc_u.h"  #include "core/hle/service/filesystem/filesystem.h" @@ -55,9 +56,13 @@ AOC_U::AOC_U() : ServiceFramework("aoc:u"), add_on_content(AccumulateAOCTitleIDs          {5, &AOC_U::GetAddOnContentBaseId, "GetAddOnContentBaseId"},          {6, nullptr, "PrepareAddOnContentByApplicationId"},          {7, &AOC_U::PrepareAddOnContent, "PrepareAddOnContent"}, -        {8, nullptr, "GetAddOnContentListChangedEvent"}, +        {8, &AOC_U::GetAddOnContentListChangedEvent, "GetAddOnContentListChangedEvent"},      };      RegisterHandlers(functions); + +    auto& kernel = Core::System::GetInstance().Kernel(); +    aoc_change_event = Kernel::Event::Create(kernel, Kernel::ResetType::Sticky, +                                             "GetAddOnContentListChanged:Event");  }  AOC_U::~AOC_U() = default; @@ -130,6 +135,14 @@ void AOC_U::PrepareAddOnContent(Kernel::HLERequestContext& ctx) {      rb.Push(RESULT_SUCCESS);  } +void AOC_U::GetAddOnContentListChangedEvent(Kernel::HLERequestContext& ctx) { +    LOG_WARNING(Service_AOC, "(STUBBED) called"); + +    IPC::ResponseBuilder rb{ctx, 2, 1}; +    rb.Push(RESULT_SUCCESS); +    rb.PushCopyObjects(aoc_change_event); +} +  void InstallInterfaces(SM::ServiceManager& service_manager) {      std::make_shared<AOC_U>()->InstallAsService(service_manager);  } diff --git a/src/core/hle/service/aoc/aoc_u.h b/src/core/hle/service/aoc/aoc_u.h index b3c7cab7a..68d94fdaa 100644 --- a/src/core/hle/service/aoc/aoc_u.h +++ b/src/core/hle/service/aoc/aoc_u.h @@ -18,8 +18,10 @@ private:      void ListAddOnContent(Kernel::HLERequestContext& ctx);      void GetAddOnContentBaseId(Kernel::HLERequestContext& ctx);      void PrepareAddOnContent(Kernel::HLERequestContext& ctx); +    void GetAddOnContentListChangedEvent(Kernel::HLERequestContext& ctx);      std::vector<u64> add_on_content; +    Kernel::SharedPtr<Kernel::Event> aoc_change_event;  };  /// Registers all AOC services with the specified service manager. | 
