diff options
| author | LillyJadeKatrin <lilly.kitty.1988@gmail.com> | 2024-04-02 19:33:52 -0400 |
|---|---|---|
| committer | LillyJadeKatrin <lilly.kitty.1988@gmail.com> | 2024-05-01 07:04:32 -0400 |
| commit | 3bf5b8e610102d2db8b07e6821f7efea6ea5fc0a (patch) | |
| tree | 5dc289f539be935b0208b341249b6af847bb760f /Source | |
| parent | b05028da1f97ed55a21ac1f87077d003fa568efb (diff) | |
Handle Reset and Server Error client events.
Diffstat (limited to 'Source')
| -rw-r--r-- | Source/Core/Core/AchievementManager.cpp | 18 | ||||
| -rw-r--r-- | Source/Core/Core/AchievementManager.h | 2 |
2 files changed, 20 insertions, 0 deletions
diff --git a/Source/Core/Core/AchievementManager.cpp b/Source/Core/Core/AchievementManager.cpp index 350a591389..32524b7469 100644 --- a/Source/Core/Core/AchievementManager.cpp +++ b/Source/Core/Core/AchievementManager.cpp @@ -776,6 +776,18 @@ void AchievementManager::HandleGameCompletedEvent(const rc_client_event_t* clien nullptr); } +void AchievementManager::HandleResetEvent(const rc_client_event_t* client_event) +{ + INFO_LOG_FMT(ACHIEVEMENTS, "Reset requested by Achievement Mananger"); + Core::Stop(Core::System::GetInstance()); +} + +void AchievementManager::HandleServerErrorEvent(const rc_client_event_t* client_event) +{ + ERROR_LOG_FMT(ACHIEVEMENTS, "RetroAchievements server error: {} {}", + client_event->server_error->api, client_event->server_error->error_message); +} + static std::unique_ptr<OSD::Icon> DecodeBadgeToOSDIcon(const AchievementManager::Badge& badge) { if (badge.empty()) @@ -949,6 +961,12 @@ void AchievementManager::EventHandler(const rc_client_event_t* event, rc_client_ case RC_CLIENT_EVENT_GAME_COMPLETED: HandleGameCompletedEvent(event, client); break; + case RC_CLIENT_EVENT_RESET: + HandleResetEvent(event); + break; + case RC_CLIENT_EVENT_SERVER_ERROR: + HandleServerErrorEvent(event); + break; default: INFO_LOG_FMT(ACHIEVEMENTS, "Event triggered of unhandled type {}", event->type); break; diff --git a/Source/Core/Core/AchievementManager.h b/Source/Core/Core/AchievementManager.h index 289cb4158f..41f09f94b7 100644 --- a/Source/Core/Core/AchievementManager.h +++ b/Source/Core/Core/AchievementManager.h @@ -169,6 +169,8 @@ private: static void HandleAchievementChallengeIndicatorHideEvent(const rc_client_event_t* client_event); static void HandleAchievementProgressIndicatorShowEvent(const rc_client_event_t* client_event); static void HandleGameCompletedEvent(const rc_client_event_t* client_event, rc_client_t* client); + static void HandleResetEvent(const rc_client_event_t* client_event); + static void HandleServerErrorEvent(const rc_client_event_t* client_event); static void Request(const rc_api_request_t* request, rc_client_server_callback_t callback, void* callback_data, rc_client_t* client); |
