17 #ifndef KDSOAPCLIENTTHREAD_P_H
18 #define KDSOAPCLIENTTHREAD_P_H
20 #include "KDSoapMessage.h"
21 #include "KDSoapAuthentication.h"
22 #include <QtCore/QWaitCondition>
23 #include <QtCore/QQueue>
24 #include <QtCore/QThread>
25 #include <QtCore/QMutex>
26 #include <QtCore/QSemaphore>
27 #include <QtNetwork/QNetworkAccessManager>
35 class KDSoapThreadTaskData
48 void waitForCompletion()
50 m_semaphore.acquire();
58 return m_responseHeaders;
72 class KDSoapThreadTask :
public QObject
76 explicit KDSoapThreadTask(KDSoapThreadTaskData *data)
81 void process(QNetworkAccessManager &accessManager);
82 void slotAuthenticationRequired(QNetworkReply *reply, QAuthenticator *authenticator);
91 KDSoapThreadTaskData *m_data;
94 class KDSoapClientThread :
public QThread
98 explicit KDSoapClientThread(
QObject *parent =
nullptr);
100 void enqueue(KDSoapThreadTaskData *taskData);
105 virtual void run()
override;
114 #endif // KDSOAPCLIENTTHREAD_P_H