mirror of
https://github.com/skyline-emu/skyline.git
synced 2024-12-29 16:25:36 +03:00
Stub ldr:ro IRoInterface
Some games initialise this service on startup however don't actually use it. Add a simple stub to allow such games to boot.
This commit is contained in:
parent
1fc2641746
commit
e571066409
@ -288,6 +288,7 @@ add_library(skyline SHARED
|
|||||||
${source_DIR}/skyline/services/bt/IBluetoothUser.cpp
|
${source_DIR}/skyline/services/bt/IBluetoothUser.cpp
|
||||||
${source_DIR}/skyline/services/btm/IBtmUser.cpp
|
${source_DIR}/skyline/services/btm/IBtmUser.cpp
|
||||||
${source_DIR}/skyline/services/btm/IBtmUserCore.cpp
|
${source_DIR}/skyline/services/btm/IBtmUserCore.cpp
|
||||||
|
${source_DIR}/skyline/services/ro/IRoInterface.cpp
|
||||||
${source_DIR}/skyline/applet/applet_creator.cpp
|
${source_DIR}/skyline/applet/applet_creator.cpp
|
||||||
${source_DIR}/skyline/applet/controller_applet.cpp
|
${source_DIR}/skyline/applet/controller_applet.cpp
|
||||||
${source_DIR}/skyline/applet/error_applet.cpp
|
${source_DIR}/skyline/applet/error_applet.cpp
|
||||||
|
8
app/src/main/cpp/skyline/services/ro/IRoInterface.cpp
Normal file
8
app/src/main/cpp/skyline/services/ro/IRoInterface.cpp
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
// SPDX-License-Identifier: MPL-2.0
|
||||||
|
// Copyright © 2020 Skyline Team and Contributors (https://github.com/skyline-emu/)
|
||||||
|
|
||||||
|
#include "IRoInterface.h"
|
||||||
|
|
||||||
|
namespace skyline::service::ro {
|
||||||
|
IRoInterface::IRoInterface(const DeviceState &state, ServiceManager &manager) : BaseService(state, manager) {}
|
||||||
|
}
|
17
app/src/main/cpp/skyline/services/ro/IRoInterface.h
Normal file
17
app/src/main/cpp/skyline/services/ro/IRoInterface.h
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
// SPDX-License-Identifier: MPL-2.0
|
||||||
|
// Copyright © 2020 Skyline Team and Contributors (https://github.com/skyline-emu/)
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <services/serviceman.h>
|
||||||
|
|
||||||
|
namespace skyline::service::ro {
|
||||||
|
/**
|
||||||
|
* @brief IRoInterface or ldr:ro is used by applications to dynamically load nros
|
||||||
|
* @url https://switchbrew.org/wiki/RO_services#LoadModule
|
||||||
|
*/
|
||||||
|
class IRoInterface : public BaseService {
|
||||||
|
public:
|
||||||
|
IRoInterface(const DeviceState &state, ServiceManager &manager);
|
||||||
|
};
|
||||||
|
}
|
@ -47,6 +47,7 @@
|
|||||||
#include "mmnv/IRequest.h"
|
#include "mmnv/IRequest.h"
|
||||||
#include "bt/IBluetoothUser.h"
|
#include "bt/IBluetoothUser.h"
|
||||||
#include "btm/IBtmUser.h"
|
#include "btm/IBtmUser.h"
|
||||||
|
#include "ro/IRoInterface.h"
|
||||||
#include "serviceman.h"
|
#include "serviceman.h"
|
||||||
|
|
||||||
#define SERVICE_CASE(class, name, ...) \
|
#define SERVICE_CASE(class, name, ...) \
|
||||||
@ -121,6 +122,7 @@ namespace skyline::service {
|
|||||||
SERVICE_CASE(bt::IBluetoothUser, "bt")
|
SERVICE_CASE(bt::IBluetoothUser, "bt")
|
||||||
SERVICE_CASE(btm::IBtmUser, "btm:u")
|
SERVICE_CASE(btm::IBtmUser, "btm:u")
|
||||||
SERVICE_CASE(nim::IShopServiceAccessServerInterface, "nim:eca")
|
SERVICE_CASE(nim::IShopServiceAccessServerInterface, "nim:eca")
|
||||||
|
SERVICE_CASE(ro::IRoInterface, "ldr:ro")
|
||||||
default:
|
default:
|
||||||
std::string_view nameString(span(reinterpret_cast<char *>(&name), sizeof(name)).as_string(true));
|
std::string_view nameString(span(reinterpret_cast<char *>(&name), sizeof(name)).as_string(true));
|
||||||
throw std::out_of_range(fmt::format("CreateService called with an unknown service name: {}", nameString));
|
throw std::out_of_range(fmt::format("CreateService called with an unknown service name: {}", nameString));
|
||||||
|
Loading…
Reference in New Issue
Block a user