MCPcopy Create free account
hub / github.com/XorTroll/uLaunch / HandleGeneralChannelMessage

Function HandleGeneralChannelMessage

projects/uSystem/source/main.cpp:556–656  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

554 }
555
556 void HandleGeneralChannelMessage() {
557 AppletStorage sams_st;
558 if(R_SUCCEEDED(appletPopFromGeneralChannel(&sams_st))) {
559 ul::util::OnScopeExit close_sams_st([&]() {
560 appletStorageClose(&sams_st);
561 });
562
563 StorageReader sams_st_reader(sams_st);
564
565 // Note: are we expecting a certain size? (sometimes we get 0x10, others 0x800...)
566 const auto sams_st_size = sams_st_reader.GetSize();
567
568 SystemAppletMessageHeader sams_header;
569 UL_RC_ASSERT(sams_st_reader.Read(sams_header));
570 UL_LOG_INFO("SystemAppletMessageHeader [size: 0x%lX] { magic: 0x%X, unk: 0x%X, msg: %d, unk_2: 0x%X }", sams_st_size, sams_header.magic, sams_header.unk, static_cast<u32>(sams_header.msg), sams_header.unk_2);
571 if(sams_header.IsValid()) {
572 switch(sams_header.msg) {
573 case GeneralChannelMessage::Unk_Invalid: {
574 UL_LOG_WARN("Invalid general channel message!");
575 break;
576 }
577 case GeneralChannelMessage::RequestHomeMenu: {
578 HandleHomeButton();
579 break;
580 }
581 case GeneralChannelMessage::Unk_Sleep: {
582 HandleSleep();
583 break;
584 }
585 case GeneralChannelMessage::Unk_Shutdown: {
586 UL_RC_ASSERT(appletStartShutdownSequence());
587 break;
588 }
589 case GeneralChannelMessage::Unk_Reboot: {
590 UL_RC_ASSERT(appletStartRebootSequence());
591 break;
592 }
593 case GeneralChannelMessage::RequestJumpToSystemUpdate: {
594 UL_LOG_WARN("Got GeneralChannelMessage: RequestJumpToSystemUpdate");
595 break;
596 }
597 case GeneralChannelMessage::Unk_OverlayBrightValueChanged: {
598 UL_LOG_WARN("Got GeneralChannelMessage: Unk_OverlayBrightValueChanged");
599 break;
600 }
601 case GeneralChannelMessage::Unk_OverlayAutoBrightnessChanged: {
602 UL_LOG_WARN("Got GeneralChannelMessage: Unk_OverlayAutoBrightnessChanged");
603 break;
604 }
605 case GeneralChannelMessage::Unk_OverlayAirplaneModeChanged: {
606 UL_LOG_WARN("Got GeneralChannelMessage: Unk_OverlayAirplaneModeChanged");
607 break;
608 }
609 case GeneralChannelMessage::Unk_OverlayShown: {
610 UL_LOG_WARN("Got GeneralChannelMessage: Unk_OverlayShown");
611 break;
612 }
613 case GeneralChannelMessage::Unk_OverlayHidden: {

Callers 1

MainLoopFunction · 0.85

Calls 6

HandleHomeButtonFunction · 0.85
HandleSleepFunction · 0.85
GetSizeMethod · 0.80
ReadMethod · 0.80
ReadBufferMethod · 0.80
IsValidMethod · 0.45

Tested by

no test coverage detected