diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/hle/service/am/am.cpp | 34 | ||||
| -rw-r--r-- | src/core/hle/service/am/am.h | 3 |
2 files changed, 34 insertions, 3 deletions
diff --git a/src/core/hle/service/am/am.cpp b/src/core/hle/service/am/am.cpp index 55e428456..703a9b234 100644 --- a/src/core/hle/service/am/am.cpp +++ b/src/core/hle/service/am/am.cpp | |||
| @@ -1188,9 +1188,9 @@ IApplicationFunctions::IApplicationFunctions(Core::System& system_) | |||
| 1188 | {102, &IApplicationFunctions::SetApplicationCopyrightVisibility, "SetApplicationCopyrightVisibility"}, | 1188 | {102, &IApplicationFunctions::SetApplicationCopyrightVisibility, "SetApplicationCopyrightVisibility"}, |
| 1189 | {110, &IApplicationFunctions::QueryApplicationPlayStatistics, "QueryApplicationPlayStatistics"}, | 1189 | {110, &IApplicationFunctions::QueryApplicationPlayStatistics, "QueryApplicationPlayStatistics"}, |
| 1190 | {111, &IApplicationFunctions::QueryApplicationPlayStatisticsByUid, "QueryApplicationPlayStatisticsByUid"}, | 1190 | {111, &IApplicationFunctions::QueryApplicationPlayStatisticsByUid, "QueryApplicationPlayStatisticsByUid"}, |
| 1191 | {120, nullptr, "ExecuteProgram"}, | 1191 | {120, &IApplicationFunctions::ExecuteProgram, "ExecuteProgram"}, |
| 1192 | {121, nullptr, "ClearUserChannel"}, | 1192 | {121, &IApplicationFunctions::ClearUserChannel, "ClearUserChannel"}, |
| 1193 | {122, nullptr, "UnpopToUserChannel"}, | 1193 | {122, &IApplicationFunctions::UnpopToUserChannel, "UnpopToUserChannel"}, |
| 1194 | {123, &IApplicationFunctions::GetPreviousProgramIndex, "GetPreviousProgramIndex"}, | 1194 | {123, &IApplicationFunctions::GetPreviousProgramIndex, "GetPreviousProgramIndex"}, |
| 1195 | {124, nullptr, "EnableApplicationAllThreadDumpOnCrash"}, | 1195 | {124, nullptr, "EnableApplicationAllThreadDumpOnCrash"}, |
| 1196 | {130, &IApplicationFunctions::GetGpuErrorDetectedSystemEvent, "GetGpuErrorDetectedSystemEvent"}, | 1196 | {130, &IApplicationFunctions::GetGpuErrorDetectedSystemEvent, "GetGpuErrorDetectedSystemEvent"}, |
| @@ -1561,6 +1561,34 @@ void IApplicationFunctions::QueryApplicationPlayStatisticsByUid(Kernel::HLEReque | |||
| 1561 | rb.Push<u32>(0); | 1561 | rb.Push<u32>(0); |
| 1562 | } | 1562 | } |
| 1563 | 1563 | ||
| 1564 | void IApplicationFunctions::ExecuteProgram(Kernel::HLERequestContext& ctx) { | ||
| 1565 | LOG_WARNING(Service_AM, "(STUBBED) called"); | ||
| 1566 | |||
| 1567 | IPC::RequestParser rp{ctx}; | ||
| 1568 | [[maybe_unused]] const auto unk_1 = rp.Pop<u32>(); | ||
| 1569 | [[maybe_unused]] const auto unk_2 = rp.Pop<u32>(); | ||
| 1570 | const auto program_index = rp.Pop<u64>(); | ||
| 1571 | |||
| 1572 | IPC::ResponseBuilder rb{ctx, 2}; | ||
| 1573 | rb.Push(RESULT_SUCCESS); | ||
| 1574 | |||
| 1575 | system.ExecuteProgram(program_index); | ||
| 1576 | } | ||
| 1577 | |||
| 1578 | void IApplicationFunctions::ClearUserChannel(Kernel::HLERequestContext& ctx) { | ||
| 1579 | LOG_WARNING(Service_AM, "(STUBBED) called"); | ||
| 1580 | |||
| 1581 | IPC::ResponseBuilder rb{ctx, 2}; | ||
| 1582 | rb.Push(RESULT_SUCCESS); | ||
| 1583 | } | ||
| 1584 | |||
| 1585 | void IApplicationFunctions::UnpopToUserChannel(Kernel::HLERequestContext& ctx) { | ||
| 1586 | LOG_WARNING(Service_AM, "(STUBBED) called"); | ||
| 1587 | |||
| 1588 | IPC::ResponseBuilder rb{ctx, 2}; | ||
| 1589 | rb.Push(RESULT_SUCCESS); | ||
| 1590 | } | ||
| 1591 | |||
| 1564 | void IApplicationFunctions::GetPreviousProgramIndex(Kernel::HLERequestContext& ctx) { | 1592 | void IApplicationFunctions::GetPreviousProgramIndex(Kernel::HLERequestContext& ctx) { |
| 1565 | LOG_WARNING(Service_AM, "(STUBBED) called"); | 1593 | LOG_WARNING(Service_AM, "(STUBBED) called"); |
| 1566 | 1594 | ||
diff --git a/src/core/hle/service/am/am.h b/src/core/hle/service/am/am.h index 09c2d05bc..af97c303a 100644 --- a/src/core/hle/service/am/am.h +++ b/src/core/hle/service/am/am.h | |||
| @@ -287,6 +287,9 @@ private: | |||
| 287 | void SetApplicationCopyrightVisibility(Kernel::HLERequestContext& ctx); | 287 | void SetApplicationCopyrightVisibility(Kernel::HLERequestContext& ctx); |
| 288 | void QueryApplicationPlayStatistics(Kernel::HLERequestContext& ctx); | 288 | void QueryApplicationPlayStatistics(Kernel::HLERequestContext& ctx); |
| 289 | void QueryApplicationPlayStatisticsByUid(Kernel::HLERequestContext& ctx); | 289 | void QueryApplicationPlayStatisticsByUid(Kernel::HLERequestContext& ctx); |
| 290 | void ExecuteProgram(Kernel::HLERequestContext& ctx); | ||
| 291 | void ClearUserChannel(Kernel::HLERequestContext& ctx); | ||
| 292 | void UnpopToUserChannel(Kernel::HLERequestContext& ctx); | ||
| 290 | void GetPreviousProgramIndex(Kernel::HLERequestContext& ctx); | 293 | void GetPreviousProgramIndex(Kernel::HLERequestContext& ctx); |
| 291 | void GetGpuErrorDetectedSystemEvent(Kernel::HLERequestContext& ctx); | 294 | void GetGpuErrorDetectedSystemEvent(Kernel::HLERequestContext& ctx); |
| 292 | void GetFriendInvitationStorageChannelEvent(Kernel::HLERequestContext& ctx); | 295 | void GetFriendInvitationStorageChannelEvent(Kernel::HLERequestContext& ctx); |