#ifndef GAME_LIST_H_ #define GAME_LIST_H_ #include #include "wstring.hpp" #include "usbloader/disc.h" class GameList { public: GameList(); int ReadGameList(); int size() { return FilteredList.size(); }; int GameCount() { return FullGameList.size(); }; int FilterList(const wchar_t * gameFilter = NULL); int LoadUnfiltered(); struct discHdr * at(int i); struct discHdr * operator[](int i) { return at(i); }; struct discHdr * GetDiscHeader(const char * gameID); const wchar_t * GetCurrentFilter() { return GameFilter.c_str(); }; const wchar_t * GetAvailableSearchChars() { return AvailableSearchChars.c_str(); }; void SortList(); void clear(); protected: static bool NameSortCallback(const struct discHdr *a, const struct discHdr *b); static bool PlaycountSortCallback(const struct discHdr *a, const struct discHdr *b); static bool RankingSortCallback(const struct discHdr *a, const struct discHdr *b); wString AvailableSearchChars; wString GameFilter; std::vector FilteredList; std::vector FullGameList; }; extern GameList gameList; #endif