31 #include <QNetworkAccessManager>
32 #include <QNetworkReply>
35 class swifty:
public QNetworkAccessManager
40 swifty(
const QString ¤t_version,
41 const QString &search_for_string,
43 QObject *parent):QNetworkAccessManager(parent)
45 m_current_version = m_newest_version = current_version;
46 m_search_for_string = search_for_string;
54 QString newest_version(
void)
const
56 return m_newest_version;
64 m_reply->deleteLater();
66 m_reply = get(QNetworkRequest(m_url));
68 SIGNAL(finished(
void)),
70 SLOT(slot_finished(
void)));
72 SIGNAL(readyRead(
void)),
74 SLOT(slot_ready_read(
void)));
79 QPointer<QNetworkReply> m_reply;
80 QString m_current_version;
81 QString m_newest_version;
82 QString m_search_for_string;
86 void slot_finished(
void)
89 m_reply->deleteLater();
91 auto index = m_buffer.indexOf(m_search_for_string.toUtf8());
95 auto version = m_buffer.mid
96 (index + m_search_for_string.toUtf8().length());
98 version = version.mid(0, version.indexOf(
'\n')).replace(
'"',
"").
101 if(m_current_version != version)
103 m_newest_version = version;
104 emit different(m_newest_version);
111 void slot_ready_read(
void)
113 while(m_reply && m_reply->bytesAvailable() > 0)
114 m_buffer.append(m_reply->readAll());
118 void different(
const QString &new_version);
Definition: biblioteq_swifty.h:36