diff options
| author | 2021-11-25 20:39:38 -0600 | |
|---|---|---|
| committer | 2021-11-27 20:30:16 -0600 | |
| commit | 54f007efc6ed311a8356238ea136b9744b68eb75 (patch) | |
| tree | a890f1257ef353823368476b7e1530ba3016792e /src/core/hle/service/ns | |
| parent | core/pdm: Stub QueryPlayStatisticsByApplicationIdAndUserAccountId (diff) | |
| download | yuzu-54f007efc6ed311a8356238ea136b9744b68eb75.tar.gz yuzu-54f007efc6ed311a8356238ea136b9744b68eb75.tar.xz yuzu-54f007efc6ed311a8356238ea136b9744b68eb75.zip | |
core/ns: Implement GetReadOnlyApplicationControlDataInterface
Used in checkpoint homebrew
Diffstat (limited to 'src/core/hle/service/ns')
| -rw-r--r-- | src/core/hle/service/ns/ns.cpp | 20 | ||||
| -rw-r--r-- | src/core/hle/service/ns/ns.h | 7 |
2 files changed, 26 insertions, 1 deletions
diff --git a/src/core/hle/service/ns/ns.cpp b/src/core/hle/service/ns/ns.cpp index 0d6fab746..382ddcae5 100644 --- a/src/core/hle/service/ns/ns.cpp +++ b/src/core/hle/service/ns/ns.cpp | |||
| @@ -571,11 +571,29 @@ IFactoryResetInterface::IFactoryResetInterface(Core::System& system_) | |||
| 571 | 571 | ||
| 572 | IFactoryResetInterface::~IFactoryResetInterface() = default; | 572 | IFactoryResetInterface::~IFactoryResetInterface() = default; |
| 573 | 573 | ||
| 574 | IReadOnlyApplicationControlDataInterface::IReadOnlyApplicationControlDataInterface( | ||
| 575 | Core::System& system_) | ||
| 576 | : ServiceFramework{system_, "IReadOnlyApplicationControlDataInterface"} { | ||
| 577 | // clang-format off | ||
| 578 | static const FunctionInfo functions[] = { | ||
| 579 | {0, nullptr, "GetApplicationControlData"}, | ||
| 580 | {1, nullptr, "GetApplicationDesiredLanguage"}, | ||
| 581 | {2, nullptr, "ConvertApplicationLanguageToLanguageCode"}, | ||
| 582 | {3, nullptr, "ConvertLanguageCodeToApplicationLanguage"}, | ||
| 583 | {4, nullptr, "SelectApplicationDesiredLanguage"}, | ||
| 584 | }; | ||
| 585 | // clang-format on | ||
| 586 | |||
| 587 | RegisterHandlers(functions); | ||
| 588 | } | ||
| 589 | |||
| 590 | IReadOnlyApplicationControlDataInterface::~IReadOnlyApplicationControlDataInterface() = default; | ||
| 591 | |||
| 574 | NS::NS(const char* name, Core::System& system_) : ServiceFramework{system_, name} { | 592 | NS::NS(const char* name, Core::System& system_) : ServiceFramework{system_, name} { |
| 575 | // clang-format off | 593 | // clang-format off |
| 576 | static const FunctionInfo functions[] = { | 594 | static const FunctionInfo functions[] = { |
| 577 | {7988, nullptr, "GetDynamicRightsInterface"}, | 595 | {7988, nullptr, "GetDynamicRightsInterface"}, |
| 578 | {7989, nullptr, "GetReadOnlyApplicationControlDataInterface"}, | 596 | {7989, &NS::PushInterface<IReadOnlyApplicationControlDataInterface>, "GetReadOnlyApplicationControlDataInterface"}, |
| 579 | {7991, nullptr, "GetReadOnlyApplicationRecordInterface"}, | 597 | {7991, nullptr, "GetReadOnlyApplicationRecordInterface"}, |
| 580 | {7992, &NS::PushInterface<IECommerceInterface>, "GetECommerceInterface"}, | 598 | {7992, &NS::PushInterface<IECommerceInterface>, "GetECommerceInterface"}, |
| 581 | {7993, &NS::PushInterface<IApplicationVersionInterface>, "GetApplicationVersionInterface"}, | 599 | {7993, &NS::PushInterface<IApplicationVersionInterface>, "GetApplicationVersionInterface"}, |
diff --git a/src/core/hle/service/ns/ns.h b/src/core/hle/service/ns/ns.h index 218eec3ec..43540b0fb 100644 --- a/src/core/hle/service/ns/ns.h +++ b/src/core/hle/service/ns/ns.h | |||
| @@ -74,6 +74,13 @@ public: | |||
| 74 | ~IFactoryResetInterface() override; | 74 | ~IFactoryResetInterface() override; |
| 75 | }; | 75 | }; |
| 76 | 76 | ||
| 77 | class IReadOnlyApplicationControlDataInterface final | ||
| 78 | : public ServiceFramework<IReadOnlyApplicationControlDataInterface> { | ||
| 79 | public: | ||
| 80 | explicit IReadOnlyApplicationControlDataInterface(Core::System& system_); | ||
| 81 | ~IReadOnlyApplicationControlDataInterface() override; | ||
| 82 | }; | ||
| 83 | |||
| 77 | class NS final : public ServiceFramework<NS> { | 84 | class NS final : public ServiceFramework<NS> { |
| 78 | public: | 85 | public: |
| 79 | explicit NS(const char* name, Core::System& system_); | 86 | explicit NS(const char* name, Core::System& system_); |