mirror of
https://git.suyu.dev/suyu/suyu
synced 2024-12-26 03:13:15 -06:00
Merge pull request #11208 from german77/interface
service: am: Fix wrong interface ILibraryAppletSelfAccessor
This commit is contained in:
commit
35bdd5fff3
3 changed files with 55 additions and 3 deletions
|
@ -1317,6 +1317,50 @@ void ILibraryAppletCreator::CreateHandleStorage(HLERequestContext& ctx) {
|
||||||
rb.PushIpcInterface<IStorage>(system, std::move(memory));
|
rb.PushIpcInterface<IStorage>(system, std::move(memory));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ILibraryAppletSelfAccessor::ILibraryAppletSelfAccessor(Core::System& system_)
|
||||||
|
: ServiceFramework{system_, "ILibraryAppletSelfAccessor"} {
|
||||||
|
static const FunctionInfo functions[] = {
|
||||||
|
{0, nullptr, "PopInData"},
|
||||||
|
{1, nullptr, "PushOutData"},
|
||||||
|
{2, nullptr, "PopInteractiveInData"},
|
||||||
|
{3, nullptr, "PushInteractiveOutData"},
|
||||||
|
{5, nullptr, "GetPopInDataEvent"},
|
||||||
|
{6, nullptr, "GetPopInteractiveInDataEvent"},
|
||||||
|
{10, nullptr, "ExitProcessAndReturn"},
|
||||||
|
{11, nullptr, "GetLibraryAppletInfo"},
|
||||||
|
{12, nullptr, "GetMainAppletIdentityInfo"},
|
||||||
|
{13, nullptr, "CanUseApplicationCore"},
|
||||||
|
{14, nullptr, "GetCallerAppletIdentityInfo"},
|
||||||
|
{15, nullptr, "GetMainAppletApplicationControlProperty"},
|
||||||
|
{16, nullptr, "GetMainAppletStorageId"},
|
||||||
|
{17, nullptr, "GetCallerAppletIdentityInfoStack"},
|
||||||
|
{18, nullptr, "GetNextReturnDestinationAppletIdentityInfo"},
|
||||||
|
{19, nullptr, "GetDesirableKeyboardLayout"},
|
||||||
|
{20, nullptr, "PopExtraStorage"},
|
||||||
|
{25, nullptr, "GetPopExtraStorageEvent"},
|
||||||
|
{30, nullptr, "UnpopInData"},
|
||||||
|
{31, nullptr, "UnpopExtraStorage"},
|
||||||
|
{40, nullptr, "GetIndirectLayerProducerHandle"},
|
||||||
|
{50, nullptr, "ReportVisibleError"},
|
||||||
|
{51, nullptr, "ReportVisibleErrorWithErrorContext"},
|
||||||
|
{60, nullptr, "GetMainAppletApplicationDesiredLanguage"},
|
||||||
|
{70, nullptr, "GetCurrentApplicationId"},
|
||||||
|
{80, nullptr, "RequestExitToSelf"},
|
||||||
|
{90, nullptr, "CreateApplicationAndPushAndRequestToLaunch"},
|
||||||
|
{100, nullptr, "CreateGameMovieTrimmer"},
|
||||||
|
{101, nullptr, "ReserveResourceForMovieOperation"},
|
||||||
|
{102, nullptr, "UnreserveResourceForMovieOperation"},
|
||||||
|
{110, nullptr, "GetMainAppletAvailableUsers"},
|
||||||
|
{120, nullptr, "GetLaunchStorageInfoForDebug"},
|
||||||
|
{130, nullptr, "GetGpuErrorDetectedSystemEvent"},
|
||||||
|
{140, nullptr, "SetApplicationMemoryReservation"},
|
||||||
|
{150, nullptr, "ShouldSetGpuTimeSliceManually"},
|
||||||
|
};
|
||||||
|
RegisterHandlers(functions);
|
||||||
|
}
|
||||||
|
|
||||||
|
ILibraryAppletSelfAccessor::~ILibraryAppletSelfAccessor() = default;
|
||||||
|
|
||||||
IApplicationFunctions::IApplicationFunctions(Core::System& system_)
|
IApplicationFunctions::IApplicationFunctions(Core::System& system_)
|
||||||
: ServiceFramework{system_, "IApplicationFunctions"}, service_context{system,
|
: ServiceFramework{system_, "IApplicationFunctions"}, service_context{system,
|
||||||
"IApplicationFunctions"} {
|
"IApplicationFunctions"} {
|
||||||
|
|
|
@ -314,6 +314,12 @@ private:
|
||||||
void CreateHandleStorage(HLERequestContext& ctx);
|
void CreateHandleStorage(HLERequestContext& ctx);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class ILibraryAppletSelfAccessor final : public ServiceFramework<ILibraryAppletSelfAccessor> {
|
||||||
|
public:
|
||||||
|
explicit ILibraryAppletSelfAccessor(Core::System& system_);
|
||||||
|
~ILibraryAppletSelfAccessor() override;
|
||||||
|
};
|
||||||
|
|
||||||
class IApplicationFunctions final : public ServiceFramework<IApplicationFunctions> {
|
class IApplicationFunctions final : public ServiceFramework<IApplicationFunctions> {
|
||||||
public:
|
public:
|
||||||
explicit IApplicationFunctions(Core::System& system_);
|
explicit IApplicationFunctions(Core::System& system_);
|
||||||
|
|
|
@ -26,8 +26,10 @@ public:
|
||||||
{4, &ILibraryAppletProxy::GetDisplayController, "GetDisplayController"},
|
{4, &ILibraryAppletProxy::GetDisplayController, "GetDisplayController"},
|
||||||
{10, &ILibraryAppletProxy::GetProcessWindingController, "GetProcessWindingController"},
|
{10, &ILibraryAppletProxy::GetProcessWindingController, "GetProcessWindingController"},
|
||||||
{11, &ILibraryAppletProxy::GetLibraryAppletCreator, "GetLibraryAppletCreator"},
|
{11, &ILibraryAppletProxy::GetLibraryAppletCreator, "GetLibraryAppletCreator"},
|
||||||
{20, &ILibraryAppletProxy::GetApplicationFunctions, "GetApplicationFunctions"},
|
{20, &ILibraryAppletProxy::OpenLibraryAppletSelfAccessor, "OpenLibraryAppletSelfAccessor"},
|
||||||
{21, nullptr, "GetAppletCommonFunctions"},
|
{21, nullptr, "GetAppletCommonFunctions"},
|
||||||
|
{22, nullptr, "GetHomeMenuFunctions"},
|
||||||
|
{23, nullptr, "GetGlobalStateController"},
|
||||||
{1000, &ILibraryAppletProxy::GetDebugFunctions, "GetDebugFunctions"},
|
{1000, &ILibraryAppletProxy::GetDebugFunctions, "GetDebugFunctions"},
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
@ -100,12 +102,12 @@ private:
|
||||||
rb.PushIpcInterface<ILibraryAppletCreator>(system);
|
rb.PushIpcInterface<ILibraryAppletCreator>(system);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GetApplicationFunctions(HLERequestContext& ctx) {
|
void OpenLibraryAppletSelfAccessor(HLERequestContext& ctx) {
|
||||||
LOG_DEBUG(Service_AM, "called");
|
LOG_DEBUG(Service_AM, "called");
|
||||||
|
|
||||||
IPC::ResponseBuilder rb{ctx, 2, 0, 1};
|
IPC::ResponseBuilder rb{ctx, 2, 0, 1};
|
||||||
rb.Push(ResultSuccess);
|
rb.Push(ResultSuccess);
|
||||||
rb.PushIpcInterface<IApplicationFunctions>(system);
|
rb.PushIpcInterface<ILibraryAppletSelfAccessor>(system);
|
||||||
}
|
}
|
||||||
|
|
||||||
Nvnflinger::Nvnflinger& nvnflinger;
|
Nvnflinger::Nvnflinger& nvnflinger;
|
||||||
|
|
Loading…
Reference in a new issue