/* This program is free software. It comes without any warranty, to * the extent permitted by applicable law. You can redistribute it * and/or modify it under the terms of the Do What The Fuck You Want * To Public License, Version 2, as published by Sam Hocevar. See * http://www.wtfpl.net/ for more details. */ #ifndef GAMEDETAILS_H #define GAMEDETAILS_H #include "globalconstants.h" #include "globals.h" #include "gamefile.h" #include "config.h" #include "util.h" #include #include #include class gameDetails { public: gameDetails(); std::vector extras; std::vector installers; std::vector patches; std::vector languagepacks; std::vector dlcs; std::string gamename; std::string product_id; std::string title; std::string icon; std::string serials; std::string changelog; std::string logo; std::string gameDetailsJson; std::string productJson; void filterWithPriorities(const gameSpecificConfig& config); void makeFilepaths(const DirectoryConfig& config); std::string getSerialsFilepath(); std::string getLogoFilepath(); std::string getIconFilepath(); std::string getChangelogFilepath(); std::string getGameDetailsJsonFilepath(); std::string getProductJsonFilepath(); Json::Value getDetailsAsJson(); std::vector getGameFileVector(); std::vector getGameFileVectorFiltered(const unsigned int& iType); void filterWithType(const unsigned int& iType); virtual ~gameDetails(); protected: void filterListWithPriorities(std::vector& list, const gameSpecificConfig& config); void filterListWithType(std::vector& list, const unsigned int& iType); private: std::string serialsFilepath; std::string logoFilepath; std::string iconFilepath; std::string changelogFilepath; std::string gameDetailsJsonFilepath; std::string productJsonFilepath; }; #endif // GAMEDETAILS_H