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
39 : m_iface(iface), m_method(method), m_message(message), m_action(action), m_headers(headers) {}
41 void waitForCompletion()
43 m_semaphore.acquire();
51 return m_responseHeaders;
59 QSemaphore m_semaphore;
65 class KDSoapThreadTask :
public QObject
69 explicit KDSoapThreadTask(KDSoapThreadTaskData *data)
72 void process(QNetworkAccessManager &accessManager);
79 void slotAuthenticationRequired(QNetworkReply *reply, QAuthenticator *authenticator);
82 KDSoapThreadTaskData *m_data;
85 class KDSoapClientThread :
public QThread
89 explicit KDSoapClientThread(QObject *parent =
nullptr);
91 void enqueue(KDSoapThreadTaskData *taskData);
96 virtual void run()
override;
100 QQueue<KDSoapThreadTaskData *> m_queue;
101 QWaitCondition m_queueNotEmpty;
105 #endif // KDSOAPCLIENTTHREAD_P_H Definition: KDSoapPendingCallWatcher.h:41
Definition: KDSoapAuthentication.h:36
Definition: KDSoapMessage.h:34
Definition: KDSoapClientInterface.h:56