ES-DE/es-app/src/scrapers/GamesDBJSONScraper.h
Leon Styhre 56ccba81d1 Removed all instances of hardcoded application directory entries
Also changed some source file headers
2023-12-15 18:33:02 +01:00

56 lines
1.6 KiB
C++

// SPDX-License-Identifier: MIT
//
// ES-DE
// GamesDBJSONScraper.h
//
// Functions specifically for scraping from thegamesdb.net
// Called from Scraper.
//
#ifndef ES_APP_SCRAPERS_GAMES_DB_JSON_SCRAPER_H
#define ES_APP_SCRAPERS_GAMES_DB_JSON_SCRAPER_H
#include "scrapers/Scraper.h"
namespace pugi
{
class xml_document;
}
void thegamesdb_generate_json_scraper_requests(
const ScraperSearchParams& params,
std::queue<std::unique_ptr<ScraperRequest>>& requests,
std::vector<ScraperSearchResult>& results);
void thegamesdb_generate_json_scraper_requests(
const std::string& gameIDs,
std::queue<std::unique_ptr<ScraperRequest>>& requests,
std::vector<ScraperSearchResult>& results);
class TheGamesDBJSONRequest : public ScraperHttpRequest
{
public:
TheGamesDBJSONRequest(std::queue<std::unique_ptr<ScraperRequest>>& requestsWrite,
std::vector<ScraperSearchResult>& resultsWrite,
const std::string& url)
: ScraperHttpRequest(resultsWrite, url)
, mRequestQueue(&requestsWrite)
{
}
TheGamesDBJSONRequest(std::vector<ScraperSearchResult>& resultsWrite, const std::string& url)
: ScraperHttpRequest(resultsWrite, url)
, mRequestQueue(nullptr)
{
}
protected:
void process(const std::unique_ptr<HttpReq>& req,
std::vector<ScraperSearchResult>& results) override;
bool isGameRequest() { return !mRequestQueue; }
std::queue<std::unique_ptr<ScraperRequest>>* mRequestQueue;
};
#endif // ES_APP_SCRAPERS_GAMES_DB_JSON_SCRAPER_H