1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
#ifndef GELBOORUCLIENT_H #define GELBOORUCLIENT_H #include <curl/curl.h> #include <QString> #include <QThread> #include <QDir> #include <sstream> #include "nwutils.h" #include "curlresult.h" #include "tvshow.h" #include "filedownloadthread.h" #include "wallpaperdownloadclient.h" namespace Gelbooru { using WallpaperDownload::FetchThread; using WallpaperDownload::Rating; using WallpaperDownload::SearchResult; using WallpaperDownload::Entry; class Client : public WallpaperDownload::Client { public: Client(QString baseUrl = "http://gelbooru.com", int limit = 10, Rating ratingFilter = WallpaperDownload::ratingSafe); SearchResult fetchPostsBlocking(QString tagName, int page = 1); protected: Entry parseEntry(nw::Describer *de); SearchResult parseSearchResult(std::stringstream &ss, int limit); CURL* curlClient(QString tag, CurlResult& userdata, const unsigned int page = 1); }; } #endif // GELBOORUCLIENT_H