service: move hle_ipc from kernel
This commit is contained in:
parent
4a1aa98598
commit
65be230fdd
148 changed files with 1668 additions and 1733 deletions
|
@ -15,11 +15,11 @@
|
|||
#include "core/file_sys/registered_cache.h"
|
||||
#include "core/file_sys/romfs.h"
|
||||
#include "core/file_sys/system_archive/system_archive.h"
|
||||
#include "core/hle/ipc_helpers.h"
|
||||
#include "core/hle/kernel/k_shared_memory.h"
|
||||
#include "core/hle/kernel/kernel.h"
|
||||
#include "core/hle/kernel/physical_memory.h"
|
||||
#include "core/hle/service/filesystem/filesystem.h"
|
||||
#include "core/hle/service/ipc_helpers.h"
|
||||
#include "core/hle/service/ns/iplatform_service_manager.h"
|
||||
|
||||
namespace Service::NS {
|
||||
|
@ -208,7 +208,7 @@ IPlatformServiceManager::IPlatformServiceManager(Core::System& system_, const ch
|
|||
|
||||
IPlatformServiceManager::~IPlatformServiceManager() = default;
|
||||
|
||||
void IPlatformServiceManager::RequestLoad(Kernel::HLERequestContext& ctx) {
|
||||
void IPlatformServiceManager::RequestLoad(HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp{ctx};
|
||||
const u32 shared_font_type{rp.Pop<u32>()};
|
||||
// Games don't call this so all fonts should be loaded
|
||||
|
@ -218,7 +218,7 @@ void IPlatformServiceManager::RequestLoad(Kernel::HLERequestContext& ctx) {
|
|||
rb.Push(ResultSuccess);
|
||||
}
|
||||
|
||||
void IPlatformServiceManager::GetLoadState(Kernel::HLERequestContext& ctx) {
|
||||
void IPlatformServiceManager::GetLoadState(HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp{ctx};
|
||||
const u32 font_id{rp.Pop<u32>()};
|
||||
LOG_DEBUG(Service_NS, "called, font_id={}", font_id);
|
||||
|
@ -228,7 +228,7 @@ void IPlatformServiceManager::GetLoadState(Kernel::HLERequestContext& ctx) {
|
|||
rb.Push<u32>(static_cast<u32>(LoadState::Done));
|
||||
}
|
||||
|
||||
void IPlatformServiceManager::GetSize(Kernel::HLERequestContext& ctx) {
|
||||
void IPlatformServiceManager::GetSize(HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp{ctx};
|
||||
const u32 font_id{rp.Pop<u32>()};
|
||||
LOG_DEBUG(Service_NS, "called, font_id={}", font_id);
|
||||
|
@ -238,7 +238,7 @@ void IPlatformServiceManager::GetSize(Kernel::HLERequestContext& ctx) {
|
|||
rb.Push<u32>(impl->GetSharedFontRegion(font_id).size);
|
||||
}
|
||||
|
||||
void IPlatformServiceManager::GetSharedMemoryAddressOffset(Kernel::HLERequestContext& ctx) {
|
||||
void IPlatformServiceManager::GetSharedMemoryAddressOffset(HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp{ctx};
|
||||
const u32 font_id{rp.Pop<u32>()};
|
||||
LOG_DEBUG(Service_NS, "called, font_id={}", font_id);
|
||||
|
@ -248,7 +248,7 @@ void IPlatformServiceManager::GetSharedMemoryAddressOffset(Kernel::HLERequestCon
|
|||
rb.Push<u32>(impl->GetSharedFontRegion(font_id).offset);
|
||||
}
|
||||
|
||||
void IPlatformServiceManager::GetSharedMemoryNativeHandle(Kernel::HLERequestContext& ctx) {
|
||||
void IPlatformServiceManager::GetSharedMemoryNativeHandle(HLERequestContext& ctx) {
|
||||
// Map backing memory for the font data
|
||||
LOG_DEBUG(Service_NS, "called");
|
||||
|
||||
|
@ -261,7 +261,7 @@ void IPlatformServiceManager::GetSharedMemoryNativeHandle(Kernel::HLERequestCont
|
|||
rb.PushCopyObjects(&kernel.GetFontSharedMem());
|
||||
}
|
||||
|
||||
void IPlatformServiceManager::GetSharedFontInOrderOfPriority(Kernel::HLERequestContext& ctx) {
|
||||
void IPlatformServiceManager::GetSharedFontInOrderOfPriority(HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp{ctx};
|
||||
const u64 language_code{rp.Pop<u64>()}; // TODO(ogniK): Find out what this is used for
|
||||
LOG_DEBUG(Service_NS, "called, language_code={:X}", language_code);
|
||||
|
|
|
@ -42,12 +42,12 @@ public:
|
|||
~IPlatformServiceManager() override;
|
||||
|
||||
private:
|
||||
void RequestLoad(Kernel::HLERequestContext& ctx);
|
||||
void GetLoadState(Kernel::HLERequestContext& ctx);
|
||||
void GetSize(Kernel::HLERequestContext& ctx);
|
||||
void GetSharedMemoryAddressOffset(Kernel::HLERequestContext& ctx);
|
||||
void GetSharedMemoryNativeHandle(Kernel::HLERequestContext& ctx);
|
||||
void GetSharedFontInOrderOfPriority(Kernel::HLERequestContext& ctx);
|
||||
void RequestLoad(HLERequestContext& ctx);
|
||||
void GetLoadState(HLERequestContext& ctx);
|
||||
void GetSize(HLERequestContext& ctx);
|
||||
void GetSharedMemoryAddressOffset(HLERequestContext& ctx);
|
||||
void GetSharedMemoryNativeHandle(HLERequestContext& ctx);
|
||||
void GetSharedFontInOrderOfPriority(HLERequestContext& ctx);
|
||||
|
||||
struct Impl;
|
||||
std::unique_ptr<Impl> impl;
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
#include "core/file_sys/control_metadata.h"
|
||||
#include "core/file_sys/patch_manager.h"
|
||||
#include "core/file_sys/vfs.h"
|
||||
#include "core/hle/ipc_helpers.h"
|
||||
#include "core/hle/service/glue/glue_manager.h"
|
||||
#include "core/hle/service/ipc_helpers.h"
|
||||
#include "core/hle/service/ns/errors.h"
|
||||
#include "core/hle/service/ns/iplatform_service_manager.h"
|
||||
#include "core/hle/service/ns/language.h"
|
||||
|
@ -329,7 +329,7 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
|
|||
|
||||
IApplicationManagerInterface::~IApplicationManagerInterface() = default;
|
||||
|
||||
void IApplicationManagerInterface::GetApplicationControlData(Kernel::HLERequestContext& ctx) {
|
||||
void IApplicationManagerInterface::GetApplicationControlData(HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp{ctx};
|
||||
const auto flag = rp.PopRaw<u64>();
|
||||
LOG_DEBUG(Service_NS, "called with flag={:016X}", flag);
|
||||
|
@ -388,7 +388,7 @@ void IApplicationManagerInterface::GetApplicationControlData(Kernel::HLERequestC
|
|||
rb.Push<u32>(static_cast<u32>(out.size()));
|
||||
}
|
||||
|
||||
void IApplicationManagerInterface::GetApplicationDesiredLanguage(Kernel::HLERequestContext& ctx) {
|
||||
void IApplicationManagerInterface::GetApplicationDesiredLanguage(HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp{ctx};
|
||||
const auto supported_languages = rp.Pop<u32>();
|
||||
|
||||
|
@ -440,7 +440,7 @@ ResultVal<u8> IApplicationManagerInterface::GetApplicationDesiredLanguage(
|
|||
}
|
||||
|
||||
void IApplicationManagerInterface::ConvertApplicationLanguageToLanguageCode(
|
||||
Kernel::HLERequestContext& ctx) {
|
||||
HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp{ctx};
|
||||
const auto application_language = rp.Pop<u8>();
|
||||
|
||||
|
@ -604,8 +604,7 @@ IReadOnlyApplicationControlDataInterface::IReadOnlyApplicationControlDataInterfa
|
|||
|
||||
IReadOnlyApplicationControlDataInterface::~IReadOnlyApplicationControlDataInterface() = default;
|
||||
|
||||
void IReadOnlyApplicationControlDataInterface::GetApplicationControlData(
|
||||
Kernel::HLERequestContext& ctx) {
|
||||
void IReadOnlyApplicationControlDataInterface::GetApplicationControlData(HLERequestContext& ctx) {
|
||||
enum class ApplicationControlSource : u8 {
|
||||
CacheOnly,
|
||||
Storage,
|
||||
|
@ -753,7 +752,7 @@ public:
|
|||
}
|
||||
|
||||
private:
|
||||
void OpenSystemUpdateControl(Kernel::HLERequestContext& ctx) {
|
||||
void OpenSystemUpdateControl(HLERequestContext& ctx) {
|
||||
LOG_DEBUG(Service_NS, "called");
|
||||
|
||||
IPC::ResponseBuilder rb{ctx, 2, 0, 1};
|
||||
|
@ -777,7 +776,7 @@ public:
|
|||
}
|
||||
|
||||
private:
|
||||
void NeedsUpdateVulnerability(Kernel::HLERequestContext& ctx) {
|
||||
void NeedsUpdateVulnerability(HLERequestContext& ctx) {
|
||||
LOG_WARNING(Service_NS, "(STUBBED) called");
|
||||
|
||||
IPC::ResponseBuilder rb{ctx, 3};
|
||||
|
|
|
@ -32,9 +32,9 @@ public:
|
|||
ResultVal<u64> ConvertApplicationLanguageToLanguageCode(u8 application_language);
|
||||
|
||||
private:
|
||||
void GetApplicationControlData(Kernel::HLERequestContext& ctx);
|
||||
void GetApplicationDesiredLanguage(Kernel::HLERequestContext& ctx);
|
||||
void ConvertApplicationLanguageToLanguageCode(Kernel::HLERequestContext& ctx);
|
||||
void GetApplicationControlData(HLERequestContext& ctx);
|
||||
void GetApplicationDesiredLanguage(HLERequestContext& ctx);
|
||||
void ConvertApplicationLanguageToLanguageCode(HLERequestContext& ctx);
|
||||
};
|
||||
|
||||
class IApplicationVersionInterface final : public ServiceFramework<IApplicationVersionInterface> {
|
||||
|
@ -80,7 +80,7 @@ public:
|
|||
~IReadOnlyApplicationControlDataInterface() override;
|
||||
|
||||
private:
|
||||
void GetApplicationControlData(Kernel::HLERequestContext& ctx);
|
||||
void GetApplicationControlData(HLERequestContext& ctx);
|
||||
};
|
||||
|
||||
class NS final : public ServiceFramework<NS> {
|
||||
|
@ -92,7 +92,7 @@ public:
|
|||
|
||||
private:
|
||||
template <typename T, typename... Args>
|
||||
void PushInterface(Kernel::HLERequestContext& ctx) {
|
||||
void PushInterface(HLERequestContext& ctx) {
|
||||
LOG_DEBUG(Service_NS, "called");
|
||||
|
||||
IPC::ResponseBuilder rb{ctx, 2, 0, 1};
|
||||
|
@ -100,7 +100,7 @@ private:
|
|||
rb.PushIpcInterface<T>(system);
|
||||
}
|
||||
|
||||
void PushIApplicationManagerInterface(Kernel::HLERequestContext& ctx) {
|
||||
void PushIApplicationManagerInterface(HLERequestContext& ctx) {
|
||||
LOG_DEBUG(Service_NS, "called");
|
||||
|
||||
IPC::ResponseBuilder rb{ctx, 2, 0, 1};
|
||||
|
@ -110,7 +110,7 @@ private:
|
|||
|
||||
template <typename T, typename... Args>
|
||||
std::shared_ptr<T> GetInterface(Args&&... args) const {
|
||||
static_assert(std::is_base_of_v<Kernel::SessionRequestHandler, T>,
|
||||
static_assert(std::is_base_of_v<SessionRequestHandler, T>,
|
||||
"Not a base of ServiceFrameworkBase");
|
||||
|
||||
return std::make_shared<T>(std::forward<Args>(args)...);
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
#include "common/logging/log.h"
|
||||
#include "common/uuid.h"
|
||||
#include "core/hle/ipc_helpers.h"
|
||||
#include "core/hle/service/ipc_helpers.h"
|
||||
#include "core/hle/service/ns/pdm_qry.h"
|
||||
#include "core/hle/service/service.h"
|
||||
|
||||
|
@ -42,7 +42,7 @@ PDM_QRY::PDM_QRY(Core::System& system_) : ServiceFramework{system_, "pdm:qry"} {
|
|||
|
||||
PDM_QRY::~PDM_QRY() = default;
|
||||
|
||||
void PDM_QRY::QueryPlayStatisticsByApplicationIdAndUserAccountId(Kernel::HLERequestContext& ctx) {
|
||||
void PDM_QRY::QueryPlayStatisticsByApplicationIdAndUserAccountId(HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp{ctx};
|
||||
const auto unknown = rp.Pop<bool>();
|
||||
rp.Pop<u8>(); // Padding
|
||||
|
|
|
@ -26,7 +26,7 @@ public:
|
|||
~PDM_QRY() override;
|
||||
|
||||
private:
|
||||
void QueryPlayStatisticsByApplicationIdAndUserAccountId(Kernel::HLERequestContext& ctx);
|
||||
void QueryPlayStatisticsByApplicationIdAndUserAccountId(HLERequestContext& ctx);
|
||||
};
|
||||
|
||||
} // namespace Service::NS
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue