#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 ); }; 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 FavoriteSortCallback( const struct discHdr *a, const struct discHdr *b ); wString AvailableSearchChars; wString GameFilter; std::vector FilteredList; std::vector FullGameList; }; extern GameList gameList; #endif