summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/hle/service/am/am.cpp44
-rw-r--r--src/core/hle/service/am/am.h6
-rw-r--r--src/core/hle/service/am/applet_ae.cpp8
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
1320ILibraryAppletSelfAccessor::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
1362ILibraryAppletSelfAccessor::~ILibraryAppletSelfAccessor() = default;
1363
1320IApplicationFunctions::IApplicationFunctions(Core::System& system_) 1364IApplicationFunctions::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
317class ILibraryAppletSelfAccessor final : public ServiceFramework<ILibraryAppletSelfAccessor> {
318public:
319 explicit ILibraryAppletSelfAccessor(Core::System& system_);
320 ~ILibraryAppletSelfAccessor() override;
321};
322
317class IApplicationFunctions final : public ServiceFramework<IApplicationFunctions> { 323class IApplicationFunctions final : public ServiceFramework<IApplicationFunctions> {
318public: 324public:
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;