24 #ifndef KDSOAPCLIENTTHREAD_P_H 25 #define KDSOAPCLIENTTHREAD_P_H 27 #include "KDSoapMessage.h" 28 #include "KDSoapAuthentication.h" 29 #include <QtCore/QWaitCondition> 30 #include <QtCore/QQueue> 31 #include <QtCore/QThread> 32 #include <QtCore/QMutex> 33 #include <QtCore/QSemaphore> 34 #include <QtNetwork/QNetworkAccessManager> 42 class KDSoapThreadTaskData
46 : m_iface(iface), m_method(method), m_message(message), m_action(action), m_headers(headers) {}
48 void waitForCompletion()
50 m_semaphore.acquire();
58 return m_responseHeaders;
66 QSemaphore m_semaphore;
72 class KDSoapThreadTask :
public QObject
76 explicit KDSoapThreadTask(KDSoapThreadTaskData *data)
79 void process(QNetworkAccessManager &accessManager);
86 void slotAuthenticationRequired(QNetworkReply *reply, QAuthenticator *authenticator);
89 KDSoapThreadTaskData *m_data;
92 class KDSoapClientThread :
public QThread
96 explicit KDSoapClientThread(QObject *parent =
nullptr);
98 void enqueue(KDSoapThreadTaskData *taskData);
103 virtual void run()
override;
107 QQueue<KDSoapThreadTaskData *> m_queue;
108 QWaitCondition m_queueNotEmpty;
112 #endif // KDSOAPCLIENTTHREAD_P_H Definition: KDSoapPendingCallWatcher.h:48
Definition: KDSoapAuthentication.h:43
Definition: KDSoapMessage.h:41
Definition: KDSoapClientInterface.h:63