diff options
author | Liam <byteslice@airmail.cc> | 2024-02-17 19:46:18 +0100 |
---|---|---|
committer | Liam <byteslice@airmail.cc> | 2024-02-18 16:32:21 +0100 |
commit | 2eded86b4b525fad4221115b716700d63ad8438f (patch) | |
tree | 284865b9809b7787a4aeb0f0ad774419ddca79f0 /src/core/hle/service/ns/ns.cpp | |
parent | ns: rewrite IReadOnlyApplicationRecordInterface (diff) | |
download | yuzu-2eded86b4b525fad4221115b716700d63ad8438f.tar yuzu-2eded86b4b525fad4221115b716700d63ad8438f.tar.gz yuzu-2eded86b4b525fad4221115b716700d63ad8438f.tar.bz2 yuzu-2eded86b4b525fad4221115b716700d63ad8438f.tar.lz yuzu-2eded86b4b525fad4221115b716700d63ad8438f.tar.xz yuzu-2eded86b4b525fad4221115b716700d63ad8438f.tar.zst yuzu-2eded86b4b525fad4221115b716700d63ad8438f.zip |
Diffstat (limited to 'src/core/hle/service/ns/ns.cpp')
-rw-r--r-- | src/core/hle/service/ns/ns.cpp | 46 |
1 files changed, 1 insertions, 45 deletions
diff --git a/src/core/hle/service/ns/ns.cpp b/src/core/hle/service/ns/ns.cpp index 5dc15dad5..b5ad27dd8 100644 --- a/src/core/hle/service/ns/ns.cpp +++ b/src/core/hle/service/ns/ns.cpp @@ -24,6 +24,7 @@ #include "core/hle/service/ns/ns_results.h" #include "core/hle/service/ns/pdm_qry.h" #include "core/hle/service/ns/platform_service_manager.h" +#include "core/hle/service/ns/read_only_application_control_data_interface.h" #include "core/hle/service/ns/read_only_application_record_interface.h" #include "core/hle/service/server_manager.h" #include "core/hle/service/set/settings_server.h" @@ -469,51 +470,6 @@ Result IApplicationManagerInterface::ConvertApplicationLanguageToLanguageCode( return ResultSuccess; } -IReadOnlyApplicationControlDataInterface::IReadOnlyApplicationControlDataInterface( - Core::System& system_) - : ServiceFramework{system_, "IReadOnlyApplicationControlDataInterface"} { - // clang-format off - static const FunctionInfo functions[] = { - {0, &IReadOnlyApplicationControlDataInterface::GetApplicationControlData, "GetApplicationControlData"}, - {1, nullptr, "GetApplicationDesiredLanguage"}, - {2, nullptr, "ConvertApplicationLanguageToLanguageCode"}, - {3, nullptr, "ConvertLanguageCodeToApplicationLanguage"}, - {4, nullptr, "SelectApplicationDesiredLanguage"}, - }; - // clang-format on - - RegisterHandlers(functions); -} - -IReadOnlyApplicationControlDataInterface::~IReadOnlyApplicationControlDataInterface() = default; - -void IReadOnlyApplicationControlDataInterface::GetApplicationControlData(HLERequestContext& ctx) { - enum class ApplicationControlSource : u8 { - CacheOnly, - Storage, - StorageOnly, - }; - - struct RequestParameters { - ApplicationControlSource source; - u64 application_id; - }; - static_assert(sizeof(RequestParameters) == 0x10, "RequestParameters has incorrect size."); - - IPC::RequestParser rp{ctx}; - std::vector<u8> nacp_data{}; - const auto parameters{rp.PopRaw<RequestParameters>()}; - const auto result = - system.GetARPManager().GetControlProperty(&nacp_data, parameters.application_id); - - if (result == ResultSuccess) { - ctx.WriteBuffer(nacp_data.data(), nacp_data.size()); - } - - IPC::ResponseBuilder rb{ctx, 2}; - rb.Push(result); -} - NS::NS(const char* name, Core::System& system_) : ServiceFramework{system_, name} { // clang-format off static const FunctionInfo functions[] = { |