TTKMusicPlayer  3.7.0.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
qsyncdeletedata.cpp
Go to the documentation of this file.
1 #include "qsyncdeletedata.h"
2 #include "qsyncdatainterface_p.h"
3 
4 QSyncDeleteData::QSyncDeleteData(QNetworkAccessManager *networkManager, QObject *parent)
5  : QSyncDataInterface(networkManager, parent)
6 {
7 
8 }
9 
10 void QSyncDeleteData::deleteDataOperator(const QString &bucket, const QString &fileName)
11 {
13  const QString &method = "DELETE";
14  const QString &url = TTK_SEPARATOR + fileName;
15  const QString &resource = TTK_SEPARATOR + bucket + url;
16  const QString &host = bucket + TTK_DOT + QSyncConfig::HOST;
17 
18  TTKStringMap headers;
19  headers.insert("Date", QSyncUtils::GMT());
20  headers.insert("Host", host);
21  headers.insert("Content-Type", "charset=utf-8");
22 
23  d->insertAuthorization(method, headers, resource);
24 
25  QNetworkRequest request;
26  request.setUrl("http://" + host + url);
27 
28  for(auto it = headers.constBegin(); it != headers.constEnd(); ++it)
29  {
30  request.setRawHeader(it.key().toUtf8(), it.value().toUtf8());
31  }
32 
33  QNetworkReply *reply = d->m_manager->deleteResource(request);
34  connect(reply, SIGNAL(finished()), SLOT(receiveDataFromServer()));
36 }
37 
39 {
40  QNetworkReply *reply = TTKObjectCast(QNetworkReply*, sender());
41  if(reply)
42  {
43  Q_EMIT deleteFileFinished(reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt() == 204);
44  reply->deleteLater();
45  }
46  else
47  {
48  Q_EMIT deleteFileFinished(false);
49  }
50 }
static QString GMT()
Definition: qsyncutils.cpp:84
void replyError(QNetworkReply::NetworkError error)
static QString HOST
Definition: qsyncconfig.h:32
The class of the sync cloud data interface.
#define TTK_DOT
Definition: ttkglobal.h:193
void deleteDataOperator(const QString &bucket, const QString &fileName)
QSyncDeleteData(QNetworkAccessManager *networkManager, QObject *parent=nullptr)
#define TTK_SEPARATOR
Definition: ttkglobal.h:195
#define TTK_SLOT
Definition: ttkqtglobal.h:165
virtual void receiveDataFromServer() overridefinal
void deleteFileFinished(bool state)
QMap< QString, QString > TTKStringMap
Definition: ttkqtglobal.h:190
#define QtNetworkErrorConnect(p, q, f, s)
Network error connect.
Definition: ttkqtcompat.h:59
#define TTK_D(Class)
Definition: ttkprivate.h:41
#define TTKObjectCast(x, y)
Definition: ttkqtglobal.h:60