mirror of
https://github.com/skyline-emu/skyline.git
synced 2024-06-02 17:38:51 +02:00
c005d7df74
What was added: * Framebuffer * NativeActivity * NV Services * IOCTL Handler * NV Devices: * * /dev/nvmap - 0xC0080101, 0xC0080103, 0xC0200104, 0xC0180105, 0xC00C0109, 0xC008010E * * /dev/nvhost-as-gpu * * /dev/nvhost-channel - 0x40044801, 0xC0104809, 0xC010480B, 0xC018480C, 0x4004480D, 0xC020481A, 0x40084714 * * /dev/nvhost-ctrl * * /dev/nvhost-ctrl-gpu - 0x80044701, 0x80284702, 0xC0184706, 0xC0B04705, 0x80084714 * SVCs: * * SetMemoryAttribute * * CreateTransferMemory * * ResetSignal * * GetSystemTick * Addition of Compact Logger What was fixed: * SVCs: * * SetHeapSize * * SetMemoryAttribute * * QueryMemory * A release build would not set CMAKE_BUILD_TYPE to "RELEASE" * The logger code was simplified
81 lines
4.2 KiB
C++
81 lines
4.2 KiB
C++
#include "applet.h"
|
|
#include "appletController.h"
|
|
|
|
namespace skyline::kernel::service::am {
|
|
appletOE::appletOE(const DeviceState &state, ServiceManager &manager) : BaseService(state, manager, false, Service::am_appletOE, {
|
|
{0x0, SFUNC(appletOE::OpenApplicationProxy)}
|
|
}) {}
|
|
|
|
void appletOE::OpenApplicationProxy(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
|
manager.RegisterService(SRVREG(IApplicationProxy), session, response);
|
|
}
|
|
|
|
appletAE::appletAE(const DeviceState &state, ServiceManager &manager) : BaseService(state, manager, false, Service::am_appletAE, {
|
|
{0xC8, SFUNC(appletAE::OpenLibraryAppletProxy)},
|
|
{0x15E, SFUNC(appletAE::OpenApplicationProxy)},
|
|
}) {}
|
|
|
|
void appletAE::OpenLibraryAppletProxy(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
|
manager.RegisterService(SRVREG(ILibraryAppletProxy), session, response);
|
|
}
|
|
|
|
void appletAE::OpenApplicationProxy(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
|
manager.RegisterService(SRVREG(IApplicationProxy), session, response);
|
|
}
|
|
|
|
BaseProxy::BaseProxy(const DeviceState &state, ServiceManager &manager, Service serviceType, const std::unordered_map<u32, std::function<void(type::KSession &, ipc::IpcRequest &, ipc::IpcResponse &)>> &vTable) : BaseService(state, manager, false, serviceType, vTable) {}
|
|
|
|
void BaseProxy::GetCommonStateGetter(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
|
manager.RegisterService(SRVREG(ICommonStateGetter), session, response);
|
|
}
|
|
|
|
void BaseProxy::GetSelfController(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
|
manager.RegisterService(SRVREG(ISelfController), session, response);
|
|
}
|
|
|
|
void BaseProxy::GetWindowController(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
|
manager.RegisterService(SRVREG(IWindowController), session, response);
|
|
}
|
|
|
|
void BaseProxy::GetAudioController(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
|
manager.RegisterService(SRVREG(IAudioController), session, response);
|
|
}
|
|
|
|
void BaseProxy::GetDisplayController(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
|
manager.RegisterService(SRVREG(IDisplayController), session, response);
|
|
}
|
|
|
|
void BaseProxy::GetLibraryAppletCreator(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
|
manager.RegisterService(SRVREG(ILibraryAppletCreator), session, response);
|
|
}
|
|
|
|
void BaseProxy::GetDebugFunctions(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
|
manager.RegisterService(SRVREG(IDebugFunctions), session, response);
|
|
}
|
|
|
|
IApplicationProxy::IApplicationProxy(const DeviceState &state, ServiceManager &manager) : BaseProxy(state, manager, Service::am_IApplicationProxy, {
|
|
{0x0, SFUNC(BaseProxy::GetCommonStateGetter)},
|
|
{0x1, SFUNC(BaseProxy::GetSelfController)},
|
|
{0x2, SFUNC(BaseProxy::GetWindowController)},
|
|
{0x3, SFUNC(BaseProxy::GetAudioController)},
|
|
{0x4, SFUNC(BaseProxy::GetDisplayController)},
|
|
{0xB, SFUNC(BaseProxy::GetLibraryAppletCreator)},
|
|
{0x14, SFUNC(IApplicationProxy::GetApplicationFunctions)},
|
|
{0x3E8, SFUNC(BaseProxy::GetDebugFunctions)}
|
|
}) {}
|
|
|
|
void IApplicationProxy::GetApplicationFunctions(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
|
|
manager.RegisterService(SRVREG(IApplicationFunctions), session, response);
|
|
}
|
|
|
|
ILibraryAppletProxy::ILibraryAppletProxy(const DeviceState &state, ServiceManager &manager) : BaseProxy(state, manager, Service::am_ILibraryAppletProxy, {
|
|
{0x0, SFUNC(BaseProxy::GetCommonStateGetter)},
|
|
{0x1, SFUNC(BaseProxy::GetSelfController)},
|
|
{0x2, SFUNC(BaseProxy::GetWindowController)},
|
|
{0x3, SFUNC(BaseProxy::GetAudioController)},
|
|
{0x4, SFUNC(BaseProxy::GetDisplayController)},
|
|
{0xB, SFUNC(BaseProxy::GetLibraryAppletCreator)},
|
|
{0x3E8, SFUNC(BaseProxy::GetDebugFunctions)}
|
|
}) {}
|
|
}
|