diff options
| -rw-r--r-- | src/core/hle/service/am/am.cpp | 16 | ||||
| -rw-r--r-- | src/core/hle/service/am/am.h | 2 |
2 files changed, 16 insertions, 2 deletions
diff --git a/src/core/hle/service/am/am.cpp b/src/core/hle/service/am/am.cpp index a538f82e3..c3ac73131 100644 --- a/src/core/hle/service/am/am.cpp +++ b/src/core/hle/service/am/am.cpp | |||
| @@ -1270,7 +1270,8 @@ void ILibraryAppletCreator::CreateHandleStorage(Kernel::HLERequestContext& ctx) | |||
| 1270 | IApplicationFunctions::IApplicationFunctions(Core::System& system_) | 1270 | IApplicationFunctions::IApplicationFunctions(Core::System& system_) |
| 1271 | : ServiceFramework{system_, "IApplicationFunctions"}, gpu_error_detected_event{system.Kernel()}, | 1271 | : ServiceFramework{system_, "IApplicationFunctions"}, gpu_error_detected_event{system.Kernel()}, |
| 1272 | friend_invitation_storage_channel_event{system.Kernel()}, | 1272 | friend_invitation_storage_channel_event{system.Kernel()}, |
| 1273 | health_warning_disappeared_system_event{system.Kernel()} { | 1273 | notification_storage_channel_event{system.Kernel()}, health_warning_disappeared_system_event{ |
| 1274 | system.Kernel()} { | ||
| 1274 | // clang-format off | 1275 | // clang-format off |
| 1275 | static const FunctionInfo functions[] = { | 1276 | static const FunctionInfo functions[] = { |
| 1276 | {1, &IApplicationFunctions::PopLaunchParameter, "PopLaunchParameter"}, | 1277 | {1, &IApplicationFunctions::PopLaunchParameter, "PopLaunchParameter"}, |
| @@ -1322,7 +1323,7 @@ IApplicationFunctions::IApplicationFunctions(Core::System& system_) | |||
| 1322 | {131, nullptr, "SetDelayTimeToAbortOnGpuError"}, | 1323 | {131, nullptr, "SetDelayTimeToAbortOnGpuError"}, |
| 1323 | {140, &IApplicationFunctions::GetFriendInvitationStorageChannelEvent, "GetFriendInvitationStorageChannelEvent"}, | 1324 | {140, &IApplicationFunctions::GetFriendInvitationStorageChannelEvent, "GetFriendInvitationStorageChannelEvent"}, |
| 1324 | {141, &IApplicationFunctions::TryPopFromFriendInvitationStorageChannel, "TryPopFromFriendInvitationStorageChannel"}, | 1325 | {141, &IApplicationFunctions::TryPopFromFriendInvitationStorageChannel, "TryPopFromFriendInvitationStorageChannel"}, |
| 1325 | {150, nullptr, "GetNotificationStorageChannelEvent"}, | 1326 | {150, &IApplicationFunctions::GetNotificationStorageChannelEvent, "GetNotificationStorageChannelEvent"}, |
| 1326 | {151, nullptr, "TryPopFromNotificationStorageChannel"}, | 1327 | {151, nullptr, "TryPopFromNotificationStorageChannel"}, |
| 1327 | {160, &IApplicationFunctions::GetHealthWarningDisappearedSystemEvent, "GetHealthWarningDisappearedSystemEvent"}, | 1328 | {160, &IApplicationFunctions::GetHealthWarningDisappearedSystemEvent, "GetHealthWarningDisappearedSystemEvent"}, |
| 1328 | {170, nullptr, "SetHdcpAuthenticationActivated"}, | 1329 | {170, nullptr, "SetHdcpAuthenticationActivated"}, |
| @@ -1340,11 +1341,14 @@ IApplicationFunctions::IApplicationFunctions(Core::System& system_) | |||
| 1340 | 1341 | ||
| 1341 | Kernel::KAutoObject::Create(std::addressof(gpu_error_detected_event)); | 1342 | Kernel::KAutoObject::Create(std::addressof(gpu_error_detected_event)); |
| 1342 | Kernel::KAutoObject::Create(std::addressof(friend_invitation_storage_channel_event)); | 1343 | Kernel::KAutoObject::Create(std::addressof(friend_invitation_storage_channel_event)); |
| 1344 | Kernel::KAutoObject::Create(std::addressof(notification_storage_channel_event)); | ||
| 1343 | Kernel::KAutoObject::Create(std::addressof(health_warning_disappeared_system_event)); | 1345 | Kernel::KAutoObject::Create(std::addressof(health_warning_disappeared_system_event)); |
| 1344 | 1346 | ||
| 1345 | gpu_error_detected_event.Initialize("IApplicationFunctions:GpuErrorDetectedSystemEvent"); | 1347 | gpu_error_detected_event.Initialize("IApplicationFunctions:GpuErrorDetectedSystemEvent"); |
| 1346 | friend_invitation_storage_channel_event.Initialize( | 1348 | friend_invitation_storage_channel_event.Initialize( |
| 1347 | "IApplicationFunctions:FriendInvitationStorageChannelEvent"); | 1349 | "IApplicationFunctions:FriendInvitationStorageChannelEvent"); |
| 1350 | notification_storage_channel_event.Initialize( | ||
| 1351 | "IApplicationFunctions:NotificationStorageChannelEvent"); | ||
| 1348 | health_warning_disappeared_system_event.Initialize( | 1352 | health_warning_disappeared_system_event.Initialize( |
| 1349 | "IApplicationFunctions:HealthWarningDisappearedSystemEvent"); | 1353 | "IApplicationFunctions:HealthWarningDisappearedSystemEvent"); |
| 1350 | } | 1354 | } |
| @@ -1762,6 +1766,14 @@ void IApplicationFunctions::TryPopFromFriendInvitationStorageChannel( | |||
| 1762 | rb.Push(ERR_NO_DATA_IN_CHANNEL); | 1766 | rb.Push(ERR_NO_DATA_IN_CHANNEL); |
| 1763 | } | 1767 | } |
| 1764 | 1768 | ||
| 1769 | void IApplicationFunctions::GetNotificationStorageChannelEvent(Kernel::HLERequestContext& ctx) { | ||
| 1770 | LOG_DEBUG(Service_AM, "called"); | ||
| 1771 | |||
| 1772 | IPC::ResponseBuilder rb{ctx, 2, 1}; | ||
| 1773 | rb.Push(ResultSuccess); | ||
| 1774 | rb.PushCopyObjects(notification_storage_channel_event.GetReadableEvent()); | ||
| 1775 | } | ||
| 1776 | |||
| 1765 | void IApplicationFunctions::GetHealthWarningDisappearedSystemEvent(Kernel::HLERequestContext& ctx) { | 1777 | void IApplicationFunctions::GetHealthWarningDisappearedSystemEvent(Kernel::HLERequestContext& ctx) { |
| 1766 | LOG_DEBUG(Service_AM, "called"); | 1778 | LOG_DEBUG(Service_AM, "called"); |
| 1767 | 1779 | ||
diff --git a/src/core/hle/service/am/am.h b/src/core/hle/service/am/am.h index 184030a8e..c13aa5787 100644 --- a/src/core/hle/service/am/am.h +++ b/src/core/hle/service/am/am.h | |||
| @@ -295,6 +295,7 @@ private: | |||
| 295 | void GetGpuErrorDetectedSystemEvent(Kernel::HLERequestContext& ctx); | 295 | void GetGpuErrorDetectedSystemEvent(Kernel::HLERequestContext& ctx); |
| 296 | void GetFriendInvitationStorageChannelEvent(Kernel::HLERequestContext& ctx); | 296 | void GetFriendInvitationStorageChannelEvent(Kernel::HLERequestContext& ctx); |
| 297 | void TryPopFromFriendInvitationStorageChannel(Kernel::HLERequestContext& ctx); | 297 | void TryPopFromFriendInvitationStorageChannel(Kernel::HLERequestContext& ctx); |
| 298 | void GetNotificationStorageChannelEvent(Kernel::HLERequestContext& ctx); | ||
| 298 | void GetHealthWarningDisappearedSystemEvent(Kernel::HLERequestContext& ctx); | 299 | void GetHealthWarningDisappearedSystemEvent(Kernel::HLERequestContext& ctx); |
| 299 | 300 | ||
| 300 | bool launch_popped_application_specific = false; | 301 | bool launch_popped_application_specific = false; |
| @@ -302,6 +303,7 @@ private: | |||
| 302 | s32 previous_program_index{-1}; | 303 | s32 previous_program_index{-1}; |
| 303 | Kernel::KEvent gpu_error_detected_event; | 304 | Kernel::KEvent gpu_error_detected_event; |
| 304 | Kernel::KEvent friend_invitation_storage_channel_event; | 305 | Kernel::KEvent friend_invitation_storage_channel_event; |
| 306 | Kernel::KEvent notification_storage_channel_event; | ||
| 305 | Kernel::KEvent health_warning_disappeared_system_event; | 307 | Kernel::KEvent health_warning_disappeared_system_event; |
| 306 | }; | 308 | }; |
| 307 | 309 | ||