Address review comments
This commit is contained in:
parent
7fba9c7224
commit
d81b58f320
6 changed files with 120 additions and 47 deletions
|
@ -327,10 +327,10 @@ add_library(core STATIC
|
||||||
hle/service/npns/npns.cpp
|
hle/service/npns/npns.cpp
|
||||||
hle/service/npns/npns.h
|
hle/service/npns/npns.h
|
||||||
hle/service/ns/errors.h
|
hle/service/ns/errors.h
|
||||||
|
hle/service/ns/language.cpp
|
||||||
|
hle/service/ns/language.h
|
||||||
hle/service/ns/ns.cpp
|
hle/service/ns/ns.cpp
|
||||||
hle/service/ns/ns.h
|
hle/service/ns/ns.h
|
||||||
hle/service/ns/ns_language.cpp
|
|
||||||
hle/service/ns/ns_language.h
|
|
||||||
hle/service/ns/pl_u.cpp
|
hle/service/ns/pl_u.cpp
|
||||||
hle/service/ns/pl_u.h
|
hle/service/ns/pl_u.h
|
||||||
hle/service/nvdrv/devices/nvdevice.h
|
hle/service/nvdrv/devices/nvdevice.h
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
// Copyright 2018 yuzu emulator team
|
// Copyright 2019 yuzu emulator team
|
||||||
// Licensed under GPLv2 or any later version
|
// Licensed under GPLv2 or any later version
|
||||||
// Refer to the license.txt file included.
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
#include "core/hle/service/ns/ns_language.h"
|
#include "core/hle/service/ns/language.h"
|
||||||
|
#include "core/hle/service/set/set.h"
|
||||||
|
|
||||||
namespace Service::NS {
|
namespace Service::NS {
|
||||||
|
|
||||||
|
@ -277,7 +278,7 @@ constexpr ApplicationLanguagePriorityList priority_list_simplified_chinese = {{
|
||||||
}};
|
}};
|
||||||
|
|
||||||
const ApplicationLanguagePriorityList* GetApplicationLanguagePriorityList(
|
const ApplicationLanguagePriorityList* GetApplicationLanguagePriorityList(
|
||||||
ApplicationLanguage lang) {
|
const ApplicationLanguage lang) {
|
||||||
switch (lang) {
|
switch (lang) {
|
||||||
case ApplicationLanguage::AmericanEnglish:
|
case ApplicationLanguage::AmericanEnglish:
|
||||||
return &priority_list_american_english;
|
return &priority_list_american_english;
|
||||||
|
@ -315,75 +316,75 @@ const ApplicationLanguagePriorityList* GetApplicationLanguagePriorityList(
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<ApplicationLanguage> ConvertToApplicationLanguage(
|
std::optional<ApplicationLanguage> ConvertToApplicationLanguage(
|
||||||
const Service::Set::LanguageCode language_code) {
|
const Set::LanguageCode language_code) {
|
||||||
switch (language_code) {
|
switch (language_code) {
|
||||||
case Service::Set::LanguageCode::EN_US:
|
case Set::LanguageCode::EN_US:
|
||||||
return ApplicationLanguage::AmericanEnglish;
|
return ApplicationLanguage::AmericanEnglish;
|
||||||
case Service::Set::LanguageCode::EN_GB:
|
case Set::LanguageCode::EN_GB:
|
||||||
return ApplicationLanguage::BritishEnglish;
|
return ApplicationLanguage::BritishEnglish;
|
||||||
case Service::Set::LanguageCode::JA:
|
case Set::LanguageCode::JA:
|
||||||
return ApplicationLanguage::Japanese;
|
return ApplicationLanguage::Japanese;
|
||||||
case Service::Set::LanguageCode::FR:
|
case Set::LanguageCode::FR:
|
||||||
return ApplicationLanguage::French;
|
return ApplicationLanguage::French;
|
||||||
case Service::Set::LanguageCode::DE:
|
case Set::LanguageCode::DE:
|
||||||
return ApplicationLanguage::German;
|
return ApplicationLanguage::German;
|
||||||
case Service::Set::LanguageCode::ES_419:
|
case Set::LanguageCode::ES_419:
|
||||||
return ApplicationLanguage::LatinAmericanSpanish;
|
return ApplicationLanguage::LatinAmericanSpanish;
|
||||||
case Service::Set::LanguageCode::ES:
|
case Set::LanguageCode::ES:
|
||||||
return ApplicationLanguage::Spanish;
|
return ApplicationLanguage::Spanish;
|
||||||
case Service::Set::LanguageCode::IT:
|
case Set::LanguageCode::IT:
|
||||||
return ApplicationLanguage::Italian;
|
return ApplicationLanguage::Italian;
|
||||||
case Service::Set::LanguageCode::NL:
|
case Set::LanguageCode::NL:
|
||||||
return ApplicationLanguage::Dutch;
|
return ApplicationLanguage::Dutch;
|
||||||
case Service::Set::LanguageCode::FR_CA:
|
case Set::LanguageCode::FR_CA:
|
||||||
return ApplicationLanguage::CanadianFrench;
|
return ApplicationLanguage::CanadianFrench;
|
||||||
case Service::Set::LanguageCode::PT:
|
case Set::LanguageCode::PT:
|
||||||
return ApplicationLanguage::Portuguese;
|
return ApplicationLanguage::Portuguese;
|
||||||
case Service::Set::LanguageCode::RU:
|
case Set::LanguageCode::RU:
|
||||||
return ApplicationLanguage::Russian;
|
return ApplicationLanguage::Russian;
|
||||||
case Service::Set::LanguageCode::KO:
|
case Set::LanguageCode::KO:
|
||||||
return ApplicationLanguage::Korean;
|
return ApplicationLanguage::Korean;
|
||||||
case Service::Set::LanguageCode::ZH_HANT:
|
case Set::LanguageCode::ZH_HANT:
|
||||||
return ApplicationLanguage::TraditionalChinese;
|
return ApplicationLanguage::TraditionalChinese;
|
||||||
case Service::Set::LanguageCode::ZH_HANS:
|
case Set::LanguageCode::ZH_HANS:
|
||||||
return ApplicationLanguage::SimplifiedChinese;
|
return ApplicationLanguage::SimplifiedChinese;
|
||||||
default:
|
default:
|
||||||
return std::nullopt;
|
return std::nullopt;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<Service::Set::LanguageCode> ConvertToLanguageCode(const ApplicationLanguage lang) {
|
std::optional<Set::LanguageCode> ConvertToLanguageCode(const ApplicationLanguage lang) {
|
||||||
switch (lang) {
|
switch (lang) {
|
||||||
case ApplicationLanguage::AmericanEnglish:
|
case ApplicationLanguage::AmericanEnglish:
|
||||||
return Service::Set::LanguageCode::EN_US;
|
return Set::LanguageCode::EN_US;
|
||||||
case ApplicationLanguage::BritishEnglish:
|
case ApplicationLanguage::BritishEnglish:
|
||||||
return Service::Set::LanguageCode::EN_GB;
|
return Set::LanguageCode::EN_GB;
|
||||||
case ApplicationLanguage::Japanese:
|
case ApplicationLanguage::Japanese:
|
||||||
return Service::Set::LanguageCode::JA;
|
return Set::LanguageCode::JA;
|
||||||
case ApplicationLanguage::French:
|
case ApplicationLanguage::French:
|
||||||
return Service::Set::LanguageCode::FR;
|
return Set::LanguageCode::FR;
|
||||||
case ApplicationLanguage::German:
|
case ApplicationLanguage::German:
|
||||||
return Service::Set::LanguageCode::DE;
|
return Set::LanguageCode::DE;
|
||||||
case ApplicationLanguage::LatinAmericanSpanish:
|
case ApplicationLanguage::LatinAmericanSpanish:
|
||||||
return Service::Set::LanguageCode::ES_419;
|
return Set::LanguageCode::ES_419;
|
||||||
case ApplicationLanguage::Spanish:
|
case ApplicationLanguage::Spanish:
|
||||||
return Service::Set::LanguageCode::ES;
|
return Set::LanguageCode::ES;
|
||||||
case ApplicationLanguage::Italian:
|
case ApplicationLanguage::Italian:
|
||||||
return Service::Set::LanguageCode::IT;
|
return Set::LanguageCode::IT;
|
||||||
case ApplicationLanguage::Dutch:
|
case ApplicationLanguage::Dutch:
|
||||||
return Service::Set::LanguageCode::NL;
|
return Set::LanguageCode::NL;
|
||||||
case ApplicationLanguage::CanadianFrench:
|
case ApplicationLanguage::CanadianFrench:
|
||||||
return Service::Set::LanguageCode::FR_CA;
|
return Set::LanguageCode::FR_CA;
|
||||||
case ApplicationLanguage::Portuguese:
|
case ApplicationLanguage::Portuguese:
|
||||||
return Service::Set::LanguageCode::PT;
|
return Set::LanguageCode::PT;
|
||||||
case ApplicationLanguage::Russian:
|
case ApplicationLanguage::Russian:
|
||||||
return Service::Set::LanguageCode::RU;
|
return Set::LanguageCode::RU;
|
||||||
case ApplicationLanguage::Korean:
|
case ApplicationLanguage::Korean:
|
||||||
return Service::Set::LanguageCode::KO;
|
return Set::LanguageCode::KO;
|
||||||
case ApplicationLanguage::TraditionalChinese:
|
case ApplicationLanguage::TraditionalChinese:
|
||||||
return Service::Set::LanguageCode::ZH_HANT;
|
return Set::LanguageCode::ZH_HANT;
|
||||||
case ApplicationLanguage::SimplifiedChinese:
|
case ApplicationLanguage::SimplifiedChinese:
|
||||||
return Service::Set::LanguageCode::ZH_HANS;
|
return Set::LanguageCode::ZH_HANS;
|
||||||
default:
|
default:
|
||||||
return std::nullopt;
|
return std::nullopt;
|
||||||
}
|
}
|
45
src/core/hle/service/ns/language.h
Normal file
45
src/core/hle/service/ns/language.h
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
// Copyright 2019 yuzu emulator team
|
||||||
|
// Licensed under GPLv2 or any later version
|
||||||
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <optional>
|
||||||
|
#include <string>
|
||||||
|
#include "common/common_types.h"
|
||||||
|
|
||||||
|
namespace Service::Set {
|
||||||
|
enum class LanguageCode : u64;
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace Service::NS {
|
||||||
|
/// This is nn::ns::detail::ApplicationLanguage
|
||||||
|
enum class ApplicationLanguage : u8 {
|
||||||
|
AmericanEnglish = 0,
|
||||||
|
BritishEnglish,
|
||||||
|
Japanese,
|
||||||
|
French,
|
||||||
|
German,
|
||||||
|
LatinAmericanSpanish,
|
||||||
|
Spanish,
|
||||||
|
Italian,
|
||||||
|
Dutch,
|
||||||
|
CanadianFrench,
|
||||||
|
Portuguese,
|
||||||
|
Russian,
|
||||||
|
Korean,
|
||||||
|
TraditionalChinese,
|
||||||
|
SimplifiedChinese,
|
||||||
|
Count
|
||||||
|
};
|
||||||
|
using ApplicationLanguagePriorityList =
|
||||||
|
const std::array<ApplicationLanguage, static_cast<std::size_t>(ApplicationLanguage::Count)>;
|
||||||
|
|
||||||
|
constexpr u32 GetSupportedLanguageFlag(const ApplicationLanguage lang) {
|
||||||
|
return 1U << static_cast<u32>(lang);
|
||||||
|
}
|
||||||
|
|
||||||
|
const ApplicationLanguagePriorityList* GetApplicationLanguagePriorityList(ApplicationLanguage lang);
|
||||||
|
std::optional<ApplicationLanguage> ConvertToApplicationLanguage(Set::LanguageCode language_code);
|
||||||
|
std::optional<Set::LanguageCode> ConvertToLanguageCode(ApplicationLanguage lang);
|
||||||
|
} // namespace Service::NS
|
|
@ -9,8 +9,9 @@
|
||||||
#include "core/hle/kernel/hle_ipc.h"
|
#include "core/hle/kernel/hle_ipc.h"
|
||||||
#include "core/hle/service/ns/errors.h"
|
#include "core/hle/service/ns/errors.h"
|
||||||
#include "core/hle/service/ns/ns.h"
|
#include "core/hle/service/ns/ns.h"
|
||||||
#include "core/hle/service/ns/ns_language.h"
|
#include "core/hle/service/ns/language.h"
|
||||||
#include "core/hle/service/ns/pl_u.h"
|
#include "core/hle/service/ns/pl_u.h"
|
||||||
|
#include "core/hle/service/set/set.h"
|
||||||
#include "core/settings.h"
|
#include "core/settings.h"
|
||||||
|
|
||||||
namespace Service::NS {
|
namespace Service::NS {
|
||||||
|
@ -25,6 +26,8 @@ IAccountProxyInterface::IAccountProxyInterface() : ServiceFramework{"IAccountPro
|
||||||
RegisterHandlers(functions);
|
RegisterHandlers(functions);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
IAccountProxyInterface::~IAccountProxyInterface() = default;
|
||||||
|
|
||||||
IApplicationManagerInterface::IApplicationManagerInterface()
|
IApplicationManagerInterface::IApplicationManagerInterface()
|
||||||
: ServiceFramework{"IApplicationManagerInterface"} {
|
: ServiceFramework{"IApplicationManagerInterface"} {
|
||||||
// clang-format off
|
// clang-format off
|
||||||
|
@ -246,6 +249,8 @@ IApplicationManagerInterface::IApplicationManagerInterface()
|
||||||
RegisterHandlers(functions);
|
RegisterHandlers(functions);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
IApplicationManagerInterface::~IApplicationManagerInterface() = default;
|
||||||
|
|
||||||
void IApplicationManagerInterface::GetApplicationControlData(Kernel::HLERequestContext& ctx) {
|
void IApplicationManagerInterface::GetApplicationControlData(Kernel::HLERequestContext& ctx) {
|
||||||
IPC::RequestParser rp{ctx};
|
IPC::RequestParser rp{ctx};
|
||||||
const auto flag = rp.PopRaw<u64>();
|
const auto flag = rp.PopRaw<u64>();
|
||||||
|
@ -325,7 +330,7 @@ ResultVal<u8> IApplicationManagerInterface::GetApplicationDesiredLanguage(
|
||||||
|
|
||||||
// Get language code from settings
|
// Get language code from settings
|
||||||
const auto language_code =
|
const auto language_code =
|
||||||
Service::Set::GetLanguageCodeFromIndex(Settings::values.language_index);
|
Set::GetLanguageCodeFromIndex(Settings::values.language_index);
|
||||||
|
|
||||||
// Convert to application language, get priority list
|
// Convert to application language, get priority list
|
||||||
const auto application_language = ConvertToApplicationLanguage(language_code);
|
const auto application_language = ConvertToApplicationLanguage(language_code);
|
||||||
|
@ -342,7 +347,7 @@ ResultVal<u8> IApplicationManagerInterface::GetApplicationDesiredLanguage(
|
||||||
const auto supported_flag = GetSupportedLanguageFlag(lang);
|
const auto supported_flag = GetSupportedLanguageFlag(lang);
|
||||||
if (supported_languages == 0 ||
|
if (supported_languages == 0 ||
|
||||||
(supported_languages & supported_flag) == supported_languages) {
|
(supported_languages & supported_flag) == supported_languages) {
|
||||||
return ResultVal<u8>::WithCode(RESULT_SUCCESS, static_cast<u8>(lang));
|
return MakeResult(static_cast<u8>(lang));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -373,7 +378,7 @@ ResultVal<u64> IApplicationManagerInterface::ConvertApplicationLanguageToLanguag
|
||||||
return ERR_APPLICATION_LANGUAGE_NOT_FOUND;
|
return ERR_APPLICATION_LANGUAGE_NOT_FOUND;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ResultVal<u64>::WithCode(RESULT_SUCCESS, static_cast<u64>(*language_code));
|
return MakeResult(static_cast<u64>(*language_code));
|
||||||
}
|
}
|
||||||
|
|
||||||
IApplicationVersionInterface::IApplicationVersionInterface()
|
IApplicationVersionInterface::IApplicationVersionInterface()
|
||||||
|
@ -395,6 +400,8 @@ IApplicationVersionInterface::IApplicationVersionInterface()
|
||||||
RegisterHandlers(functions);
|
RegisterHandlers(functions);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
IApplicationVersionInterface::~IApplicationVersionInterface() = default;
|
||||||
|
|
||||||
IContentManagerInterface::IContentManagerInterface()
|
IContentManagerInterface::IContentManagerInterface()
|
||||||
: ServiceFramework{"IContentManagerInterface"} {
|
: ServiceFramework{"IContentManagerInterface"} {
|
||||||
// clang-format off
|
// clang-format off
|
||||||
|
@ -413,6 +420,8 @@ IContentManagerInterface::IContentManagerInterface()
|
||||||
RegisterHandlers(functions);
|
RegisterHandlers(functions);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
IContentManagerInterface::~IContentManagerInterface() = default;
|
||||||
|
|
||||||
IDocumentInterface::IDocumentInterface() : ServiceFramework{"IDocumentInterface"} {
|
IDocumentInterface::IDocumentInterface() : ServiceFramework{"IDocumentInterface"} {
|
||||||
// clang-format off
|
// clang-format off
|
||||||
static const FunctionInfo functions[] = {
|
static const FunctionInfo functions[] = {
|
||||||
|
@ -425,6 +434,8 @@ IDocumentInterface::IDocumentInterface() : ServiceFramework{"IDocumentInterface"
|
||||||
RegisterHandlers(functions);
|
RegisterHandlers(functions);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
IDocumentInterface::~IDocumentInterface() = default;
|
||||||
|
|
||||||
IDownloadTaskInterface::IDownloadTaskInterface() : ServiceFramework{"IDownloadTaskInterface"} {
|
IDownloadTaskInterface::IDownloadTaskInterface() : ServiceFramework{"IDownloadTaskInterface"} {
|
||||||
// clang-format off
|
// clang-format off
|
||||||
static const FunctionInfo functions[] = {
|
static const FunctionInfo functions[] = {
|
||||||
|
@ -443,6 +454,8 @@ IDownloadTaskInterface::IDownloadTaskInterface() : ServiceFramework{"IDownloadTa
|
||||||
RegisterHandlers(functions);
|
RegisterHandlers(functions);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
IDownloadTaskInterface::~IDownloadTaskInterface() = default;
|
||||||
|
|
||||||
IECommerceInterface::IECommerceInterface() : ServiceFramework{"IECommerceInterface"} {
|
IECommerceInterface::IECommerceInterface() : ServiceFramework{"IECommerceInterface"} {
|
||||||
// clang-format off
|
// clang-format off
|
||||||
static const FunctionInfo functions[] = {
|
static const FunctionInfo functions[] = {
|
||||||
|
@ -458,6 +471,8 @@ IECommerceInterface::IECommerceInterface() : ServiceFramework{"IECommerceInterfa
|
||||||
RegisterHandlers(functions);
|
RegisterHandlers(functions);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
IECommerceInterface::~IECommerceInterface() = default;
|
||||||
|
|
||||||
IFactoryResetInterface::IFactoryResetInterface::IFactoryResetInterface()
|
IFactoryResetInterface::IFactoryResetInterface::IFactoryResetInterface()
|
||||||
: ServiceFramework{"IFactoryResetInterface"} {
|
: ServiceFramework{"IFactoryResetInterface"} {
|
||||||
// clang-format off
|
// clang-format off
|
||||||
|
@ -471,6 +486,8 @@ IFactoryResetInterface::IFactoryResetInterface::IFactoryResetInterface()
|
||||||
RegisterHandlers(functions);
|
RegisterHandlers(functions);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
IFactoryResetInterface::~IFactoryResetInterface() = default;
|
||||||
|
|
||||||
NS::NS(const char* name) : ServiceFramework{name} {
|
NS::NS(const char* name) : ServiceFramework{name} {
|
||||||
// clang-format off
|
// clang-format off
|
||||||
static const FunctionInfo functions[] = {
|
static const FunctionInfo functions[] = {
|
||||||
|
@ -488,7 +505,9 @@ NS::NS(const char* name) : ServiceFramework{name} {
|
||||||
RegisterHandlers(functions);
|
RegisterHandlers(functions);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<IApplicationManagerInterface> NS::GetApplicationManagerInterface() {
|
NS::~NS() = default;
|
||||||
|
|
||||||
|
std::shared_ptr<IApplicationManagerInterface> NS::GetApplicationManagerInterface() const {
|
||||||
return GetInterface<IApplicationManagerInterface>();
|
return GetInterface<IApplicationManagerInterface>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,18 +5,19 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "core/hle/service/service.h"
|
#include "core/hle/service/service.h"
|
||||||
#include "core/hle/service/set/set.h"
|
|
||||||
|
|
||||||
namespace Service::NS {
|
namespace Service::NS {
|
||||||
|
|
||||||
class IAccountProxyInterface final : public ServiceFramework<IAccountProxyInterface> {
|
class IAccountProxyInterface final : public ServiceFramework<IAccountProxyInterface> {
|
||||||
public:
|
public:
|
||||||
explicit IAccountProxyInterface();
|
explicit IAccountProxyInterface();
|
||||||
|
~IAccountProxyInterface();
|
||||||
};
|
};
|
||||||
|
|
||||||
class IApplicationManagerInterface final : public ServiceFramework<IApplicationManagerInterface> {
|
class IApplicationManagerInterface final : public ServiceFramework<IApplicationManagerInterface> {
|
||||||
public:
|
public:
|
||||||
explicit IApplicationManagerInterface();
|
explicit IApplicationManagerInterface();
|
||||||
|
~IApplicationManagerInterface();
|
||||||
|
|
||||||
ResultVal<u8> GetApplicationDesiredLanguage(u32 supported_languages);
|
ResultVal<u8> GetApplicationDesiredLanguage(u32 supported_languages);
|
||||||
ResultVal<u64> ConvertApplicationLanguageToLanguageCode(u8 application_language);
|
ResultVal<u64> ConvertApplicationLanguageToLanguageCode(u8 application_language);
|
||||||
|
@ -30,38 +31,45 @@ private:
|
||||||
class IApplicationVersionInterface final : public ServiceFramework<IApplicationVersionInterface> {
|
class IApplicationVersionInterface final : public ServiceFramework<IApplicationVersionInterface> {
|
||||||
public:
|
public:
|
||||||
explicit IApplicationVersionInterface();
|
explicit IApplicationVersionInterface();
|
||||||
|
~IApplicationVersionInterface();
|
||||||
};
|
};
|
||||||
|
|
||||||
class IContentManagerInterface final : public ServiceFramework<IContentManagerInterface> {
|
class IContentManagerInterface final : public ServiceFramework<IContentManagerInterface> {
|
||||||
public:
|
public:
|
||||||
explicit IContentManagerInterface();
|
explicit IContentManagerInterface();
|
||||||
|
~IContentManagerInterface();
|
||||||
};
|
};
|
||||||
|
|
||||||
class IDocumentInterface final : public ServiceFramework<IDocumentInterface> {
|
class IDocumentInterface final : public ServiceFramework<IDocumentInterface> {
|
||||||
public:
|
public:
|
||||||
explicit IDocumentInterface();
|
explicit IDocumentInterface();
|
||||||
|
~IDocumentInterface();
|
||||||
};
|
};
|
||||||
|
|
||||||
class IDownloadTaskInterface final : public ServiceFramework<IDownloadTaskInterface> {
|
class IDownloadTaskInterface final : public ServiceFramework<IDownloadTaskInterface> {
|
||||||
public:
|
public:
|
||||||
explicit IDownloadTaskInterface();
|
explicit IDownloadTaskInterface();
|
||||||
|
~IDownloadTaskInterface();
|
||||||
};
|
};
|
||||||
|
|
||||||
class IECommerceInterface final : public ServiceFramework<IECommerceInterface> {
|
class IECommerceInterface final : public ServiceFramework<IECommerceInterface> {
|
||||||
public:
|
public:
|
||||||
explicit IECommerceInterface();
|
explicit IECommerceInterface();
|
||||||
|
~IECommerceInterface();
|
||||||
};
|
};
|
||||||
|
|
||||||
class IFactoryResetInterface final : public ServiceFramework<IFactoryResetInterface> {
|
class IFactoryResetInterface final : public ServiceFramework<IFactoryResetInterface> {
|
||||||
public:
|
public:
|
||||||
explicit IFactoryResetInterface();
|
explicit IFactoryResetInterface();
|
||||||
|
~IFactoryResetInterface();
|
||||||
};
|
};
|
||||||
|
|
||||||
class NS final : public ServiceFramework<NS> {
|
class NS final : public ServiceFramework<NS> {
|
||||||
public:
|
public:
|
||||||
explicit NS(const char* name);
|
explicit NS(const char* name);
|
||||||
|
~NS();
|
||||||
|
|
||||||
std::shared_ptr<IApplicationManagerInterface> GetApplicationManagerInterface();
|
std::shared_ptr<IApplicationManagerInterface> GetApplicationManagerInterface() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
@ -74,7 +82,7 @@ private:
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
std::shared_ptr<T> GetInterface() {
|
std::shared_ptr<T> GetInterface() const {
|
||||||
static_assert(std::is_base_of_v<Kernel::SessionRequestHandler, T>,
|
static_assert(std::is_base_of_v<Kernel::SessionRequestHandler, T>,
|
||||||
"Not a base of ServiceFrameworkBase");
|
"Not a base of ServiceFrameworkBase");
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// Copyright 2018 yuzu emulator team
|
// Copyright 2019 yuzu emulator team
|
||||||
// Licensed under GPLv2 or any later version
|
// Licensed under GPLv2 or any later version
|
||||||
// Refer to the license.txt file included.
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ using ApplicationLanguagePriorityList =
|
||||||
const std::array<ApplicationLanguage, static_cast<std::size_t>(ApplicationLanguage::Count)>;
|
const std::array<ApplicationLanguage, static_cast<std::size_t>(ApplicationLanguage::Count)>;
|
||||||
|
|
||||||
constexpr u32 GetSupportedLanguageFlag(const ApplicationLanguage lang) {
|
constexpr u32 GetSupportedLanguageFlag(const ApplicationLanguage lang) {
|
||||||
return 1u << static_cast<u32>(lang);
|
return 1U << static_cast<u32>(lang);
|
||||||
}
|
}
|
||||||
|
|
||||||
const ApplicationLanguagePriorityList* GetApplicationLanguagePriorityList(ApplicationLanguage lang);
|
const ApplicationLanguagePriorityList* GetApplicationLanguagePriorityList(ApplicationLanguage lang);
|
||||||
|
|
Loading…
Reference in a new issue