IApplicationFunctions: Implement GetHealthWarningDisappearedSystemEvent

This commit is contained in:
Morph 2021-02-02 10:47:09 -05:00
parent d4ebc9a120
commit 13b08376b7
2 changed files with 14 additions and 1 deletions

View file

@ -1216,7 +1216,7 @@ IApplicationFunctions::IApplicationFunctions(Core::System& system_)
{141, &IApplicationFunctions::TryPopFromFriendInvitationStorageChannel, "TryPopFromFriendInvitationStorageChannel"}, {141, &IApplicationFunctions::TryPopFromFriendInvitationStorageChannel, "TryPopFromFriendInvitationStorageChannel"},
{150, nullptr, "GetNotificationStorageChannelEvent"}, {150, nullptr, "GetNotificationStorageChannelEvent"},
{151, nullptr, "TryPopFromNotificationStorageChannel"}, {151, nullptr, "TryPopFromNotificationStorageChannel"},
{160, nullptr, "GetHealthWarningDisappearedSystemEvent"}, {160, &IApplicationFunctions::GetHealthWarningDisappearedSystemEvent, "GetHealthWarningDisappearedSystemEvent"},
{170, nullptr, "SetHdcpAuthenticationActivated"}, {170, nullptr, "SetHdcpAuthenticationActivated"},
{180, nullptr, "GetLaunchRequiredVersion"}, {180, nullptr, "GetLaunchRequiredVersion"},
{181, nullptr, "UpgradeLaunchRequiredVersion"}, {181, nullptr, "UpgradeLaunchRequiredVersion"},
@ -1234,6 +1234,9 @@ IApplicationFunctions::IApplicationFunctions(Core::System& system_)
friend_invitation_storage_channel_event = Kernel::WritableEvent::CreateEventPair( friend_invitation_storage_channel_event = Kernel::WritableEvent::CreateEventPair(
kernel, "IApplicationFunctions:FriendInvitationStorageChannelEvent"); kernel, "IApplicationFunctions:FriendInvitationStorageChannelEvent");
health_warning_disappeared_system_event = Kernel::WritableEvent::CreateEventPair(
kernel, "IApplicationFunctions:HealthWarningDisappearedSystemEvent");
} }
IApplicationFunctions::~IApplicationFunctions() = default; IApplicationFunctions::~IApplicationFunctions() = default;
@ -1649,6 +1652,14 @@ void IApplicationFunctions::TryPopFromFriendInvitationStorageChannel(
rb.Push(ERR_NO_DATA_IN_CHANNEL); rb.Push(ERR_NO_DATA_IN_CHANNEL);
} }
void IApplicationFunctions::GetHealthWarningDisappearedSystemEvent(Kernel::HLERequestContext& ctx) {
LOG_DEBUG(Service_AM, "called");
IPC::ResponseBuilder rb{ctx, 2, 1};
rb.Push(RESULT_SUCCESS);
rb.PushCopyObjects(health_warning_disappeared_system_event.readable);
}
void InstallInterfaces(SM::ServiceManager& service_manager, NVFlinger::NVFlinger& nvflinger, void InstallInterfaces(SM::ServiceManager& service_manager, NVFlinger::NVFlinger& nvflinger,
Core::System& system) { Core::System& system) {
auto message_queue = std::make_shared<AppletMessageQueue>(system.Kernel()); auto message_queue = std::make_shared<AppletMessageQueue>(system.Kernel());

View file

@ -290,12 +290,14 @@ private:
void GetGpuErrorDetectedSystemEvent(Kernel::HLERequestContext& ctx); void GetGpuErrorDetectedSystemEvent(Kernel::HLERequestContext& ctx);
void GetFriendInvitationStorageChannelEvent(Kernel::HLERequestContext& ctx); void GetFriendInvitationStorageChannelEvent(Kernel::HLERequestContext& ctx);
void TryPopFromFriendInvitationStorageChannel(Kernel::HLERequestContext& ctx); void TryPopFromFriendInvitationStorageChannel(Kernel::HLERequestContext& ctx);
void GetHealthWarningDisappearedSystemEvent(Kernel::HLERequestContext& ctx);
bool launch_popped_application_specific = false; bool launch_popped_application_specific = false;
bool launch_popped_account_preselect = false; bool launch_popped_account_preselect = false;
s32 previous_program_index{-1}; s32 previous_program_index{-1};
Kernel::EventPair gpu_error_detected_event; Kernel::EventPair gpu_error_detected_event;
Kernel::EventPair friend_invitation_storage_channel_event; Kernel::EventPair friend_invitation_storage_channel_event;
Kernel::EventPair health_warning_disappeared_system_event;
}; };
class IHomeMenuFunctions final : public ServiceFramework<IHomeMenuFunctions> { class IHomeMenuFunctions final : public ServiceFramework<IHomeMenuFunctions> {