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>
35class KDSoapThreadTaskData
48 void waitForCompletion()
50 m_semaphore.acquire();
58 return m_responseHeaders;
66 QSemaphore m_semaphore;
72class KDSoapThreadTask :
public QObject
76 explicit KDSoapThreadTask(KDSoapThreadTaskData *data)
81 void process(QNetworkAccessManager &accessManager);
82 void slotAuthenticationRequired(QNetworkReply *reply, QAuthenticator *authenticator);
91 KDSoapThreadTaskData *m_data;
94class KDSoapClientThread :
public QThread
98 explicit KDSoapClientThread(QObject *parent =
nullptr);
100 void enqueue(KDSoapThreadTaskData *taskData);
105 virtual void run()
override;
109 QQueue<KDSoapThreadTaskData *> m_queue;
110 QWaitCondition m_queueNotEmpty;
Definition: KDSoapAuthentication.h:37
Definition: KDSoapClientInterface.h:57
Definition: KDSoapMessage.h:35
Definition: KDSoapPendingCallWatcher.h:42