diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/hle/service/am/am.cpp | 44 | ||||
| -rw-r--r-- | src/core/hle/service/am/am.h | 6 | ||||
| -rw-r--r-- | src/core/hle/service/am/applet_ae.cpp | 8 |
3 files changed, 55 insertions, 3 deletions
diff --git a/src/core/hle/service/am/am.cpp b/src/core/hle/service/am/am.cpp index 4f400d341..585675718 100644 --- a/src/core/hle/service/am/am.cpp +++ b/src/core/hle/service/am/am.cpp | |||
| @@ -1317,6 +1317,50 @@ void ILibraryAppletCreator::CreateHandleStorage(HLERequestContext& ctx) { | |||
| 1317 | rb.PushIpcInterface<IStorage>(system, std::move(memory)); | 1317 | rb.PushIpcInterface<IStorage>(system, std::move(memory)); |
| 1318 | } | 1318 | } |
| 1319 | 1319 | ||
| 1320 | ILibraryAppletSelfAccessor::ILibraryAppletSelfAccessor(Core::System& system_) | ||
| 1321 | : ServiceFramework{system_, "ILibraryAppletSelfAccessor"} { | ||
| 1322 | static const FunctionInfo functions[] = { | ||
| 1323 | {0, nullptr, "PopInData"}, | ||
| 1324 | {1, nullptr, "PushOutData"}, | ||
| 1325 | {2, nullptr, "PopInteractiveInData"}, | ||
| 1326 | {3, nullptr, "PushInteractiveOutData"}, | ||
| 1327 | {5, nullptr, "GetPopInDataEvent"}, | ||
| 1328 | {6, nullptr, "GetPopInteractiveInDataEvent"}, | ||
| 1329 | {10, nullptr, "ExitProcessAndReturn"}, | ||
| 1330 | {11, nullptr, "GetLibraryAppletInfo"}, | ||
| 1331 | {12, nullptr, "GetMainAppletIdentityInfo"}, | ||
| 1332 | {13, nullptr, "CanUseApplicationCore"}, | ||
| 1333 | {14, nullptr, "GetCallerAppletIdentityInfo"}, | ||
| 1334 | {15, nullptr, "GetMainAppletApplicationControlProperty"}, | ||
| 1335 | {16, nullptr, "GetMainAppletStorageId"}, | ||
| 1336 | {17, nullptr, "GetCallerAppletIdentityInfoStack"}, | ||
| 1337 | {18, nullptr, "GetNextReturnDestinationAppletIdentityInfo"}, | ||
| 1338 | {19, nullptr, "GetDesirableKeyboardLayout"}, | ||
| 1339 | {20, nullptr, "PopExtraStorage"}, | ||
| 1340 | {25, nullptr, "GetPopExtraStorageEvent"}, | ||
| 1341 | {30, nullptr, "UnpopInData"}, | ||
| 1342 | {31, nullptr, "UnpopExtraStorage"}, | ||
| 1343 | {40, nullptr, "GetIndirectLayerProducerHandle"}, | ||
| 1344 | {50, nullptr, "ReportVisibleError"}, | ||
| 1345 | {51, nullptr, "ReportVisibleErrorWithErrorContext"}, | ||
| 1346 | {60, nullptr, "GetMainAppletApplicationDesiredLanguage"}, | ||
| 1347 | {70, nullptr, "GetCurrentApplicationId"}, | ||
| 1348 | {80, nullptr, "RequestExitToSelf"}, | ||
| 1349 | {90, nullptr, "CreateApplicationAndPushAndRequestToLaunch"}, | ||
| 1350 | {100, nullptr, "CreateGameMovieTrimmer"}, | ||
| 1351 | {101, nullptr, "ReserveResourceForMovieOperation"}, | ||
| 1352 | {102, nullptr, "UnreserveResourceForMovieOperation"}, | ||
| 1353 | {110, nullptr, "GetMainAppletAvailableUsers"}, | ||
| 1354 | {120, nullptr, "GetLaunchStorageInfoForDebug"}, | ||
| 1355 | {130, nullptr, "GetGpuErrorDetectedSystemEvent"}, | ||
| 1356 | {140, nullptr, "SetApplicationMemoryReservation"}, | ||
| 1357 | {150, nullptr, "ShouldSetGpuTimeSliceManually"}, | ||
| 1358 | }; | ||
| 1359 | RegisterHandlers(functions); | ||
| 1360 | } | ||
| 1361 | |||
| 1362 | ILibraryAppletSelfAccessor::~ILibraryAppletSelfAccessor() = default; | ||
| 1363 | |||
| 1320 | IApplicationFunctions::IApplicationFunctions(Core::System& system_) | 1364 | IApplicationFunctions::IApplicationFunctions(Core::System& system_) |
| 1321 | : ServiceFramework{system_, "IApplicationFunctions"}, service_context{system, | 1365 | : ServiceFramework{system_, "IApplicationFunctions"}, service_context{system, |
| 1322 | "IApplicationFunctions"} { | 1366 | "IApplicationFunctions"} { |
diff --git a/src/core/hle/service/am/am.h b/src/core/hle/service/am/am.h index d4fd163da..3db09c214 100644 --- a/src/core/hle/service/am/am.h +++ b/src/core/hle/service/am/am.h | |||
| @@ -314,6 +314,12 @@ private: | |||
| 314 | void CreateHandleStorage(HLERequestContext& ctx); | 314 | void CreateHandleStorage(HLERequestContext& ctx); |
| 315 | }; | 315 | }; |
| 316 | 316 | ||
| 317 | class ILibraryAppletSelfAccessor final : public ServiceFramework<ILibraryAppletSelfAccessor> { | ||
| 318 | public: | ||
| 319 | explicit ILibraryAppletSelfAccessor(Core::System& system_); | ||
| 320 | ~ILibraryAppletSelfAccessor() override; | ||
| 321 | }; | ||
| 322 | |||
| 317 | class IApplicationFunctions final : public ServiceFramework<IApplicationFunctions> { | 323 | class IApplicationFunctions final : public ServiceFramework<IApplicationFunctions> { |
| 318 | public: | 324 | public: |
| 319 | explicit IApplicationFunctions(Core::System& system_); | 325 | explicit IApplicationFunctions(Core::System& system_); |
diff --git a/src/core/hle/service/am/applet_ae.cpp b/src/core/hle/service/am/applet_ae.cpp index 2764f7ceb..ee9d99a54 100644 --- a/src/core/hle/service/am/applet_ae.cpp +++ b/src/core/hle/service/am/applet_ae.cpp | |||
| @@ -26,8 +26,10 @@ public: | |||
| 26 | {4, &ILibraryAppletProxy::GetDisplayController, "GetDisplayController"}, | 26 | {4, &ILibraryAppletProxy::GetDisplayController, "GetDisplayController"}, |
| 27 | {10, &ILibraryAppletProxy::GetProcessWindingController, "GetProcessWindingController"}, | 27 | {10, &ILibraryAppletProxy::GetProcessWindingController, "GetProcessWindingController"}, |
| 28 | {11, &ILibraryAppletProxy::GetLibraryAppletCreator, "GetLibraryAppletCreator"}, | 28 | {11, &ILibraryAppletProxy::GetLibraryAppletCreator, "GetLibraryAppletCreator"}, |
| 29 | {20, &ILibraryAppletProxy::GetApplicationFunctions, "GetApplicationFunctions"}, | 29 | {20, &ILibraryAppletProxy::OpenLibraryAppletSelfAccessor, "OpenLibraryAppletSelfAccessor"}, |
| 30 | {21, nullptr, "GetAppletCommonFunctions"}, | 30 | {21, nullptr, "GetAppletCommonFunctions"}, |
| 31 | {22, nullptr, "GetHomeMenuFunctions"}, | ||
| 32 | {23, nullptr, "GetGlobalStateController"}, | ||
| 31 | {1000, &ILibraryAppletProxy::GetDebugFunctions, "GetDebugFunctions"}, | 33 | {1000, &ILibraryAppletProxy::GetDebugFunctions, "GetDebugFunctions"}, |
| 32 | }; | 34 | }; |
| 33 | // clang-format on | 35 | // clang-format on |
| @@ -100,12 +102,12 @@ private: | |||
| 100 | rb.PushIpcInterface<ILibraryAppletCreator>(system); | 102 | rb.PushIpcInterface<ILibraryAppletCreator>(system); |
| 101 | } | 103 | } |
| 102 | 104 | ||
| 103 | void GetApplicationFunctions(HLERequestContext& ctx) { | 105 | void OpenLibraryAppletSelfAccessor(HLERequestContext& ctx) { |
| 104 | LOG_DEBUG(Service_AM, "called"); | 106 | LOG_DEBUG(Service_AM, "called"); |
| 105 | 107 | ||
| 106 | IPC::ResponseBuilder rb{ctx, 2, 0, 1}; | 108 | IPC::ResponseBuilder rb{ctx, 2, 0, 1}; |
| 107 | rb.Push(ResultSuccess); | 109 | rb.Push(ResultSuccess); |
| 108 | rb.PushIpcInterface<IApplicationFunctions>(system); | 110 | rb.PushIpcInterface<ILibraryAppletSelfAccessor>(system); |
| 109 | } | 111 | } |
| 110 | 112 | ||
| 111 | Nvnflinger::Nvnflinger& nvnflinger; | 113 | Nvnflinger::Nvnflinger& nvnflinger; |