mirror of
https://github.com/skyline-emu/skyline.git
synced 2024-12-29 14:35:29 +03:00
Refactor settings services
Use the new service naming convention.
This commit is contained in:
parent
c8846ca07b
commit
f4620dd992
@ -57,7 +57,7 @@ add_library(skyline SHARED
|
|||||||
${source_DIR}/skyline/services/audren/IAudioRenderer.cpp
|
${source_DIR}/skyline/services/audren/IAudioRenderer.cpp
|
||||||
${source_DIR}/skyline/services/audren/voice.cpp
|
${source_DIR}/skyline/services/audren/voice.cpp
|
||||||
${source_DIR}/skyline/services/audren/memoryPool.cpp
|
${source_DIR}/skyline/services/audren/memoryPool.cpp
|
||||||
${source_DIR}/skyline/services/set/sys.cpp
|
${source_DIR}/skyline/services/settings/ISystemSettingsServer.cpp
|
||||||
${source_DIR}/skyline/services/apm/apm.cpp
|
${source_DIR}/skyline/services/apm/apm.cpp
|
||||||
${source_DIR}/skyline/services/am/applet.cpp
|
${source_DIR}/skyline/services/am/applet.cpp
|
||||||
${source_DIR}/skyline/services/am/appletController.cpp
|
${source_DIR}/skyline/services/am/appletController.cpp
|
||||||
|
@ -20,7 +20,7 @@ namespace skyline::service {
|
|||||||
enum class Service {
|
enum class Service {
|
||||||
sm_IUserInterface,
|
sm_IUserInterface,
|
||||||
fatal_u,
|
fatal_u,
|
||||||
set_sys,
|
settings_ISystemSettingsServer,
|
||||||
apm,
|
apm,
|
||||||
apm_ISession,
|
apm_ISession,
|
||||||
am_appletOE,
|
am_appletOE,
|
||||||
@ -62,7 +62,7 @@ namespace skyline::service {
|
|||||||
*/
|
*/
|
||||||
const static std::unordered_map<std::string, Service> ServiceString{
|
const static std::unordered_map<std::string, Service> ServiceString{
|
||||||
{"fatal:u", Service::fatal_u},
|
{"fatal:u", Service::fatal_u},
|
||||||
{"set:sys", Service::set_sys},
|
{"set:sys", Service::settings_ISystemSettingsServer},
|
||||||
{"apm", Service::apm},
|
{"apm", Service::apm},
|
||||||
{"appletOE", Service::am_appletOE},
|
{"appletOE", Service::am_appletOE},
|
||||||
{"appletAE", Service::am_appletAE},
|
{"appletAE", Service::am_appletAE},
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#include <kernel/types/KProcess.h>
|
#include <kernel/types/KProcess.h>
|
||||||
#include <services/audren/IAudioRendererManager.h>
|
#include <services/audren/IAudioRendererManager.h>
|
||||||
#include "sm/IUserInterface.h"
|
#include "sm/IUserInterface.h"
|
||||||
#include "set/sys.h"
|
#include "settings/ISystemSettingsServer.h"
|
||||||
#include "apm/apm.h"
|
#include "apm/apm.h"
|
||||||
#include "am/applet.h"
|
#include "am/applet.h"
|
||||||
#include "am/appletController.h"
|
#include "am/appletController.h"
|
||||||
@ -29,8 +29,8 @@ namespace skyline::service {
|
|||||||
case Service::fatal_u:
|
case Service::fatal_u:
|
||||||
serviceObj = std::make_shared<fatal::fatalU>(state, *this);
|
serviceObj = std::make_shared<fatal::fatalU>(state, *this);
|
||||||
break;
|
break;
|
||||||
case Service::set_sys:
|
case Service::settings_ISystemSettingsServer:
|
||||||
serviceObj = std::make_shared<set::sys>(state, *this);
|
serviceObj = std::make_shared<settings::ISystemSettingsServer>(state, *this);
|
||||||
break;
|
break;
|
||||||
case Service::apm:
|
case Service::apm:
|
||||||
serviceObj = std::make_shared<apm::apm>(state, *this);
|
serviceObj = std::make_shared<apm::apm>(state, *this);
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
#include "sys.h"
|
|
||||||
#include <kernel/types/KProcess.h>
|
|
||||||
|
|
||||||
namespace skyline::service::set {
|
|
||||||
sys::sys(const DeviceState &state, ServiceManager &manager) : BaseService(state, manager, Service::set_sys, "set:sys", {
|
|
||||||
{0x3, SFUNC(sys::GetFirmwareVersion)}}) {}
|
|
||||||
|
|
||||||
void sys::GetFirmwareVersion(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
|
||||||
SysVerTitle title{.minor=9, .major=0, .micro=0, .revMajor=4, .platform="NX", .verHash="4de65c071fd0869695b7629f75eb97b2551dbf2f", .dispVer="9.0.0", .dispTitle="NintendoSDK Firmware for NX 9.0.0-4.0"};
|
|
||||||
state.process->WriteMemory(title, request.outputBuf.at(0).address);
|
|
||||||
}
|
|
||||||
}
|
|
@ -0,0 +1,12 @@
|
|||||||
|
#include <kernel/types/KProcess.h>
|
||||||
|
#include "ISystemSettingsServer.h"
|
||||||
|
|
||||||
|
namespace skyline::service::settings {
|
||||||
|
ISystemSettingsServer::ISystemSettingsServer(const DeviceState &state, ServiceManager &manager) : BaseService(state, manager, Service::settings_ISystemSettingsServer, "settings:ISystemSettingsServer", {
|
||||||
|
{0x3, SFUNC(ISystemSettingsServer::GetFirmwareVersion)}}) {}
|
||||||
|
|
||||||
|
void ISystemSettingsServer::GetFirmwareVersion(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
||||||
|
SysVerTitle title{.minor=9, .major=0, .micro=0, .revMajor=4, .platform="NX", .verHash="4de65c071fd0869695b7629f75eb97b2551dbf2f", .dispVer="9.0.0", .dispTitle="NintendoSDK Firmware for NX 9.0.0-4.0"};
|
||||||
|
state.process->WriteMemory(title, request.outputBuf.at(0).address);
|
||||||
|
}
|
||||||
|
}
|
@ -3,11 +3,11 @@
|
|||||||
#include <services/base_service.h>
|
#include <services/base_service.h>
|
||||||
#include <services/serviceman.h>
|
#include <services/serviceman.h>
|
||||||
|
|
||||||
namespace skyline::service::set {
|
namespace skyline::service::settings {
|
||||||
/**
|
/**
|
||||||
* @brief set:sys or System Settings service provides access to system settings
|
* @brief ISystemSettingsServer or set:sys service provides access to system settings
|
||||||
*/
|
*/
|
||||||
class sys : public BaseService {
|
class ISystemSettingsServer : public BaseService {
|
||||||
private:
|
private:
|
||||||
/**
|
/**
|
||||||
* @brief Encapsulates the system version, this is sent to the application in GetFirmwareVersion (https://switchbrew.org/wiki/System_Version_Title)
|
* @brief Encapsulates the system version, this is sent to the application in GetFirmwareVersion (https://switchbrew.org/wiki/System_Version_Title)
|
||||||
@ -16,10 +16,10 @@ namespace skyline::service::set {
|
|||||||
u8 major; //!< The major version
|
u8 major; //!< The major version
|
||||||
u8 minor; //!< The minor vision
|
u8 minor; //!< The minor vision
|
||||||
u8 micro; //!< The micro vision
|
u8 micro; //!< The micro vision
|
||||||
u8 : 8;
|
u8 _pad0_;
|
||||||
u8 revMajor; //!< The major revision
|
u8 revMajor; //!< The major revision
|
||||||
u8 revMinor; //!< The major revision
|
u8 revMinor; //!< The major revision
|
||||||
u16 : 16;
|
u16 _pad1_;
|
||||||
u8 platform[0x20]; //!< "NX"
|
u8 platform[0x20]; //!< "NX"
|
||||||
u8 verHash[0x40]; //!< This is the hash of the version string
|
u8 verHash[0x40]; //!< This is the hash of the version string
|
||||||
u8 dispVer[0x18]; //!< The version number string
|
u8 dispVer[0x18]; //!< The version number string
|
||||||
@ -28,7 +28,7 @@ namespace skyline::service::set {
|
|||||||
static_assert(sizeof(SysVerTitle) == 0x100);
|
static_assert(sizeof(SysVerTitle) == 0x100);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
sys(const DeviceState &state, ServiceManager &manager);
|
ISystemSettingsServer(const DeviceState &state, ServiceManager &manager);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Writes the Firmware version to a 0xA buffer (https://switchbrew.org/wiki/Settings_services#GetFirmwareVersion)
|
* @brief Writes the Firmware version to a 0xA buffer (https://switchbrew.org/wiki/Settings_services#GetFirmwareVersion)
|
Loading…
Reference in New Issue
Block a user