diff options
| author | Narr the Reg <juangerman-13@hotmail.com> | 2021-11-25 20:39:38 -0600 | 
|---|---|---|
| committer | Narr the Reg <juangerman-13@hotmail.com> | 2021-11-27 20:30:16 -0600 | 
| commit | 54f007efc6ed311a8356238ea136b9744b68eb75 (patch) | |
| tree | a890f1257ef353823368476b7e1530ba3016792e /src/core/hle | |
| parent | 50d8e753c525f8f00a67678c56351eccf72aa1f4 (diff) | |
core/ns: Implement GetReadOnlyApplicationControlDataInterface
Used in checkpoint homebrew
Diffstat (limited to 'src/core/hle')
| -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_)  IFactoryResetInterface::~IFactoryResetInterface() = default; +IReadOnlyApplicationControlDataInterface::IReadOnlyApplicationControlDataInterface( +    Core::System& system_) +    : ServiceFramework{system_, "IReadOnlyApplicationControlDataInterface"} { +    // clang-format off +    static const FunctionInfo functions[] = { +        {0, nullptr, "GetApplicationControlData"}, +        {1, nullptr, "GetApplicationDesiredLanguage"}, +        {2, nullptr, "ConvertApplicationLanguageToLanguageCode"}, +        {3, nullptr, "ConvertLanguageCodeToApplicationLanguage"}, +        {4, nullptr, "SelectApplicationDesiredLanguage"}, +    }; +    // clang-format on + +    RegisterHandlers(functions); +} + +IReadOnlyApplicationControlDataInterface::~IReadOnlyApplicationControlDataInterface() = default; +  NS::NS(const char* name, Core::System& system_) : ServiceFramework{system_, name} {      // clang-format off      static const FunctionInfo functions[] = {          {7988, nullptr, "GetDynamicRightsInterface"}, -        {7989, nullptr, "GetReadOnlyApplicationControlDataInterface"}, +        {7989, &NS::PushInterface<IReadOnlyApplicationControlDataInterface>, "GetReadOnlyApplicationControlDataInterface"},          {7991, nullptr, "GetReadOnlyApplicationRecordInterface"},          {7992, &NS::PushInterface<IECommerceInterface>, "GetECommerceInterface"},          {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:      ~IFactoryResetInterface() override;  }; +class IReadOnlyApplicationControlDataInterface final +    : public ServiceFramework<IReadOnlyApplicationControlDataInterface> { +public: +    explicit IReadOnlyApplicationControlDataInterface(Core::System& system_); +    ~IReadOnlyApplicationControlDataInterface() override; +}; +  class NS final : public ServiceFramework<NS> {  public:      explicit NS(const char* name, Core::System& system_); | 
