8 #if QT_VERSION < QT_VERSION_CHECK(5,14,0)
11 #include <QRecursiveMutex>
17 #include <QNetworkReply>
22 using namespace std::chrono_literals;
31 class List :
public std::vector<RSSSite*>
59 const QString&
GetTitle()
const {
return m_title; }
61 const QString&
GetImage()
const {
return m_image; }
64 const QString&
GetURL()
const {
return m_url; }
65 const QString&
GetAuthor()
const {
return m_author; }
67 const QDateTime&
GetUpdated()
const {
return m_updated; }
69 std::chrono::minutes timeSinceLastUpdate(
void)
const;
82 static QUrl redirectUrl(
const QUrl& possibleRedirectUrl,
83 const QUrl& oldRedirectUrl) ;
96 #if QT_VERSION < QT_VERSION_CHECK(5,14,0)
97 mutable QMutex m_lock {QMutex::Recursive};
103 bool m_podcast {
false};
107 QNetworkReply *m_reply {
nullptr};
108 QNetworkAccessManager *m_manager {
nullptr};
111 void slotCheckRedirect(QNetworkReply* reply);
136 void slotRefreshRSS(
void);
137 void slotRSSRetrieved(
RSSSite *site);
140 void processAndInsertRSS(
RSSSite *site);
142 QTimer *m_timer {
nullptr};
144 std::chrono::hours m_updateFreq {6h};
150 #endif // RSSMANAGER_H