achievements_private.h (1078B)
1 // SPDX-FileCopyrightText: 2019-2023 Connor McLaughlin <stenzek@gmail.com> 2 // SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0) 3 4 #pragma once 5 6 #include "achievements.h" 7 8 #include "rc_client.h" 9 10 namespace Achievements { 11 12 /// Returns the rc_client instance. Should have the lock held. 13 rc_client_t* GetClient(); 14 15 const rc_client_user_game_summary_t& GetGameSummary(); 16 const std::string& GetGameIconPath(); 17 18 std::string GetAchievementBadgePath(const rc_client_achievement_t* achievement, int state, 19 bool download_if_missing = true); 20 std::string GetLeaderboardUserBadgePath(const rc_client_leaderboard_entry_t* entry); 21 22 void OpenLeaderboard(const rc_client_leaderboard_t* lboard); 23 bool OpenLeaderboardById(u32 leaderboard_id); 24 u32 GetOpenLeaderboardId(); 25 bool IsShowingAllLeaderboardEntries(); 26 void FetchNextLeaderboardEntries(); 27 28 const std::vector<rc_client_leaderboard_entry_list_t*>& GetLeaderboardEntryLists(); 29 const rc_client_leaderboard_entry_list_t* GetLeaderboardNearbyEntries(); 30 31 void CloseLeaderboard(); 32 33 } // namespace Achievements